Page MenuHomeFreeBSD

Build gperf only if we're using g++, not clang++
ClosedPublic

Authored by emaste on Oct 2 2014, 9:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 23 2024, 10:47 PM
Unknown Object (File)
Feb 9 2024, 5:01 PM
Unknown Object (File)
Feb 9 2024, 3:35 PM
Unknown Object (File)
Feb 1 2024, 12:42 AM
Unknown Object (File)
Jan 12 2024, 5:43 PM
Unknown Object (File)
Jan 10 2024, 6:58 AM
Unknown Object (File)
Jan 10 2024, 6:58 AM
Unknown Object (File)
Jan 10 2024, 6:58 AM
Subscribers

Details

Summary

gperf is needed for building g++. For clang architectures (i386, amd64, arm) we don't need it.

Test Plan

exp-run in PR194103

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

emaste retitled this revision from to Build gperf only if we're using g++, not clang++.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added a reviewer: bapt.

This makes sense but would require an exp-run as many ports will expect gperf in base

bapt added a subscriber: antoine.

I added antoine in CC so that he can make an exp-run :)

sounds good - I submitted a PR to request an exp-run already in https://bugs.freebsd.org/194103

Would it make sense to make this a separate knob in src.opts.mk, then default it to off in the MK_CXX == no case?

Would it make sense to make this a separate knob in src.opts.mk, then default it to off in the MK_CXX == no case?

I don't think so. Both gcc and gperf will disappear from base, so anyone who would set a WITH_GPERF= knob should just instead install the gperf port today.

I do agree with @emaste on this, we already have too many options imho

Add man and info pages as noted by antoine@

(Note info page is duplicated since it's also in the broader info removal.)

bapt edited edge metadata.
This revision is now accepted and ready to land.Oct 9 2014, 10:44 PM
ngie added a reviewer: ngie.
In D886#10, @bapt wrote:

I do agree with @emaste on this, we already have too many options imho

FreeBSD as an OS has grown considerably over time. I would expect the options to grow with the number of new features in the OS.

A lot of stuff could and should be provided as packages. I was going to add options for ftpd, inetd, and tftpd soon because they can be supplemented/replaced with external packages (Isilon does that).

emaste updated this revision to Diff 1954.

Closed by commit rS272849 (authored by @emaste).

FreeBSD as an OS has grown considerably over time. I would expect the options to grow with the number of new features in the OS.

A lot of stuff could and should be provided as packages. I was going to add options for ftpd, inetd, and tftpd soon because they can be supplemented/replaced with external packages (Isilon does that).

I think we're in general agreement here. My point is that we are on a path to avoid having gperf in the src tree altogether, and my change disables it by default where clang is used today. So the way to get it if you need it is to install the port, not to add a knob to continue building it for now.