* [gentoo-commits] gentoo-x86 commit in sci-libs/ccp4-libs/files: 6.1.3-lapack.patch
@ 2011-03-14 17:05 Justin Lecher (jlec)
0 siblings, 0 replies; 2+ messages in thread
From: Justin Lecher (jlec) @ 2011-03-14 17:05 UTC (permalink / raw
To: gentoo-commits
jlec 11/03/14 17:05:42
Added: 6.1.3-lapack.patch
Log:
Use pkg-config to detect BLAS/LAPAACK libs
(Portage version: 2.2.0_alpha26/cvs/Linux x86_64)
Revision Changes Path
1.1 sci-libs/ccp4-libs/files/6.1.3-lapack.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch?rev=1.1&content-type=text/plain
Index: 6.1.3-lapack.patch
===================================================================
diff --git a/configure b/configure
index 833f483..bcfa62d 100755
--- a/configure
+++ b/configure
@@ -3226,574 +3226,14 @@ else
echo
echo "Warning: this option has not been extensively tested!"
echo "Please report problems to ccp4@ccp4.ac.uk"
- # Search for vendor LAPACK/BLAS first
- if test ! "$with_netlib_lapack" ; then
- # Initialise variables to blank
- lapackdir=
- XLAPACK_LIB=
- # Possible directories to check for vendor or pre-existing LAPACK or
- # BLAS - add to these if you want to test others
- trydirs="`echo $LD_LIBRARY_PATH |sed -e s/:/\ /g` /lib /usr/lib /usr/local/lib"
- # Possible library names
- # These are the names like xxxx where the library will be libxxxx.a
- # or libxxxx.so
- echo
- echo "Guessing names for native/vendor LAPACK and/or BLAS libraries"
- echo "on this system"
- case $system in
- linux | linux64 | linux32 )
- # linux users will usually have them in /usr/lib but don't call it
- trylapack="lapack"
- tryblas="blas"
- # if code is non_shared then this can lead to problems. both blas and lapack
- # need to be resolved even if they are not called!
- if test "$non_shared" = yes; then
- echo "You are compiling linux non_shared. This sometimes causes problems "
- echo " so checking for requirements."
- echo "Checking: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
- PROGRAM TESTLINK
-C A bit of scala code to test the linking
- real bf(3), bnorm
-c
- integer maxbmt
- parameter (maxbmt = 2)
- double precision B(maxbmt,maxbmt), eigval(maxbmt),
- $ eigvec(maxbmt,maxbmt), w(5*maxbmt)
- integer m, ia, ix, istat
-c
- B(1,1) = 1.00
- B(1,2) = 1.00
- B(2,1) = 1.00
- B(2,2) = 1.00
-c
- m = maxbmt
- ia = maxbmt
- ix = maxbmt
- call dsyev('N', 'L', m, B, ia, eigval, w, 5*maxbmt, istat)
- end
-EOF
- #firstly test without -lblas
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -llapack"
- echo $test_compile
- if { (eval $test_compile >& /dev/null ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "... only -llapack needed"
- XLAPACK_LIB="-llapack"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="lapack"
- noblas=yes
- trylapack=
- tryblas=
- else
- echo "more than just -llapack needed...."
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -llapack -lblas"
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "...-llapack and -lblas were needed"
- XLAPACK_LIB="-llapack -lblas"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="lapack blas"
- noblas=no
- trylapack=
- tryblas=
- else
- echo "....could not find either lapack or blas."
- fi
- fi
- fi
- # add 64 bit libs
- case $system in
- linux64 ) trydirs="/usr/lib64 ${trydirs}" ;;
- esac
-
- ;;
- osf1)
- # OSF1 has dxml (old version) and cxml
- # which should have both lapack and blas
- trylapack="dxml cxml"
- tryblas=
- trydirs="${trydirs} /usr/shlib"
- ;;
- irix)
- # Additional search paths for IRIX
- trydirs="${trydirs} /usr/lib32"
- # SCSL should have both LAPACK and BLAS
- trylapack="scs"
- tryblas="blas"
- ;;
- irix64)
- # Additional search paths for IRIX64
- trydirs="${trydirs} /usr/lib64"
- # SCSL should have both LAPACK and BLAS
- trylapack="scs"
- tryblas="blas"
- # Extra compiler flags?
- #XLAPACKFLAGS="-OPT:IEEE_NaN_inf=ON"
- ;;
- aix)
- # Additional search paths for AIX
- trydirs="${trydirs}"
- # AIX might have ESSL library - blas only I think
- trylapack=
- tryblas="essl"
- ;;
- hpux)
- # Additional search paths for HPUX
- trydirs="${trydirs} /opt/fortran/lib /opt/fortran/lib/pa2.0 /opt/mlib/lib/pa2.0"
- # HPUX should have both LAPACK (part of mlib) and BLAS
- trylapack="lapack"
- tryblas="blas"
- # Extra compiler flags?
- # +U77 required for ETIME function - this is already in XFFLAGS
- #XLAPACKFLAGS="+U77"
- ;;
-
- sunos | sunos64)
- # Sun has libraries with BLAS and LAPACK invoked using
- # -xlic_lib=sunperf
- trylapack=
- tryblas=
- echo "SunOs can use the Sun Performance Library (if installed)"
- echo "which has both BLAS and LAPACK 3.0"
- echo
- echo "Looking for a valid library to use..."
- echo
- # Loop over the possible library names
- try_libs="sunperf"
- for testlib in $try_libs
- do
- if test ! "$XLAPACK_LIB" ; then
- # Try running a test compile to see if this a valid library
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -dalign -xlic_lib=$testlib"
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "... -xlic_lib=$testlib is okay"
- XLAPACK_LIB="-dalign -xlic_lib=$testlib"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="$testlib"
- noblas=yes
- else
- # Compilation failed
- echo "... cannot use -xlic_lib=$testlib"
- fi
- # End of test for testlib
- fi
- # End of loop over possible lib names
- done
- # Report if no suitable library was found
- if test ! "$XLAPACK_LIB" ; then
- echo
- echo "No suitable LAPACK library was found."
- echo "This may be because the Sun Performance Library is not"
- echo "installed on your system"
- echo "Contact your system administrator or Sun vendor"
- fi
- ;;
- Darwin | Darwin32 | Darwin64 )
- # Darwin has libraries with BLAS and LAPACK invoked using
- # -framework vecLib
- echo "Darwin can use the vecLib Library (if installed)"
- echo "which has both BLAS and LAPACK 3.0"
- echo
- # This is a special case so try running a test compile
- echo "Checking: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -framework vecLib"
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "... -framework vecLib is okay"
- XLAPACK_LIB="-framework vecLib"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="vecLib"
- noblas=yes
- else
-#alternative linking for vecLib libraries
- case `uname -sr` in
- *Darwin\ 7.* ) test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -lcc_dynamic -Wl,-framework -Wl,vecLib" ;;
- * ) test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -Wl,-framework -Wl,vecLib" ;;
- esac
-
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "... -framework vecLib is okay"
- XLAPACK_LIB="-Wl,-framework -Wl,vecLib"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="-Wl,-framework -Wl,vecLib"
- noblas=yes
- else
- # Compilation failed
- echo "... cannot use -framework vecLib"
- echo
- fi
- fi
- trylapack=
- tryblas=
-# try the fink installation
- trydirs="${trydirs} /sw"
- ;;
- Darwin_ibm_compilers )
- # Darwin has libraries with BLAS and LAPACK invoked using
- # -framework vecLib
- echo "Darwin can use the vecLib Library (if installed)"
- echo "which has both BLAS and LAPACK 3.0"
- echo
- # This is a special case so try running a test compile
- echo "Checking: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- case `uname -sr` in
- Darwin\ 8* )
- XLAPACK_LIB="-L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lLAPACK -lBLAS"
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f $XLAPACK_LIB"
- ;;
- Darwin\ 7* )
- XLAPACK_LIB="-L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lLAPACK -lBLAS"
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -lcc_dynamic $XLAPACK_LIB"
- ;;
- *)
- XLAPACK_LIB="/System/Library/Frameworks/vecLib.Framework/Versions/Current/VecLib"
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f $XLAPACK_LIB"
- esac
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- echo "... -framework vecLib is okay"
- # Set the next two variables so that configure
- # doesn't try to build netlib libraries
- LAPACKLIB="vecLib"
- noblas=yes
- else
- # Compilation failed
- XLAPACK_LIB=""
- echo "... cannot use -framework vecLib"
- echo
- fi
- trylapack=
- tryblas=
-# try the fink installation
- trydirs="${trydirs} /sw"
- ;;
-
- Darwin_intel_compilers)
- # Darwin has libraries with BLAS and LAPACK invoked using
- # -F vecLib
- echo "Darwin can use the vecLib Library (if installed)"
- echo "which has both BLAS and LAPACK 3.0"
- echo
- # This is a special case so try running a test compile
- echo "Checking: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -Wl,-framework -Wl,vecLib"
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- # Compilation was okay
- # doesn't try to build netlib libraries
- XLAPACK_LIB="-F /System/Library/Frameworks -Qoption,ld,-framework -Qoption,ld,vecLib"
- LAPACKLIB="vecLib"
- noblas=yes
- else
- # Compilation failed
- echo "... cannot use -framework vecLib"
- echo
- fi
- trylapack=
- tryblas=
-# try the fink installation
- trydirs="${trydirs} /sw"
- ;;
-
-# linux_ia64_sgi_altix)
-# SGI Japan
- ia64_linux_intel)
- # Additional search paths for Linux/IA64
- trydirs="${trydirs} /opt/scsl/lib /usr/lib /usr/local/lib"
- # SCSL and MKL should have both LAPACK and BLAS
- trylapack="mkl_lapack scs lapack"
- tryblas="mkl scs blas"
- ;;
- linux_ibm_compilers )
- trylapack="lapack"
- tryblas="blas"
- ;;
- linux64_ibm_compilers )
- trydirs="/usr/lib64 ${trydirs}"
- trylapack="lapack"
- tryblas="blas"
- ;;
- linux_intel_compilers )
- trydirs="/usr/lib64 ${trydirs}"
- trylapack="mkl_lapack lapack"
- tryblas="mkl blas"
- ;;
- *)
- echo "The guesses for this system may not be correct - please"
- echo "e-mail ccp4@ccp4.ac.uk if you have any extra information"
- echo
- # Default guess is just libblas
- trylapack="lapack"
- tryblas="blas"
- ;;
- esac
- #
- # Search for LAPACK libraries
- #
- # Write out what the guesses are
- if test "$trylapack" ; then
- echo "Possible LAPACK library names for this system:"
- for libname in $trylapack
- do
- echo " lib$libname"
- done
- # Possible library name extensions
- tryexts="a so dylib"
- # Now loop over all the possibilities and see if anything
- # turns up
- echo
- echo "Searching for libraries with LAPACK and BLAS:"
- for testdir in $trydirs
- do
- for testlib in $trylapack
- do
- for ext in $tryexts
- do
- if test ! "$LAPACKLIB"; then
- if test -s "$testdir/lib$testlib.$ext" ; then
- echo "...found LAPACK library: $testdir/lib$testlib.$ext"
- # Now try and link to a test program
- # This is really for IRIX where libraries can be
- # o32 or n32
- echo " Testing: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib"
- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib $XLDFLAGS"
- echo $test_compile
- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
- have_lapack=yes
- else
-# cover clapack option
- echo $test_ccompile
- if { (eval $test_ccompile ) 2>&1; } && test -s testlink ; then
- have_lapack=yes
- fi
- fi
- if test x$have_lapack = xyes ; then
- # This one is okay
- LAPACKLIB="$testlib"
- LAPACKDIR="$testdir"
- echo "Link ok - using lib$LAPACKLIB from $LAPACKDIR"
- #
- XLAPACK_LIB="-L$LAPACKDIR -l$LAPACKLIB"
- #
- # Test to see if we need BLAS too
- # Do this by trying to compile a test program
- # Use the LSAME test for now
- echo
- echo " * Checking whether we need a separate BLAS library *"
- echo " Testing: try linking library against test program"
- cd lib/lapack/test
- if test -f testlsame ; then
- rm -f testsame testlsame.o
- fi
- test_compile="$FC $FOPTIM $XFFLAGS -o testlsame lsametst.f -L$LAPACKDIR -l$LAPACKLIB"
- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlsame lsametst.f -L$LAPACKDIR -l$LAPACKLIB $XLDFLAGS"
- echo $test_compile
- if { ( eval $test_compile) 2>&1;} && test -s testlsame ; then
- have_blas=yes
- else
-#cblas route
- echo $test_ccompile
- if { ( eval $test_ccompile) 2>&1;} && test -s testlsame ; then
- have_blas=yes
- fi
- fi
- if test x$have_blas = xyes ; then
- echo "Test program okay - additional separate BLAS not required"
- noblas=yes
- else
- echo "Test program failed - need a separate BLAS library"
- fi
- cd ../../..
- else
- # Keep looking
- echo " link failed - cannot use lib$testlib"
- fi
- fi
- fi
- done
- done
- if test ! "$LAPACKLIB"; then
- echo "...nothing in $testdir"
- fi
- done
- fi
-
- # If LAPACKLIB hasn't been set at this point then no LAPACK library
- # was found
- if test ! "$LAPACKLIB" ; then
- echo
- echo "No pre-existing LAPACK library found - NetLib LAPACK will be built instead"
- make_lapack=lapacklib
- fi
- # Look for possible BLAS
- if test ! "$noblas" ; then
- if test "$tryblas" ; then
- echo
- echo "Possible BLAS library names for this system:"
- for libname in $tryblas
- do
- echo " lib$libname"
- done
- # Possible library name extensions
- tryexts="a so"
- # Now loop over all the possibilities and see if anything
- # turns up
- echo
- echo "Searching for libraries with BLAS:"
- for testdir in $trydirs
- do
- for testlib in $tryblas
- do
- for ext in $tryexts
- do
- if test ! "$BLASLIB"; then
- if test -s "$testdir/lib$testlib.$ext" ; then
- echo "...found BLAS library: $testdir/lib$testlib.$ext"
- # Now try and link to a test program
- # This is really for IRIX where libraries can be
- # o32 or n32
- echo " Testing: try to link library against test program"
- if test -f testlink.f || test -f testlink ; then
- rm -f testlink*
- fi
- cat > testlink.f <<EOF
-c Test fortran program to link against library
- PROGRAM TESTLINK
- IMPLICIT NONE
- INTEGER A
- A = 1
- STOP
- END
-EOF
- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib"
- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib $XLDFLAGS"
- echo $test_compile
- if { ( eval $test_compile) 2>&1;} && test -s testlink ; then
- have_blas=yes
- else
- echo $test_ccompile
- if { ( eval $test_compile) 2>&1;} && test -s testlink ; then
- have_blas=yes
- fi
- fi
- if test x$have_blas = xyes ; then
- # This one is okay
- BLASLIB="$testlib"
- BLASDIR="$testdir"
- BLASEXT="$ext"
- echo "Link ok - using lib$BLASLIB from $BLASDIR"
- XLAPACK_LIB="$XLAPACK_LIB -L$BLASDIR -l$BLASLIB"
- else
- # Keep looking
- echo " link failed - cannot use lib$testlib"
- fi
- fi
- fi
- done
- done
- if test ! "$BLASLIB"; then
- echo "...nothing in $testdir"
- fi
- done
- fi
- # Do we need to build BLAS too?
- if test ! "$BLASLIB" ; then
- echo
- echo "No pre-existing BLAS library was found - NetLib BLAS will be built instead"
- echo "This may result in poorer performance of the LAPACK routines"
- make_blas=blaslib
- BLASLIB=blas
- BLASDIR="$srcdir/lib/lapack"
- BLASEXT="a"
- fi
- fi
+ # gentoo is clever
+ make_blas=
+ make_lapack=
+ BLASLIB=$(pkg-config --libs lapack)
+ LAPACKLIB=$(pkg-config --libs lapack)
+ XLAPACK_LIB="${BLASLIB} ${LAPACKLIB}"
+ XFFLAGS_LAPACK="$(pkg-config --cflags lapack blas)"
# Otherwise force building of NetLib BLAS and LAPACK libs
- else
- echo
- echo "! Force building of NetLib BLAS and LAPACK..."
- make_blas=blaslib
- make_lapack=lapacklib
- BLASLIB=blas
- BLASDIR="$srcdir/lib/lapack"
- BLASEXT="a"
- fi
# need to know if we the lapack library was linked using the C or
# fortran linker
if test -f testlink.f || test -f testlink || test -f testlink.c ; then
@@ -3916,8 +3356,8 @@ RANLIB = ${RANLIB}
INSTALL_DATA = ${INSTALL_DATA}
libdir = $libdir
#
-BLASLIB = lib${BLASLIB}.${BLASEXT}
-LAPACKLIB = liblapack.a
+BLASLIB = ${BLASLIB}
+LAPACKLIB = ${LAPACKLIB}
#
# These variables define targets in the main Makefile
blaslib = ${make_blas}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] gentoo-x86 commit in sci-libs/ccp4-libs/files: 6.1.3-lapack.patch
@ 2013-02-27 16:46 Justin Lecher (jlec)
0 siblings, 0 replies; 2+ messages in thread
From: Justin Lecher (jlec) @ 2013-02-27 16:46 UTC (permalink / raw
To: gentoo-commits
jlec 13/02/27 16:46:49
Modified: 6.1.3-lapack.patch
Log:
sci-libs/ccp4-libs: Use PKG_CONFIG instead of generic pkg-config
(Portage version: 2.2.0_alpha163/cvs/Linux x86_64, signed Manifest commit with key 70EB7916)
Revision Changes Path
1.2 sci-libs/ccp4-libs/files/6.1.3-lapack.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch?r1=1.1&r2=1.2
Index: 6.1.3-lapack.patch
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sci-libs/ccp4-libs/files/6.1.3-lapack.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 6.1.3-lapack.patch 14 Mar 2011 17:05:42 -0000 1.1
+++ 6.1.3-lapack.patch 27 Feb 2013 16:46:49 -0000 1.2
@@ -567,10 +567,10 @@
+ # gentoo is clever
+ make_blas=
+ make_lapack=
-+ BLASLIB=$(pkg-config --libs lapack)
-+ LAPACKLIB=$(pkg-config --libs lapack)
++ BLASLIB=$(${PKG_CONFIG} --libs lapack)
++ LAPACKLIB=$(${PKG_CONFIG} --libs lapack)
+ XLAPACK_LIB="${BLASLIB} ${LAPACKLIB}"
-+ XFFLAGS_LAPACK="$(pkg-config --cflags lapack blas)"
++ XFFLAGS_LAPACK="$(${PKG_CONFIG} --cflags lapack blas)"
# Otherwise force building of NetLib BLAS and LAPACK libs
- else
- echo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-02-27 16:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-14 17:05 [gentoo-commits] gentoo-x86 commit in sci-libs/ccp4-libs/files: 6.1.3-lapack.patch Justin Lecher (jlec)
-- strict thread matches above, loose matches on Subject: below --
2013-02-27 16:46 Justin Lecher (jlec)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox