tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[patch] a concrete proposal for fixing the gcc c++ mixed-compiler issue



Thoughts? maybe guard this behaviour by a tunable?



Go over the GCC versions that are installed, and make the highest
installed one the minimum version, always. Pick the gfortran
version accordingly.

Make gfortran the default rather than g95.

Deprecate logic for picking GCC 3.0 for amd64 - it's unlikely to
be needed.

Index: gcc.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/compiler/gcc.mk,v
retrieving revision 1.179
diff -u -r1.179 gcc.mk
--- gcc.mk	25 Jun 2017 01:41:15 -0000	1.179
+++ gcc.mk	7 Jul 2017 04:01:48 -0000
@@ -94,11 +94,23 @@
 USE_PKGSRC_GCC?=	no
 USE_PKGSRC_GCC_RUNTIME?=no
 
-GCC_REQD+=	2.8.0
-
-# gcc2 doesn't support c99 and amd64
-.if !empty(USE_LANGUAGES:Mc99) || ${MACHINE_ARCH} == "x86_64"
-GCC_REQD+=	3.0
+.if exists(${LOCALBASE}/gcc6/bin/gcc)
+GCC_REQD+=		6.0
+GFORTRAN_VERSION=	6
+.elif exists(${LOCALBASE}/gcc5/bin/gcc)
+GCC_REQD+=		5.0
+GFORTRAN_VERSION=	5
+.elif exists(${LOCALBASE}/gcc49/bin/gcc)
+GCC_REQD+=		4.9
+GFORTRAN_VERSION=	49
+.elif exists(${LOCALBASE}/gcc48/bin/gcc)
+GCC_REQD+=		4.8
+GFORTRAN_VERSION=	48
+.elif exists(${LOCALBASE}/gcc44/bin/gcc)
+GCC_REQD+=		4.4
+GFORTRAN_VERSION=	44
+.else
+GCC_REQD+=		2.8.0
 .endif
 
 # Only one compiler defined here supports Ada: lang/gcc5-aux
@@ -898,7 +910,7 @@
 # The default is g95 as it supports a modern dialect, but it can
 # be overridden in mk.conf to use only f2c.
 #
-PKGSRC_FORTRAN?=g95
+PKGSRC_FORTRAN?=gfortran
 
 _GCC_NEEDS_A_FORTRAN=	no
 .if empty(_USE_PKGSRC_GCC:M[yY][eE][sS]) && !exists(${FCPATH})



Home | Main Index | Thread Index | Old Index