aboutsummaryrefslogtreecommitdiff
path: root/math/lapack
diff options
context:
space:
mode:
authorBrendan Fabeny <bf@FreeBSD.org>2010-08-30 07:31:34 +0000
committerBrendan Fabeny <bf@FreeBSD.org>2010-08-30 07:31:34 +0000
commit841bb20c30b1bac331505fc6c866181d10e08970 (patch)
tree457079030e1b69c20f9a408cbf3d650f7cb9aa9c /math/lapack
parent622b77a49217b2c32e0ca1a1fcf9c27e1a6e2c8b (diff)
downloadports-841bb20c30b1bac331505fc6c866181d10e08970.tar.gz
ports-841bb20c30b1bac331505fc6c866181d10e08970.zip
Respect LDFLAGS; add ELF DT_NEEDED tags to shared libraries;
use one toolchain consistently; minor cleanups; update to 3.2.2 PR: 117923 Approved by: maho (maintainer), makc (co-mentor)
Notes
Notes: svn path=/head/; revision=260183
Diffstat (limited to 'math/lapack')
-rw-r--r--math/lapack/Makefile63
-rw-r--r--math/lapack/distinfo6
-rw-r--r--math/lapack/files/patch-TESTING+LIN+Makefile30
-rw-r--r--math/lapack/files/patch-TESTING+Makefile14
-rw-r--r--math/lapack/files/patch-make.inc.gfortran33
-rw-r--r--math/lapack/pkg-plist4
6 files changed, 102 insertions, 48 deletions
diff --git a/math/lapack/Makefile b/math/lapack/Makefile
index 905a8e727067..77d2ba179687 100644
--- a/math/lapack/Makefile
+++ b/math/lapack/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= lapack
-PORTVERSION= 3.2.1
-PORTREVISION= 1
+PORTVERSION= 3.2.2
CATEGORIES= math
MASTER_SITES= ftp://ftp.netlib.org/lapack/ \
http://netlib.org/lapack/ \
@@ -36,11 +35,18 @@ MAKE_JOBS_SAFE= yes
MANSRC=${WRKDIR}/lapack-3.2.0
WRKSRC_SHARED=${WRKSRC}_shared
FFLAGS_SHARED=${FPIC}
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
WRKSRC_PROFILE=${WRKSRC}_profile
FFLAGS_PROFILE=-pg
+PLIST_SUB+= PROFILE=""
+.else
+PLIST_SUB+= PROFILE="@comment "
+.endif
SVERSION=4
-BLAS= -L${LOCALBASE}/lib -lblas
+BLAS?= -L${LOCALBASE}/lib -lblas
+RANLIB= ${LOCALBASE}/bin/ranlib
+AR= ${LOCALBASE}/bin/ar
pre-fetch:
@${ECHO} "You can override F77 and FFLAGS on the command line."
@@ -55,46 +61,51 @@ post-patch:
${REINPLACE_CMD} -Ee \
's,cd ([^ ;]+) *; *\$$\(MAKE\) *([[:alnum:]]*) *,${MAKE} -C \1 ${_MAKE_JOBS} \2,' \
${WRKSRC}/TESTING/Makefile
- @${REINPLACE_CMD} -e 's,%%F77%%,${F77},g' \
- -e 's,%%FFLAGS%%,${FFLAGS},g' \
- -e 's,%%BLAS%%,${BLAS},g' \
+ @${REINPLACE_CMD} -e 's;%%F77%%;${F77};g' \
+ -e 's;%%FFLAGS%%;${FFLAGS};g' \
+ -e 's;%%LDFLAGS%%;${LDFLAGS};g' \
+ -e 's;%%RANLIB%%;${RANLIB};g' \
+ -e 's;%%BLAS%%;${BLAS};g' \
${WRKSRC}/make.inc
@${CP} -r ${WRKSRC} ${WRKSRC_SHARED}
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
@${CP} -r ${WRKSRC} ${WRKSRC_PROFILE}
+.endif
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,,g' \
${WRKSRC}/make.inc
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_SHARED},g' \
${WRKSRC_SHARED}/make.inc
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
@${REINPLACE_CMD} -e 's,%%EXTRAFLAGS%%,${FFLAGS_PROFILE},g' \
${WRKSRC_PROFILE}/make.inc
+.endif
do-build:
@${ECHO_CMD} "Building static lapack library"
- ${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
+ ${MAKE} -C ${WRKSRC} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
@${ECHO_CMD} "Building shared lapack library"
- ${MAKE} -C ${WRKSRC_SHARED} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
+ ${MAKE} -C ${WRKSRC_SHARED} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
@${ECHO_CMD} "Building profile lapack library"
- ${MAKE} -C ${WRKSRC_PROFILE} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH=ar
+ ${MAKE} -C ${WRKSRC_PROFILE} ${.MAKEFLAGS} ${_MAKE_JOBS} ARCH="${AR}"
+.endif
post-build:
- ${CP} ${WRKSRC}/lapack_FREEBSD.a ${WRKSRC}/liblapack.a
- ${CP} ${WRKSRC}/tmglib_FREEBSD.a ${WRKSRC}/libtmglib.a
- ${CP} ${WRKSRC_SHARED}/lapack_FREEBSD.a ${WRKSRC_SHARED}/liblapack.a
- ${CP} ${WRKSRC_SHARED}/tmglib_FREEBSD.a ${WRKSRC_SHARED}/libtmglib.a
- ${CP} ${WRKSRC_PROFILE}/lapack_FREEBSD.a ${WRKSRC_PROFILE}/liblapack_p.a
- ${CP} ${WRKSRC_PROFILE}/tmglib_FREEBSD.a ${WRKSRC_PROFILE}/libtmglib_p.a
- cd ${WRKSRC_SHARED} ; ld -Bshareable -o liblapack.so.${SVERSION} -x -soname liblapack.so.${SVERSION} --whole-archive liblapack.a ; ${LN} -s liblapack.so.${SVERSION} liblapack.so
- cd ${WRKSRC_SHARED} ; ld -Bshareable -o libtmglib.so.${SVERSION} -x -soname libtmglib.so.${SVERSION} --whole-archive libtmglib.a ; ${LN} -s libtmglib.so.${SVERSION} libtmglib.so
+.for lib in lapack tmglib
+ cd ${WRKSRC_SHARED} ; ${FC} ${FFLAGS} ${FFLAGS_SHARED} ${LDFLAGS} -shared \
+ -o lib${lib}.so.${SVERSION} -Wl,-x -Wl,-soname,lib${lib}.so.${SVERSION} \
+ -Wl,--whole-archive lib${lib}.a -Wl,--no-whole-archive -Wl,--as-needed ${BLAS}
+.endfor
do-install:
- ${INSTALL_DATA} ${WRKSRC}/liblapack.a ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC}/libtmglib.a ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC_SHARED}/liblapack.so.${SVERSION} ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC_SHARED}/libtmglib.so.${SVERSION} ${PREFIX}/lib
- ${LN} -sf liblapack.so.${SVERSION} ${PREFIX}/lib/liblapack.so
- ${LN} -sf libtmglib.so.${SVERSION} ${PREFIX}/lib/libtmglib.so
- ${INSTALL_DATA} ${WRKSRC_PROFILE}/liblapack_p.a ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC_PROFILE}/libtmglib_p.a ${PREFIX}/lib
+.for lib in lapack tmglib
+ ${INSTALL_DATA} ${WRKSRC}/lib${lib}.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC_SHARED}/lib${lib}.so.${SVERSION} ${PREFIX}/lib
+ ${LN} -sf lib${lib}.so.${SVERSION} ${PREFIX}/lib/lib${lib}.so
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
+ ${INSTALL_DATA} ${WRKSRC_PROFILE}/lib${lib}.a ${PREFIX}/lib/lib${lib}_p.a
+.endif
+.endfor
${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[a-c]*.l ${PREFIX}/man/manl
${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[d-l]*.l ${PREFIX}/man/manl
${INSTALL_MAN} ${MANSRC}/manpages/man/manl/[m-s]*.l ${PREFIX}/man/manl
@@ -102,6 +113,6 @@ do-install:
regression-test check test: build
@${ECHO_CMD} "Testing static lapack library"
- ${MAKE} -C ${WRKSRC}/TESTING ${.MAKEFLAGS} ARCH=ar
+ ${MAKE} -C ${WRKSRC}/TESTING ${.MAKEFLAGS} ARCH="${AR}"
.include <bsd.port.post.mk>
diff --git a/math/lapack/distinfo b/math/lapack/distinfo
index 098d3d39328d..4db73b0df164 100644
--- a/math/lapack/distinfo
+++ b/math/lapack/distinfo
@@ -1,6 +1,6 @@
-MD5 (lapack/lapack-3.2.1.tgz) = a3202a4f9e2f15ffd05d15dab4ac7857
-SHA256 (lapack/lapack-3.2.1.tgz) = 5825f83971157001fd4235514afe8ff5fc16e1c06b2e872e442c242efd6c166d
-SIZE (lapack/lapack-3.2.1.tgz) = 4792502
+MD5 (lapack/lapack-3.2.2.tgz) = 10832891c9e8100f81108c1ec7da0da4
+SHA256 (lapack/lapack-3.2.2.tgz) = 880d89249cb0a6e7adc0b18daf56a41796c6f214bf5eeaccc0c0d231cd00094e
+SIZE (lapack/lapack-3.2.2.tgz) = 4819849
MD5 (lapack/manpages-3.2.0.tgz) = 145007cab915504caec382289462a166
SHA256 (lapack/manpages-3.2.0.tgz) = cac234e597f2b9388bf3d3c0549b8a56bf3867c6c554d844bb839039973861f6
SIZE (lapack/manpages-3.2.0.tgz) = 1016997
diff --git a/math/lapack/files/patch-TESTING+LIN+Makefile b/math/lapack/files/patch-TESTING+LIN+Makefile
index e311ad5268de..c99f71a87466 100644
--- a/math/lapack/files/patch-TESTING+LIN+Makefile
+++ b/math/lapack/files/patch-TESTING+LIN+Makefile
@@ -1,6 +1,18 @@
---- TESTING/LIN/Makefile 2009-02-11 02:23:05.000000000 +0900
-+++ TESTING/LIN/Makefile 2009-05-20 06:11:11.000000000 +0900
-@@ -71,13 +71,13 @@
+--- TESTING/LIN/Makefile.orig 2010-06-18 18:48:07.000000000 -0400
++++ TESTING/LIN/Makefile 2010-08-29 10:55:41.000000000 -0400
+@@ -34,11 +34,6 @@
+ #
+ #######################################################################
+
+-ifneq ($(strip $(VARLIB)),)
+- LAPACKLIB := $(VARLIB) ../../$(LAPACKLIB)
+-endif
+-
+-
+ ALINTST = \
+ aladhd.o alaerh.o alaesm.o alahd.o alareq.o \
+ alasum.o alasvm.o chkxer.o icopy.o ilaenv.o xlaenv.o xerbla.o
+@@ -76,13 +71,13 @@
strt02.o strt03.o strt05.o strt06.o \
stzt01.o stzt02.o sgennd.o
@@ -17,7 +29,7 @@
CLINTST = cchkaa.o \
cchkeq.o cchkgb.o cchkge.o cchkgt.o \
-@@ -111,13 +111,13 @@
+@@ -116,13 +111,13 @@
ctrt02.o ctrt03.o ctrt05.o ctrt06.o \
ctzt01.o ctzt02.o sget06.o cgennd.o
@@ -34,7 +46,7 @@
DLINTST = dchkaa.o \
dchkeq.o dchkgb.o dchkge.o dchkgt.o \
-@@ -148,13 +148,13 @@
+@@ -153,13 +148,13 @@
dtrt02.o dtrt03.o dtrt05.o dtrt06.o \
dtzt01.o dtzt02.o dgennd.o
@@ -51,7 +63,7 @@
ZLINTST = zchkaa.o \
zchkeq.o zchkgb.o zchkge.o zchkgt.o \
-@@ -188,13 +188,13 @@
+@@ -193,13 +188,13 @@
ztrt02.o ztrt03.o ztrt05.o ztrt06.o \
ztzt01.o ztzt02.o dget06.o zgennd.o
@@ -68,10 +80,12 @@
DSLINTST = dchkab.o \
ddrvab.o ddrvac.o derrab.o derrac.o dget08.o \
-@@ -246,5 +246,5 @@
+@@ -250,7 +245,7 @@
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstc && mv xlintstc $@
../xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST)
- $(LOADER) $(LOADOPTS) $^ \
-+ $(LOADER) $(LOADOPTS) ${.ALLSRC} \
++ $(LOADER) $(LOADOPTS) $(ALINTST) $(DLINTST) $(DZLNTST) \
../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstd && mv xlintstd $@
+ ../xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST)
diff --git a/math/lapack/files/patch-TESTING+Makefile b/math/lapack/files/patch-TESTING+Makefile
new file mode 100644
index 000000000000..512eace47c83
--- /dev/null
+++ b/math/lapack/files/patch-TESTING+Makefile
@@ -0,0 +1,14 @@
+--- TESTING/Makefile.orig 2010-08-29 10:57:23.000000000 -0400
++++ TESTING/Makefile 2010-08-29 10:57:43.000000000 -0400
+@@ -37,11 +37,6 @@
+
+ include ../make.inc
+
+-ifneq ($(strip $(VARLIB)),)
+- LAPACKLIB := $(VARLIB) ../$(LAPACKLIB)
+-endif
+-
+-
+ all: single complex double complex16 singleproto doubleproto complexproto complex16proto
+
+ SEIGTST= snep.out \
diff --git a/math/lapack/files/patch-make.inc.gfortran b/math/lapack/files/patch-make.inc.gfortran
index 8bc5c2efe903..3985e1f7decd 100644
--- a/math/lapack/files/patch-make.inc.gfortran
+++ b/math/lapack/files/patch-make.inc.gfortran
@@ -1,15 +1,14 @@
---- INSTALL/make.inc.gfortran.orig 2007-02-24 05:07:35.000000000 +0900
-+++ INSTALL/make.inc.gfortran 2007-09-29 10:22:01.000000000 +0900
-@@ -8,7 +8,7 @@
+--- INSTALL/make.inc.gfortran.orig 2009-04-16 14:10:16.000000000 -0400
++++ INSTALL/make.inc.gfortran 2010-08-29 10:41:02.000000000 -0400
+@@ -8,7 +8,6 @@
#
# The machine (platform) identifier to append to the library names
#
-PLAT = _LINUX
-+PLAT = _FREEBSD
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
-@@ -16,11 +16,11 @@
+@@ -16,12 +15,12 @@
# selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine.
#
@@ -20,17 +19,33 @@
DRVOPTS = $(OPTS)
-NOOPT = -O0
-LOADER = gfortran
+-LOADOPTS =
+NOOPT = -O0 %%EXTRAFLAGS%%
+LOADER = %%F77%%
- LOADOPTS =
++LOADOPTS = %%LDFLAGS%% %%EXTRAFLAGS%%
#
# Timer for the SECOND and DSECND routines
-@@ -48,7 +48,7 @@
+ #
+@@ -40,9 +39,8 @@
+ # The archiver and the flag(s) to use when building archive (library)
+ # If you system has no ranlib, set RANLIB = echo.
+ #
+-ARCH = ar
+ ARCHFLAGS= cr
+-RANLIB = ranlib
++RANLIB = %%RANLIB%%
+ #
+ # Location of the extended-precision BLAS (XBLAS) Fortran library
+ # used for building and testing extended-precision routines. The
+@@ -57,8 +55,8 @@
# machine-specific, optimized BLAS library should be used whenever
# possible.)
#
-BLASLIB = ../../blas$(PLAT).a
+-LAPACKLIB = lapack$(PLAT).a
+-TMGLIB = tmglib$(PLAT).a
+BLASLIB = %%BLAS%%
- LAPACKLIB = lapack$(PLAT).a
- TMGLIB = tmglib$(PLAT).a
++LAPACKLIB = liblapack$(PLAT).a
++TMGLIB = libtmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a
+ LINSRCLIB = linsrc$(PLAT).a
diff --git a/math/lapack/pkg-plist b/math/lapack/pkg-plist
index e7a39072f38f..b1c0eb1d0ec3 100644
--- a/math/lapack/pkg-plist
+++ b/math/lapack/pkg-plist
@@ -1,8 +1,8 @@
lib/liblapack.a
lib/liblapack.so
lib/liblapack.so.4
-lib/liblapack_p.a
+%%PROFILE%%lib/liblapack_p.a
lib/libtmglib.a
lib/libtmglib.so
lib/libtmglib.so.4
-lib/libtmglib_p.a
+%%PROFILE%%lib/libtmglib_p.a