svn commit: r336343 - in head: . Mk/Uses

Gerald Pfeifer gerald at pfeifer.com
Wed Feb 26 22:03:01 UTC 2014


On Tue, 17 Dec 2013, Baptiste Daroussin wrote:
>>> PS: I'm starting vacation as we speak and will have limited 
>>> connectivity the coming weeks, and likely none from the 17th 
>>> to the 27th.

With my notebook dying on me that took quite a bit longer (not a
lot of mail nor comitting via a cell phone ;-), but here we go...

>> To address the redundancy I think there are a number of things we
>> can do:
>> - I expect converting Fortran ports will be relatively straightforward
>>   so the Fortran bits in bsd.gcc.mk can eventually be removed.

This created more redundancy (and there will be more necessary 
unless the technical approach is revised to include the GCC 
handling code from Uses/fortran.mk if this is possible).

And it makes USES=fortran picking up the compiler specified with
USE_GCC=X.Y, as a number of committers/users have asked the last
months, harder.  I had an idea how to handle this.  Not so any more.

And it lost the documentation describing the knob a bit, such as 
the version of GCC being pulled in.


It really would have been nice, not to say appropriate, to at least 
share the patch that moved some chunks from a file maintained by me 
for years (and carrying my name as maintainer) with me up front.

This is the second time, though with a different portmgr approving
this one, within two months.  Not a happy experience on my side. :-(

(Rene, on the other hand, suggested two patches in the same time
frame and I managed to review and approve even while my notebook
was broken.  That is how I'd like to see FreeBSD work.)


>> - Use the bsd.default-versions.mk framework to set GCC_DEFAULT.  This
>>   allows users to set their preferred version of GCC in make.conf and
>>   provides a central place where both fortran.mk and compiler.mk can
>>   pick up the default GCC version instead of each having it hardcoded.
> I would love to see all of the above happening

Done per the patch below.

IMHO that should have been patch #1, to introduce that central knob.

Gerald

======== snip ========
Author: gerald
Date: Mon Feb 24 22:15:32 2014
New Revision: 345903
URL: http://svnweb.freebsd.org/changeset/ports/345903
QAT: https://qat.redports.org/buildarchive/r345903/

Log:
  Replace all uses of GCC_DEFAULT_VERSION by GCC_DEFAULT, remove the
  definition of the former from Mk/bsd.gcc.mk and add the latter --
  still set to 4.6 -- to Mk/bsd.default-versions.mk.
  
  Include Mk/bsd.default-versions.mk from Mk/bsd.gcc.mk to tie the
  two together.

Modified:
  head/Mk/bsd.default-versions.mk
  head/Mk/bsd.gcc.mk

Modified: head/Mk/bsd.default-versions.mk
==============================================================================
--- head/Mk/bsd.default-versions.mk	Mon Feb 24 22:15:01 2014	(r345902)
+++ head/Mk/bsd.default-versions.mk	Mon Feb 24 22:15:32 2014	(r345903)
@@ -18,6 +18,7 @@ ${_l:U}_DEFAULT=	${lang:C/.*=//g}
 .endfor
 
 APACHE_DEFAULT?=	2.2
+GCC_DEFAULT?=		4.6
 FPC_DEFAULT?=		2.6.2
 LUA_DEFAULT?=		5.2
 MYSQL_DEFAULT?=		5.5

Modified: head/Mk/bsd.gcc.mk
==============================================================================
--- head/Mk/bsd.gcc.mk	Mon Feb 24 22:15:01 2014	(r345902)
+++ head/Mk/bsd.gcc.mk	Mon Feb 24 22:15:32 2014	(r345903)
@@ -32,6 +32,8 @@
 
 GCC_Include_MAINTAINER=		gerald at FreeBSD.org
 
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+
 # All GCC versions supported by the ports framework.  Keep them in
 # ascending order and in sync with the table below. 
 GCCVERSIONS=	040200 040600 040700 040800 040900
@@ -45,14 +47,13 @@ GCCVERSION_040700=	     0       0 4.7
 GCCVERSION_040800=	     0       0 4.8
 GCCVERSION_040900=	     0       0 4.9
 
-GCC_DEFAULT_VERSION=	4.6
-GCC_DEFAULT_V=	${GCC_DEFAULT_VERSION:S/.//}
+GCC_DEFAULT_V=	${GCC_DEFAULT:S/.//}
 
 # No configurable parts below this. ####################################
 #
 
 .if defined(USE_GCC) && ${USE_GCC} == yes
-USE_GCC=	${GCC_DEFAULT_VERSION}+
+USE_GCC=	${GCC_DEFAULT}+
 .endif
 
 # Extract the fields from GCCVERSION_...
@@ -131,8 +132,8 @@ _GCC_FOUND:=	${_GCCVERSION_${v}_V}
 
 . if defined(_GCC_FOUND)
 _USE_GCC:=	${_GCC_FOUND}
-. elif ${_USE_GCC} < ${GCC_DEFAULT_VERSION}
-_USE_GCC:=	${GCC_DEFAULT_VERSION}
+. elif ${_USE_GCC} < ${GCC_DEFAULT}
+_USE_GCC:=	${GCC_DEFAULT}
 . endif
 .endif # defined(_GCC_ORLATER)
 
@@ -148,7 +149,7 @@ _USE_GCC:=	${GCC_DEFAULT_VERSION}
 .  if ${OSVERSION} < ${_GCCVERSION_${v}_L} || ${OSVERSION} > ${_GCCVERSION_${v}_R} || !exists(/usr/bin/gcc)
 V:=			${_GCCVERSION_${v}_V:S/.//}
 _GCC_PORT_DEPENDS:=	gcc${V}
-.   if ${_USE_GCC} == ${GCC_DEFAULT_VERSION}
+.   if ${_USE_GCC} == ${GCC_DEFAULT}
 _GCC_PORT:=		gcc
 .   else
 _GCC_PORT:=		gcc${V}


More information about the svn-ports-all mailing list