On Mon, Aug 22, 2016 at 05:03:16PM +0200, 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
Yes. Okay if that gets tested.