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.
This commit is contained in:
Tijl Coosemans 2013-12-13 13:22:32 +00:00
parent 6655bf7ec6
commit 7365cece2c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=336343
2 changed files with 53 additions and 0 deletions

14
CHANGES
View File

@ -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

39
Mk/Uses/fortran.mk Normal file
View File

@ -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