diff options
-rw-r--r-- | CHANGES | 14 | ||||
-rw-r--r-- | Mk/Uses/fortran.mk | 39 |
2 files changed, 53 insertions, 0 deletions
@@ -10,6 +10,20 @@ in the release notes and/or placed into UPDATING. All ports committers are allowed to commit to this file. +20131213: +AUTHOR: tijl@FreeBSD.org + + New USES=fortran to replace USE_FORTRAN. + + USE_FORTRAN=yes can be replaced with USES=fortran or USES=fortran:gcc. + USE_FORTRAN=ifort can be replaced with USES=fortran:ifort. + USE_FORTRAN=f77 is deprecated and the version of gcc it depends + on (lang/gcc34) is scheduled to be removed. + + Note that USE_FORTRAN=yes also makes GCC the C/C++ compiler while + USES=fortran only sets the Fortran compiler and can be used together + with Clang as C/C++ compiler. + 20131208: AUTHOR: mva@FreeBSD.org diff --git a/Mk/Uses/fortran.mk b/Mk/Uses/fortran.mk new file mode 100644 index 000000000000..f86b37d6ec06 --- /dev/null +++ b/Mk/Uses/fortran.mk @@ -0,0 +1,39 @@ +# $FreeBSD$ +# +# Fortran support +# +# MAINTAINER: fortran@FreeBSD.org +# +# Feature: fortran +# Usage: USES=fortran +# Valid ARGS: gcc (default), ifort + +.if !defined(_INCLUDE_USES_FORTRAN_MK) +_INCLUDE_USES_FORTRAN_MK= yes + +.if !defined(fortran_ARGS) +fortran_ARGS= gcc +.endif + +.if ${fortran_ARGS} == gcc +_GCC_VER= 46 +BUILD_DEPENDS+= gfortran${_GCC_VER}:${PORTSDIR}/lang/gcc +RUN_DEPENDS+= gfortran${_GCC_VER}:${PORTSDIR}/lang/gcc +USE_BINUTILS= yes +F77= gfortran${_GCC_VER} +FC= gfortran${_GCC_VER} +FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} +LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} +.elif ${fortran_ARGS} == ifort +BUILD_DEPENDS+= ${LOCALBASE}/intel_fc_80/bin/ifort:${PORTSDIR}/lang/ifc +RUN_DEPENDS+= ${LOCALBASE}/intel_fc_80/bin/ifort:${PORTSDIR}/lang/ifc +F77= ${LOCALBASE}/intel_fc_80/bin/ifort +FC= ${LOCALBASE}/intel_fc_80/bin/ifort +.else +IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS} +.endif + +CONFIGURE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" +MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" + +.endif |