Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Mar 2021 09:46:01 +0100 (CET)
From:      Gerald Pfeifer <gerald@pfeifer.com>
To:        Mathieu Arnold <mat@freebsd.org>, Piotr Kubaj <pkubaj@freebsd.org>,  Mark Linimon <linimon@lonesome.com>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org,  svn-ports-head@freebsd.org
Subject:   Re: svn commit: r568012 - head/net/tightvnc
Message-ID:  <739c1d5d-3a5f-cb4f-ebfa-56835044ac7e@pfeifer.com>
In-Reply-To: <20210317171958.znakfw7uj543uc7z@aching.in.mat.cc>
References:  <202103101603.12AG371X067963@repo.freebsd.org> <13e0fa6a-7ea4-d321-c75e-474eeb415ee9@pfeifer.com> <20210315112025.ij4l2oiegzkq2hhu@aching.in.mat.cc> <6fc69b3c-6b86-ffd9-9784-524868a8d951@pfeifer.com> <20210317111317.vlp7f7kqxwhwlsjd@aching.in.mat.cc> <20210317114507.edjpfbwtdd3krfdb@aching.in.mat.cc> <YFH8EjaCqdagExno@KGPE-D16> <20210317134119.bzvp2lfnpiewzl5k@aching.in.mat.cc> <YFIKC%2BtvNWzQy48y@KGPE-D16> <20210317171958.znakfw7uj543uc7z@aching.in.mat.cc>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 17 Mar 2021, Mathieu Arnold wrote:
> First step could probably be to make a patch for `any` mean `yes`,
> build stuff and look at the size of the explosion from afar.

On most architectures (i386, amd64, aarch64,...) `any` has been 
equivalent to `yes` for years. This even is the case for ppc on 
FreeBSD 13+.  No explosion ahead. :-)


On Wed, 17 Mar 2021, Piotr Kubaj wrote:
> I know what you mean and this will just make more work for people caring 
> about ARM / PPC. I add USE_GCC=any simply because there ARE issues with 
> clang

A key problem freshly introducing USE_GCC=any is that most developers 
later will test on i386, amd64, maybe aarch64, where `any` is equivalent 
to `yes` and implies GCC 10, which is *very* different.

Also, USE_GCC=any implies something *very* different in case of ppc on 
different version of FreeBSD. That alone is prone to cause more work.


On Wed, 17 Mar 2021, Mathieu Arnold wrote:
> I have no idea of the state of USE_GCC=any, as it is something nobody
> should use nowadays in favor of USE_GCC=yes (and Gerald says that often
> enough), I would have thought that those were old stuff that dated back
> from the dinosaurs era and that could be tried without gcc.

Most ports featuring USE_GCC=any fit your reference regarding the
dinosaurs era. :-)

As a first step, I am proposing the patch below.

Any objections? Other thoughts?

Gerald


Make USE_GCC=any equivalent to USE_GCC=yes across the board, which
already has been the case on amd64, aarch64, and i386 for years and
now also powerpc64 with FreeBSD 13.

Still leave USE_GCC=any in place for ports currently using that in
case someone wants to go through those.

Index: Mk/bsd.gcc.mk
===================================================================
--- Mk/bsd.gcc.mk	(revision 568719)
+++ Mk/bsd.gcc.mk	(working copy)
@@ -9,9 +9,6 @@
 # your port/system configuration.  This is the preferred use of USE_GCC.
 # It uses the canonical version of GCC defined in bsd.default-versions.mk.
 #
-# USE_GCC=any is similar, except that it also accepts the old GCC 4.2-
-# based system compiler where still present.
-# 
 # If your port needs a specific (minimum) version of GCC, you can easily
 # specify that with a USE_GCC= statement.  Unless absolutely necessary
 # do so by specifying USE_GCC=X+ which requests at least GCC version X.
@@ -24,11 +21,12 @@
 # If no arguments are specified, GCC is added as both a build dependency
 # and a run time dependency.
 #
+# (USE_GCC=any is deprecated and equivalent to USE_GCC=yes nowadays.)
+# 
 #
 # Examples:
 #   USE_GCC=	yes			# port requires a current version of GCC
 #							# as defined in bsd.default-versions.mk.
-#   USE_GCC=	any			# port requires GCC 4.2 or later.
 #   USE_GCC=	9+			# port requires GCC 9 or later.
 #   USE_GCC=	8			# port requires GCC 8.
 #   USE_GCC=	yes:build	# port requires a current version of GCC at
@@ -71,16 +69,6 @@
 
 .if defined(USE_GCC) && !defined(FORCE_BASE_CC_FOR_TESTING)
 
-.if ${USE_GCC} == any && exists(/usr/bin/gcc)
-CC:=		gcc
-CXX:=		g++
-. if exists(/usr/bin/gcpp)
-CPP:=		gcpp
-. else
-CPP:=		cpp
-. endif
-.else # The regular approach, not using the age-old base compiler.
-
 # Handle USE_GCC=yes and USE_GCC=any.
 .if ${USE_GCC} == yes || ${USE_GCC} == any
 USE_GCC=	${GCC_DEFAULT}+
@@ -154,8 +142,6 @@
 USE_BINUTILS=	yes
 .endif
 
-.endif # USE_GCC=any
-
 .endif # defined(_USE_GCC) && !defined(FORCE_BASE_CC_FOR_TESTING)
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?739c1d5d-3a5f-cb4f-ebfa-56835044ac7e>