diff options
author | Brendan Fabeny <bf@FreeBSD.org> | 2010-08-30 07:31:34 +0000 |
---|---|---|
committer | Brendan Fabeny <bf@FreeBSD.org> | 2010-08-30 07:31:34 +0000 |
commit | 841bb20c30b1bac331505fc6c866181d10e08970 (patch) | |
tree | 457079030e1b69c20f9a408cbf3d650f7cb9aa9c /math/lapack | |
parent | 622b77a49217b2c32e0ca1a1fcf9c27e1a6e2c8b (diff) |
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/Makefile | 63 | ||||
-rw-r--r-- | math/lapack/distinfo | 6 | ||||
-rw-r--r-- | math/lapack/files/patch-TESTING+LIN+Makefile | 30 | ||||
-rw-r--r-- | math/lapack/files/patch-TESTING+Makefile | 14 | ||||
-rw-r--r-- | math/lapack/files/patch-make.inc.gfortran | 33 | ||||
-rw-r--r-- | math/lapack/pkg-plist | 4 |
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 |