USE_GCC=any -> USE_GCC=yes (was: svn commit: r504198 - head/Mk)

Gerald Pfeifer gerald at pfeifer.com
Thu Jul 4 21:17:04 UTC 2019


On Thu, 4 Jul 2019, Mark Linimon wrote:
> But ... what I understand is that "any" means "it's ok to use base
> gcc".  That was always the intended difference to "yes" which means
> "you *must* use a recent gcc" [e.g. from ports].
> 
> I don't really see why we need to add the dependency on a newer gcc
> if the version in base suffices.  What am I missing here?

I think we agree that nearly all FreeBSD users and developers are on
amd64 (or i386)

When a port maintainer or committer sets USE_GCC=any she and (nearly) 
everyone else therefore uses GCC 8 as of today.

When that port is then built on powerpc64, USE_GCC=any implies the age 
old GCC 4.2 in base, and thus the build is attempted with a compiler 
very, very different from what the original maintainer/committer/testers
and users had.

> (Granted, this distinction becomes meaningless in FreeBSD e.g. 13 when
> base gcc is deleted -- but we will still be supporting 11/12 for quite
> some time to come.)

And rejoicing there will be! :)

>>> Most ports just need USES=compiler:*.
>> Yes, and that's where we should take action as well.
> And by default we have been doing that -- unless it is *known* that
> the port simply won't build with clang and thus requires USE_GCC.  
> OTOH there has been recently pushback that "you could have done the 
> same thing more minimally by" (specifying c99, etc.)
> 
> The problem is, we've tried to take the fastest route to getting as
> large a set of packages built as possible.  Thus:
> 
>   Mon Nov 19 13:48:26 UTC 2018          11304
>   Sun Jun 16 06:10:04 UTC 2019          27953
> 
> but again, a) we're getting pushback; b) in any case, work has to be
> done on ~120 ports to fix the "powerpc means gcc" assumption, which
> will soon be smashed in -CURRENT (per above).
> 
> (Frankly, except for the latter I would leave the whole issue alone.
> Even if we spend ~1hr/port to prove that c99 is "more minimal", that's
> still ~100 hours.)

I'm not proposing to make things more complicated or increase effort.

I'm proposing for USE_GCC=any to behave exactly the same on powerpc64
as it has been on amd64/i386 for years: Imply usage of a modern version 
of GCC coming from the ports tree.

That is: let's align powerpc64 with amd64/i386 instead of being different.

Makes sense?

Gerald


More information about the svn-ports-head mailing list