freebsd-ports/math/slatec/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

80 lines
2.2 KiB
Makefile

# Created by: Anton Shterenlikht
# $FreeBSD$
PORTNAME= slatec
PORTVERSION= 4.1
PORTREVISION= 1
CATEGORIES= math
MASTER_SITES= NL:slatec,blas
MASTER_SITE_SUBDIR= slatec/:slatec blas/:blas
NO_STAGE= yes
# Get d1mach.f, i1mach.f, r1mach.f from BLAS, rather than from Slatec:
# See Netlib FAQ #2.17: http://netlib.org/misc/faq.html#2.17
DISTFILES= guide:slatec slatec_chk.tgz:slatec slatec_src.tgz:slatec \
toc:slatec d1mach.f:blas i1mach.f:blas r1mach.f:blas
DIST_SUBDIR= slatec
EXTRACT_ONLY= slatec_src.tgz slatec_chk.tgz
MAINTAINER= mexas@bris.ac.uk
COMMENT= SLATEC Common Mathematical Library
USE_LDCONFIG= yes
USE_FORTRAN= yes
WRKSRC= ${WRKDIR}/src
SHLIB_MAJOR= 1
PLIST_FILES= lib/libslatec.a lib/libslatec.so lib/libslatec.so.${SHLIB_MAJOR}
PORTDOCS= guide toc
LDFLAGS+= ${FFLAGS}
LDADD ?= -lgfortran -lm
SRCCONF= /dev/null
MAKE_ENV+= LDADD="${LDADD}" SHLIB_MAJOR="${SHLIB_MAJOR}" \
SRCCONF="${SRCCONF}"
OPTIONS_DEFINE= DOCS PROFILE
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MPROFILE}
.if defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE)
IGNORE= you have selected PROFILE option, but have also defined\
WITHOUT_PROFILE, NOPROFILE, or NO_PROFILE
.elif !exists(/usr/lib/libc_p.a)
IGNORE= you have chosen WITH_PROFILE, but have not installed the\
base system profiling libraries
.endif
PLIST_FILES+= lib/libslatec_p.a
.else
MAKE_ENV+= NO_PROFILE=
.endif
post-extract:
@${CP} ${_DISTDIR}/[dir]1mach.f ${WRKSRC}
@cd ${WRKDIR}; ${MV} dfmat.f dgvec.f duivp.f duvec.f fmat.f gvec.f \
uivp.f uvec.f ${WRKSRC}
@${CP} ${FILESDIR}/makefile.lib ${WRKSRC}/Makefile
@${CP} ${FILESDIR}/makefile.test ${WRKDIR}/Makefile
TEST_VERBOSITY?= 1
check regression-test test: test-dynamic test-static
.for l in dynamic static
test-${l}: build
@${ECHO_CMD} "****** Testing SLATEC ${l} library,"
@${ECHO_CMD} "****** using a verbosity of ${TEST_VERBOSITY}."
@${ECHO_CMD} "****** (The verbosity level can be selected by defining"
@${ECHO_CMD} "****** TEST_VERBOSITY=0|1|2|3.)"
@cd ${WRKDIR}; ${SETENV} ${MAKE_ENV} TEST_VERBOSITY="${TEST_VERBOSITY}" \
${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} test-${l}
.endfor
post-install:
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
@cd ${_DISTDIR}; ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}
.endif
.include <bsd.port.mk>