Massive PORTS_REVISION bump after making gcc-9.1 default
Gerald Pfeifer
gerald at pfeifer.com
Sun Jul 28 18:56:49 UTC 2019
On Sun, 28 Jul 2019, Kevin Oberman wrote:
> The description of the commit states:
>
> This includes ports
> - with USE_GCC=yes or USE_GCC=any,
> - with USES=fortran,
> - using Mk/bsd.octave.mk which in turn features USES=fortran, and
> - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
> c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
> plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
>
> This would appear to me like it did catch a great many ports which are
> not build with or any anything to do will gcc, though I am not sure.
These ports may not use GCC on your system, or even the majority of
systems, but there are systems and situations where they do, and bumping
PORTREVISION is a global binary decision for each port considered.
> E.g. I thought that USES=compiler:c11 and similar were asking for
> c11 semantics from whatever compiler was used but
Let's look at your example. ports/Mk/Uses/compiler.mk has the following
on USES=compiler:c11:
.if ${_COMPILER_ARGS:Mc11}
.if !${COMPILER_FEATURES:Mc11}
.if (defined(FAVORITE_COMPILER) && ${FAVORITE_COMPILER} == gcc) ||
(${ARCH} != amd64 && ${ARCH} != i386) # clang not always supported on Tier-2
USE_GCC= yes
CHOSEN_COMPILER_TYPE= gcc
.elif ${COMPILER_TYPE} == gcc
That is, if a user has set a preference for GCC or for non x86/x86-64
platforms, GCC is used.
And if there is one legitimate configuration on the planet where a
PORTREVISION bump is required, we have to perform it in our repository.
(This is not saying I may not have made a mistake somewhere, but in
general those bumps do appear necessary.)
Gerald
More information about the freebsd-ports
mailing list