diff options
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/lapack/README | 3 | ||||
-rw-r--r-- | libraries/lapack/lapack.SlackBuild | 32 | ||||
-rw-r--r-- | libraries/lapack/lapack.info | 6 | ||||
-rw-r--r-- | libraries/lapack/patches/cmake-piecewise.diff | 84 |
4 files changed, 56 insertions, 69 deletions
diff --git a/libraries/lapack/README b/libraries/lapack/README index 462551d545..6cbfe89752 100644 --- a/libraries/lapack/README +++ b/libraries/lapack/README @@ -2,5 +2,8 @@ LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. +To build a static library in addition to the shared library, +pass STATIC=yes to the script. + Note: If you want good performance, then use the BLAS libraries provided by your CPU vendor, or OpenBLAS or atlas provided by SlackBuilds.org. diff --git a/libraries/lapack/lapack.SlackBuild b/libraries/lapack/lapack.SlackBuild index 043304447e..1397b7a9bf 100644 --- a/libraries/lapack/lapack.SlackBuild +++ b/libraries/lapack/lapack.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=lapack SRCNAM=lapack -VERSION=${VERSION:-3.7.1} +VERSION=${VERSION:-3.8.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -91,20 +91,22 @@ cd .. # cmake doesn't appear to let us build both shared and static libs # at the same time, so build it twice. This may build a non-PIC library # on some architectures, which should be faster. -mkdir -p static -cd static - cmake \ - -DCMAKE_Fortran_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_RULE_MESSAGES=OFF \ - -DCMAKE_VERBOSE_MAKEFILE=TRUE \ - -DUSE_OPTIMIZED_BLAS=ON \ - -DBUILD_LAPACK=ON \ - .. - make - make install/strip DESTDIR=$PKG -cd .. +if [ "${STATIC:-no}" != "no" ]; then + mkdir -p static + cd static + cmake \ + -DCMAKE_Fortran_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_RULE_MESSAGES=OFF \ + -DCMAKE_VERBOSE_MAKEFILE=TRUE \ + -DUSE_OPTIMIZED_BLAS=ON \ + -DBUILD_LAPACK=ON \ + .. + make + make install/strip DESTDIR=$PKG + cd .. +fi # Generate man pages. Also requires some fix-ups: # 0. Join all escaped newlines so the entire value is replaced. diff --git a/libraries/lapack/lapack.info b/libraries/lapack/lapack.info index 5e9e0ab16a..97063ebc9b 100644 --- a/libraries/lapack/lapack.info +++ b/libraries/lapack/lapack.info @@ -1,8 +1,8 @@ PRGNAM="lapack" -VERSION="3.7.1" +VERSION="3.8.0" HOMEPAGE="http://www.netlib.org/lapack/" -DOWNLOAD="https://github.com/Reference-LAPACK/lapack/archive/v3.7.1/lapack-3.7.1.tar.gz" -MD5SUM="9cd679ab1fd325ca964de70adcd33441" +DOWNLOAD="https://github.com/Reference-LAPACK/lapack/archive/v3.8.0/lapack-3.8.0.tar.gz" +MD5SUM="96591affdbf58c450d45c1daa540dbd2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="blas" diff --git a/libraries/lapack/patches/cmake-piecewise.diff b/libraries/lapack/patches/cmake-piecewise.diff index e5fd1d9c6c..8c2ac6c6a3 100644 --- a/libraries/lapack/patches/cmake-piecewise.diff +++ b/libraries/lapack/patches/cmake-piecewise.diff @@ -92,7 +92,7 @@ deleted file mode 100644 -get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH) - -# Load the LAPACK package with which we were built. --set(LAPACK_DIR "${_CBLAS_PREFIX}/@{LIBRARY_DIR@/cmake/lapack-@LAPACK_VERSION@") +-set(LAPACK_DIR "${_CBLAS_PREFIX}/@CMAKE_INSTALL_LIBDIR@/cmake/lapack-@LAPACK_VERSION@") -find_package(LAPACK NO_MODULE) - -# Load lapacke targets from the install tree. @@ -121,6 +121,19 @@ deleted file mode 100644 - endif() -endif() - +diff --git a/CBLAS/src/CMakeLists.txt b/CBLAS/src/CMakeLists.txt +--- a/CBLAS/src/CMakeLists.txt ++++ b/CBLAS/src/CMakeLists.txt +@@ -120,9 +120,5 @@ + VERSION ${LAPACK_VERSION} + SOVERSION ${LAPACK_MAJOR_VERSION} + ) +-target_include_directories(cblas PUBLIC +- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include> +- $<INSTALL_INTERFACE:include> +-) + target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) + lapack_install_library(cblas) diff --git a/CMAKE/lapack-config-build.cmake.in b/CMAKE/lapack-config-build.cmake.in deleted file mode 100644 --- a/CMAKE/lapack-config-build.cmake.in @@ -159,23 +172,7 @@ deleted file mode 100644 diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -8,6 +8,15 @@ - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" "Coverage") - endif() - -+string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) -+if(${CMAKE_BUILD_TYPE_UPPER} STREQUAL "COVERAGE") -+ message(STATUS "Adding coverage") -+ find_package(codecov) -+endif() -+ -+# By default static library -+option(BUILD_SHARED_LIBS "Build shared libraries" OFF) -+ - project(LAPACK Fortran C) - - set(LAPACK_MAJOR_VERSION 3) -@@ -96,11 +105,8 @@ +@@ -106,11 +106,8 @@ endif() # -------------------------------------------------- @@ -187,30 +184,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -@@ -111,10 +117,12 @@ - - # -------------------------------------------------- - # Testing -- -+option(BUILD_TESTING "Build tests" OFF) - enable_testing() - include(CTest) - enable_testing() -+message(STATUS "Build tests: ${BUILD_TESTING}") -+ - # -------------------------------------------------- - - # Organize output files. On Windows this also keeps .dll files next -@@ -128,33 +136,6 @@ +@@ -139,21 +136,6 @@ include(CheckLAPACKCompilerFlags) CheckLAPACKCompilerFlags() --string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER) --if(${CMAKE_BUILD_TYPE_UPPER} STREQUAL "COVERAGE") -- message(STATUS "Adding coverage") -- find_package(codecov) --endif() -- -# -------------------------------------------------- -# Check second function - @@ -226,16 +203,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) -set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) - --# By default static library --option(BUILD_SHARED_LIBS "Build shared libraries" OFF) -- --option(BUILD_TESTING "Build tests" OFF) --message(STATUS "Build tests: ${BUILD_TESTING}") -- # deprecated LAPACK and LAPACKE routines option(BUILD_DEPRECATED "Build deprecated routines" OFF) message(STATUS "Build deprecated routines: ${BUILD_DEPRECATED}") -@@ -178,8 +159,9 @@ +@@ -177,8 +159,9 @@ endif() # -------------------------------------------------- @@ -246,7 +217,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt # Check the usage of the user provided BLAS libraries if(BLAS_LIBRARIES) -@@ -190,213 +172,117 @@ +@@ -189,213 +172,117 @@ if(BLAS_FOUND) message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.") else() @@ -443,7 +414,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -if(NOT BLAS_FOUND) - set(ALL_TARGETS ${ALL_TARGETS} blas) -endif() - +- -if(NOT LATESTLAPACK_FOUND) - set(ALL_TARGETS ${ALL_TARGETS} lapack) -endif() @@ -458,7 +429,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -if(ALL_TARGETS) - install(EXPORT lapack-targets - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapack-${LAPACK_VERSION}) -- + - # Choose one of the lapack targets to use as a guard for - # lapack-config.cmake to load targets from the install tree. - list(GET ALL_TARGETS 0 _lapack_config_install_guard_target) @@ -527,7 +498,18 @@ diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt # Create a header file lapacke_mangling.h for the routines called in my C programs include(FortranCInterface) ## Ensure that the fortran compiler and c compiler specified are compatible -@@ -79,19 +77,3 @@ +@@ -60,10 +58,6 @@ + VERSION ${LAPACK_VERSION} + SOVERSION ${LAPACK_MAJOR_VERSION} + ) +-target_include_directories(lapacke PUBLIC +- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include> +- $<INSTALL_INTERFACE:include> +-) + + if(LAPACKE_WITH_TMG) + target_link_libraries(lapacke PRIVATE tmglib) +@@ -83,19 +77,3 @@ ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc DESTINATION ${PKG_CONFIG_DIR} ) @@ -578,7 +560,7 @@ deleted file mode 100644 -get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH) - -# Load the LAPACK package with which we were built. --set(LAPACK_DIR "${_LAPACKE_PREFIX}/@{LIBRARY_DIR@/cmake/lapack-@LAPACK_VERSION@") +-set(LAPACK_DIR "${_LAPACKE_PREFIX}/@CMAKE_INSTALL_LIBDIR@/cmake/lapack-@LAPACK_VERSION@") -find_package(LAPACK NO_MODULE) - -# Load lapacke targets from the install tree. |