2013-12-13 14:22:32 +01:00
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
# Fortran support
|
|
|
|
#
|
|
|
|
# Feature: fortran
|
|
|
|
# Usage: USES=fortran
|
2017-11-18 14:09:56 +01:00
|
|
|
# Valid ARGS: flang, gfortran (default)
|
2014-03-15 11:31:54 +01:00
|
|
|
#
|
|
|
|
# MAINTAINER: fortran@FreeBSD.org
|
2013-12-13 14:22:32 +01:00
|
|
|
|
|
|
|
.if !defined(_INCLUDE_USES_FORTRAN_MK)
|
|
|
|
_INCLUDE_USES_FORTRAN_MK= yes
|
|
|
|
|
2014-09-28 18:36:31 +02:00
|
|
|
.if empty(fortran_ARGS)
|
2017-11-18 14:09:56 +01:00
|
|
|
fortran_ARGS= ${FORTRAN_DEFAULT}
|
2013-12-13 14:22:32 +01:00
|
|
|
.endif
|
|
|
|
|
2017-10-24 21:13:01 +02:00
|
|
|
.if ${fortran_ARGS} == flang
|
|
|
|
.if ${ARCH} == amd64
|
2019-04-04 08:54:58 +02:00
|
|
|
BUILD_DEPENDS+= flang>0:devel/flang
|
|
|
|
RUN_DEPENDS+= flang>0:devel/flang
|
2017-10-24 21:13:01 +02:00
|
|
|
F77= flang
|
|
|
|
FC= flang
|
2017-11-18 12:26:21 +01:00
|
|
|
LDFLAGS+= -L${LOCALBASE}/flang/lib -Wl,--as-needed -lflang -lexecinfo -Wl,--no-as-needed
|
2017-10-24 21:13:01 +02:00
|
|
|
.else
|
|
|
|
IGNORE= USES=fortran: flang argument only available for amd64
|
|
|
|
.endif
|
2017-11-18 14:09:56 +01:00
|
|
|
.elif ${fortran_ARGS} == gfortran
|
2014-02-26 23:42:58 +01:00
|
|
|
_GCC_VER= ${GCC_DEFAULT:S/.//}
|
2016-03-27 03:23:25 +02:00
|
|
|
BUILD_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
|
|
|
|
RUN_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER}
|
2013-12-13 14:22:32 +01:00
|
|
|
F77= gfortran${_GCC_VER}
|
|
|
|
FC= gfortran${_GCC_VER}
|
|
|
|
FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
|
2014-02-16 18:15:31 +01:00
|
|
|
FCFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER}
|
2013-12-20 17:33:59 +01:00
|
|
|
LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \
|
2014-02-26 12:44:49 +01:00
|
|
|
-L${LOCALBASE}/lib/gcc${_GCC_VER} -B${LOCALBASE}/bin
|
2013-12-13 14:22:32 +01:00
|
|
|
.else
|
|
|
|
IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS}
|
|
|
|
.endif
|
|
|
|
|
2017-10-24 21:13:01 +02:00
|
|
|
USE_BINUTILS= yes
|
2014-02-16 18:15:31 +01:00
|
|
|
CONFIGURE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}"
|
|
|
|
MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}"
|
2013-12-13 14:22:32 +01:00
|
|
|
|
|
|
|
.endif
|