On Mon, 22 Aug 2016, David Coppa wrote: > On Mon, 22 Aug 2016, Christian Weisgerber wrote: > > > On 2016-08-22, Marc Espie <es...@nerim.net> wrote: > > > > >> - to use the newer fortran (egfortran) from gcc 4.9, it's better > > >> to use the MODGCC4_* macros (see math/R) > > >> > > >> After all this reasoning, ports/infrastructure/mk/fortran.port.mk > > >> has become a simple four-liner: > > >> > > >> So, why not just removing it completely? > > > > > > Nope, you never know when it might come back. > > > I'm for still having the extra layer in that case. > > > > Then shouldn't this layer cover the gcc/4.9 and g77 cases? > > If ports that require a newer fortran compiler can't even use that > > abstraction, then it's useless. > > Like this? > > Index: fortran.port.mk > =================================================================== > RCS file: /cvs/ports/infrastructure/mk/fortran.port.mk,v > retrieving revision 1.12 > diff -u -p -r1.12 fortran.port.mk > --- fortran.port.mk 20 Nov 2010 19:57:30 -0000 1.12 > +++ fortran.port.mk 22 Aug 2016 15:02:32 -0000 > @@ -7,35 +7,13 @@ ERRORS += "Fatal: need to specify MODFOR > .endif > > .if ${MODFORTRAN_COMPILER:L} == "g77" > -. if ${COMPILER_VERSION:L:Mgcc[34]*} > -_MODFORTRAN_LIB_DEPENDS_G77 = devel/libf2c > -_MODFORTRAN_WANTLIB_G77 = g2c > -_MODFORTRAN_BUILD_DEPENDS_G77 = lang/g77 devel/libf2c > -. else > -_MODFORTRAN_LIB_DEPENDS_G77 = devel/libf2c-old > -_MODFORTRAN_WANTLIB_G77 += g2c > -_MODFORTRAN_BUILD_DEPENDS_G77 = lang/g77-old devel/libf2c-old > -. endif > -MODFORTRAN_LIB_DEPENDS += ${_MODFORTRAN_LIB_DEPENDS_G77} > -MODFORTRAN_WANTLIB += ${_MODFORTRAN_WANTLIB_G77} > -MODFORTRAN_BUILD_DEPENDS += ${_MODFORTRAN_BUILD_DEPENDS_G77} > -MODFORTRAN_post-patch = \ > -if test -e /usr/bin/g77 -o -e /usr/bin/f77; then \ > - echo "Error: remove old fortran compiler /usr/bin/f77 /usr/bin/g77"; \ > - exit 1; \ > -fi > +MODFORTRAN_BUILD_DEPENDS += lang/g77 devel/libf2c > +MODFORTRAN_LIB_DEPENDS += devel/libf2c > +MODFORTRAN_WANTLIB += g2c > .elif ${MODFORTRAN_COMPILER:L} == "gfortran" > -. if ${COMPILER_VERSION:L:Mgcc4} > -_MODFORTRAN_LIB_DEPENDS_GFORTRAN = lang/gfortran,-lib > -_MODFORTRAN_WANTLIB_GFORTRAN = gfortran > -_MODFORTRAN_BUILD_DEPENDS_GFORTRAN = lang/gfortran > -. else > MODULES += gcc4 > +MODGCC4_ARCHS ?= * > MODGCC4_LANGS += fortran > -. endif > -MODFORTRAN_LIB_DEPENDS += ${_MODFORTRAN_LIB_DEPENDS_GFORTRAN} > -MODFORTRAN_WANTLIB += ${_MODFORTRAN_WANTLIB_GFORTRAN} > -MODFORTRAN_BUILD_DEPENDS += ${_MODFORTRAN_BUILD_DEPENDS_GFORTRAN} > .else > ERRORS += "Fatal: MODFORTRAN_COMPILER must be one of: g77 gfortran" > .endif
Result: $ cat infrastructure/mk/fortran.port.mk # $OpenBSD: fortran.port.mk,v 1.12 2010/11/20 19:57:30 espie Exp $ MODFORTRAN_COMPILER ?= g77 .if empty(MODFORTRAN_COMPILER) ERRORS += "Fatal: need to specify MODFORTRAN_COMPILER" .endif .if ${MODFORTRAN_COMPILER:L} == "g77" MODFORTRAN_BUILD_DEPENDS += lang/g77 devel/libf2c MODFORTRAN_LIB_DEPENDS += devel/libf2c MODFORTRAN_WANTLIB += g2c .elif ${MODFORTRAN_COMPILER:L} == "gfortran" MODULES += gcc4 MODGCC4_ARCHS ?= * MODGCC4_LANGS += fortran .else ERRORS += "Fatal: MODFORTRAN_COMPILER must be one of: g77 gfortran" .endif Ciao, David