freebsd-ports/benchmarks/himenobench/Makefile
Gerald Pfeifer 3be3e90f93 Update to libmpc version 1.0.1 which brings the following fixes:
- Switched to automake 1.11.6, see CVE-2012-3386.
 - #14669: Fixed extraction of CC from gmp.h.
 - Fixed case of intermediate zero real or imaginary part in mpc_fma,
   found by hydra with GMP_CHECK_RANDOMIZE=1346362345.

This is on top of the following changes from version 1.0

 - Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
   invariant sections) for the documentation.
 - 100% of all lines are covered by tests
 - Renamed functions
   . mpc_mul_2exp to mpc_mul_2ui
   . mpc_div_2exp to mpc_div_2ui
 - 0^0, which returned (NaN,NaN) previously, now returns (1,+0).
 - Removed compatibility with K&R compilers, which was untestable due
   to lack of such compilers.
 - New functions
   . mpc_log10
   . mpc_mul_2si, mpc_div_2si
 - Speed-ups
   . mpc_fma
 - Bug fixes
   . mpc_div and mpc_norm now return a value indicating the effective
     rounding direction, as the other functions.
   . mpc_mul, mpc_sqr and mpc_norm now return correct results even if
     there are over- or underflows during the computation.
   . mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has
     infinite part and equals output variable is corrected.
   . mpc_fr_sub: Wrong return value for imaginary part is corrected.

Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.

Bump PORTREVISIONS of all dependent ports.

PR:		183141
Approved by:	portmgr (bdrewery)
2013-10-26 00:52:33 +00:00

116 lines
4.9 KiB
Makefile

# Created by: NAKATA Maho <maho@FreeBSD.org>
# $FreeBSD$
PORTNAME= himenobench
PORTVERSION= 2004.08.16
PORTREVISION= 4
CATEGORIES= benchmarks
MASTER_SITES= http://accc.riken.jp/secure/4502/:C http://accc.riken.jp/secure/4503/:C \
http://accc.riken.jp/secure/4504/:F90 http://accc.riken.jp/secure/4505/:F77
DISTFILES= himenoBMTxp_xl.lzh:F77 himenoBMTxp_l.lzh:F77 himenoBMTxp_m.lzh:F77 \
himenoBMTxp_s.lzh:F77 cc_himenoBMTxp_xl.lzh:C cc_himenoBMTxp_l.lzh:C \
cc_himenoBMTxp_m.lzh:C cc_himenoBMTxp_s.lzh:C f90_xp.lzh:F90 himenobmtxpa.lzh:C
DIST_SUBDIR= himeno
MAINTAINER= maho@FreeBSD.org
COMMENT= Himeno bench benchmark, solves Poisson eq. with Jacobi's method
NO_WRKSUBDIR= yes
USE_LHA= yes
.if defined(WITH_ICC)
BUILD_DEPENDS= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc
.endif
USE_FORTRAN= yes
.if defined(WITH_IFC)
USE_FORTRAN= ifort
.endif
NO_STAGE= yes
.include <bsd.port.pre.mk>
.if defined(WITH_OPTIMIZED_FLAGS)
FFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations
CFLAGS+= -O2 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations
.endif
.if defined(WITH_ICC)
CFLAGS_ICC+= -O3 -tpp7 -axN -Vaxlib
ICC= ${LOCALBASE}/intel_cc_80/bin/icc
PLIST_SUB+= WITH_ICC=""
.else
PLIST_SUB+= WITH_ICC="@comment "
.endif
.if ${USE_FORTRAN} == ifort
FFLAGS_IFC+= -O3 -tpp7 -axN -Vaxlib -ipo
IFC= ${LOCALBASE}/intel_fc_80/bin/ifort
PLIST_SUB+= WITH_IFC=""
.else
PLIST_SUB+= WITH_IFC="@comment "
.endif
.if ${USE_FORTRAN} != yes
PLIST_SUB+= WITH_GFORTRAN="@comment "
.else
PLIST_SUB+= WITH_GFORTRAN=""
.endif
do-build:
.if ${USE_FORTRAN} == yes
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp himenobmtxp.f90
.endif
# cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_xl himenobmtxp_xl.f #Too large
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_l himenobmtxp_l.f
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_m himenobmtxp_m.f
cd ${WRKSRC} ; ${FC} ${FFLAGS} -o himenobmtxp_s himenobmtxp_s.f
# cd ${WRKSRC} ; ${CC} ${CFLAGS} -DELARGE -o himenobmtxps_xl himenobmtxps.c #Too large
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DLARGE -o himenobmtxps_l himenobmtxps.c
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DMIDDLE -o himenobmtxps_m himenobmtxps.c
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSMALL -o himenobmtxps_s himenobmtxps.c
cd ${WRKSRC} ; ${CC} ${CFLAGS} -DSSMALL -o himenobmtxps_ss himenobmtxps.c
cd ${WRKSRC} ; ${CC} ${CFLAGS} -o himenobmtxpa himenobmtxpa.c
.if defined(WITH_IFC)
# cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_xl.ifc himenobmtxp_xl.f #Too large
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_l.ifc himenobmtxp_l.f
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_m.ifc himenobmtxp_m.f
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp_s.ifc himenobmtxp_s.f
cd ${WRKSRC} ; ${IFC} ${FFLAGS_IFC} -o himenobmtxp.ifc himenobmtxp.f90
.endif
.if defined(WITH_ICC)
# cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DELARGE -o himenobmtxps_xl.icc himenobmtxps.c #Too large
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DLARGE -o himenobmtxps_l.icc himenobmtxps.c
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DMIDDLE -o himenobmtxps_m.icc himenobmtxps.c
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSMALL -o himenobmtxps_s.icc himenobmtxps.c
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -DSSMALL -o himenobmtxps_ss.icc himenobmtxps.c
cd ${WRKSRC} ; ${ICC} ${CFLAGS_ICC} -o himenobmtxpa.icc himenobmtxpa.c
.endif
do-install:
# ${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl ${PREFIX}/bin #Too large
.if ${USE_FORTRAN} == yes
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp ${PREFIX}/bin
.endif
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss ${PREFIX}/bin
.if defined(WITH_IFC)
# @${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_xl.ifc ${PREFIX}/bin #Too large
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_l.ifc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_m.ifc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp_s.ifc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxp.ifc ${PREFIX}/bin
.endif
.if defined(WITH_ICC)
# @${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_xl.icc ${PREFIX}/bin #Too large
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_l.icc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_m.icc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_s.icc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxps_ss.icc ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/himenobmtxpa.icc ${PREFIX}/bin
.endif
.include <bsd.port.post.mk>