tech-pkg archive

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

Re: compiler/gfortran.mk



On 2020-02-19 11:19, Greg Troxel wrote:
Jason Bacon <outpaddling%yahoo.com@localhost> writes:

I think matching base means a value of 5, not 5.5, because these
versions omit the point release number.   4.8.x is like 5.x, as I
understand it.
Right, the version specified in the .mk file would only include major
version if > 4.x.

My only concern is whether the package point release always matches
the base compiler, but I think matching the major version is an
improvement in any case over base GCC 5.5 + gfortran 4.8.
Fair enough concern, but we do not have multiple point releases of gcc
in pkgsrc, so there is no real possibility to match.
Here's what I came up with as a first-attempt.  Comments welcome...

--- gfortran.mk 22 Aug 2018 20:48:37 -0000      1.10
+++ gfortran.mk 21 Feb 2020 19:30:31 -0000
@@ -33,7 +33,14 @@

 .include "../../mk/bsd.prefs.mk"

-GFORTRAN_VERSION?=     48
+# If pkgsrc base compiler is GCC, match the gfortran requirement as closely as +# possible.  Otherwise, default to a mainstream version and hope for the best. +# If base compiler is clang/llvm, we really should use flang rather than gfortran.
+.if ${PKGSRC_COMPILER} == gcc
+GFORTRAN_VERSION?=     ${CC_VERSION:C/.[0-9].[0-9]$//:S/gcc-//}
+.else
+GFORTRAN_VERSION?=     7
+.endif

 .if !empty(PKGPATH:Mlang/gcc${GFORTRAN_VERSION}) || !empty(PKGPATH:Mdevel/patch) || \
     !empty(PKGPATH:Mdevel/libtool-base)




Home | Main Index | Thread Index | Old Index