summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/lapack/lapack.SlackBuild12
-rw-r--r--libraries/lapack/lapack.info6
-rw-r--r--libraries/lapack/patches/cmake-piecewise.diff94
3 files changed, 54 insertions, 58 deletions
diff --git a/libraries/lapack/lapack.SlackBuild b/libraries/lapack/lapack.SlackBuild
index 5b9ad6886b..1031344add 100644
--- a/libraries/lapack/lapack.SlackBuild
+++ b/libraries/lapack/lapack.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=lapack
SRCNAM=lapack
-VERSION=${VERSION:-3.9.1}
+VERSION=${VERSION:-3.10.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -133,6 +133,7 @@ fi
# 3. Turn off EXCLUDE to not conflict with INPUT.
# 4. Turn off some repetitive comments.
# 5. Turn off MAN_LINKS. See below.
+# 6. Generate on .F and .f90 files.
sed -i \
-e ':a;/\\$/N;s/\\\n//;ta' \
-e 's/^\(INPUT *=\).*/\1 SRC SRC\/DEPRECATED/' \
@@ -140,6 +141,7 @@ sed -i \
-e 's/^\(EXCLUDE *=\).*/\1/' \
-e 's/^\(REPEAT_BRIEF *=\).*/\1 NO/' \
-e 's/^\(MAN_LINKS *=\).*/\1 NO/' \
+ -e 's/^\(FILE_PATTERNS *=.*\)/\1 *.F *.f90/' \
DOCS/Doxyfile_man
doxygen DOCS/Doxyfile_man
# Doxygen generates manpages on a file-by-file basis (note the .f extensions).
@@ -151,11 +153,19 @@ mkdir -p $PKG/usr/man/man3
for i in DOCS/man/man3/*.f.3; do
gzip -9c $i > $PKG/usr/man/man3/$(basename $i .f.3).3.gz
done
+for i in DOCS/man/man3/*.F.3; do
+ gzip -9c $i > $PKG/usr/man/man3/$(basename $i .F.3).3.gz
+done
+for i in DOCS/man/man3/*.f90.3; do
+ gzip -9c $i > $PKG/usr/man/man3/$(basename $i .f90.3).3.gz
+done
# Fix up some special cases where the mapping isn't 1:1.
ln -s sladiv.3.gz $PKG/usr/man/man3/sladiv1.3.gz
ln -s sladiv.3.gz $PKG/usr/man/man3/sladiv2.3.gz
ln -s dladiv.3.gz $PKG/usr/man/man3/dladiv1.3.gz
ln -s dladiv.3.gz $PKG/usr/man/man3/dladiv2.3.gz
+# Remove internal documentation.
+rm $PKG/usr/man/man3/la_constants.3.gz
# Remove files that are supplied by BLAS.
rm $PKG/usr/man/man3/xerbla.3.gz
rm $PKG/usr/man/man3/xerbla_array.3.gz
diff --git a/libraries/lapack/lapack.info b/libraries/lapack/lapack.info
index 8774fd2558..df93a4c812 100644
--- a/libraries/lapack/lapack.info
+++ b/libraries/lapack/lapack.info
@@ -1,8 +1,8 @@
PRGNAM="lapack"
-VERSION="3.9.1"
+VERSION="3.10.0"
HOMEPAGE="https://www.netlib.org/lapack/"
-DOWNLOAD="https://github.com/Reference-LAPACK/lapack/archive/v3.9.1/lapack-3.9.1.tar.gz"
-MD5SUM="47ab2d11652045145df37ddbe2a32d71"
+DOWNLOAD="https://github.com/Reference-LAPACK/lapack/archive/v3.10.0/lapack-3.10.0.tar.gz"
+MD5SUM="d70fc27a8bdebe00481c97c728184f09"
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 378acc8769..f8ee150b59 100644
--- a/libraries/lapack/patches/cmake-piecewise.diff
+++ b/libraries/lapack/patches/cmake-piecewise.diff
@@ -10,61 +10,29 @@ diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt
# Create a header file cblas.h for the routines called in my C programs
include(FortranCInterface)
## Ensure that the fortran compiler and c compiler specified are compatible
-@@ -45,54 +43,8 @@
- add_subdirectory(examples)
- endif()
-
--if(NOT BLAS_FOUND)
-- set(ALL_TARGETS ${ALL_TARGETS} ${BLASLIB})
--endif()
--
--# Export cblas targets from the
--# install tree, if any.
--set(_cblas_config_install_guard_target "")
--if(ALL_TARGETS)
-- install(EXPORT ${CBLASLIB}-targets
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CBLASLIB}-${LAPACK_VERSION}
-- COMPONENT Development
-- )
-- # Choose one of the cblas targets to use as a guard for
-- # cblas-config.cmake to load targets from the install tree.
-- list(GET ALL_TARGETS 0 _cblas_config_install_guard_target)
--endif()
--
--# Export cblas targets from the build tree, if any.
--set(_cblas_config_build_guard_target "")
--if(ALL_TARGETS)
-- export(TARGETS ${ALL_TARGETS} FILE ${CBLASLIB}-targets.cmake)
--
-- # Choose one of the cblas targets to use as a guard
-- # for cblas-config.cmake to load targets from the build tree.
-- list(GET ALL_TARGETS 0 _cblas_config_build_guard_target)
--endif()
+@@ -51,22 +49,3 @@
+ DESTINATION ${PKG_CONFIG_DIR}
+ COMPONENT Development
+ )
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-version.cmake.in
- ${LAPACK_BINARY_DIR}/${CBLASLIB}-config-version.cmake @ONLY)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-build.cmake.in
- ${LAPACK_BINARY_DIR}/${CBLASLIB}-config.cmake @ONLY)
-
--
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${CBLASLIB}.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/${CBLASLIB}.pc
- DESTINATION ${PKG_CONFIG_DIR}
- )
--
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-install.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${CBLASLIB}-config.cmake @ONLY)
-install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${CBLASLIB}-config.cmake
- ${LAPACK_BINARY_DIR}/${CBLASLIB}-config-version.cmake
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CBLASLIB}-${LAPACK_VERSION}
+- COMPONENT Development
- )
-
--#install(EXPORT ${CBLASLIB}-targets
--# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CBLASLIB}-${LAPACK_VERSION}
--# COMPONENT Development
--# )
+-install(EXPORT ${CBLASLIB}-targets
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CBLASLIB}-${LAPACK_VERSION}
+- COMPONENT Development
+- )
diff --git a/CBLAS/cmake/cblas-config-build.cmake.in b/CBLAS/cmake/cblas-config-build.cmake.in
deleted file mode 100644
--- a/CBLAS/cmake/cblas-config-build.cmake.in
@@ -184,7 +152,7 @@ deleted file mode 100644
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -160,11 +160,8 @@
+@@ -157,11 +157,8 @@
# --------------------------------------------------
@@ -196,7 +164,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT RuntimeLibraries
-@@ -204,21 +201,6 @@
+@@ -201,21 +198,6 @@
include(CheckLAPACKCompilerFlags)
CheckLAPACKCompilerFlags()
@@ -218,7 +186,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
# deprecated LAPACK and LAPACKE routines
option(BUILD_DEPRECATED "Build deprecated routines" OFF)
message(STATUS "Build deprecated routines: ${BUILD_DEPRECATED}")
-@@ -242,8 +224,9 @@
+@@ -239,8 +221,9 @@
endif()
# --------------------------------------------------
@@ -229,7 +197,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
# Check the usage of the user provided BLAS libraries
if(BLAS_LIBRARIES)
-@@ -254,113 +237,108 @@
+@@ -251,131 +234,105 @@
if(BLAS_FOUND)
message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.")
else()
@@ -383,17 +351,35 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
- set(LAPACKE ON)
+ set(BUILD_LAPACKE ON)
endif()
- if(BUILD_TESTING OR LAPACKE_WITH_TMG) #already included, avoid double inclusion
- add_subdirectory(TESTING/MATGEN)
- endif()
+-# TMGLIB
+-# Cache export target
+-set(LAPACK_INSTALL_EXPORT_NAME_CACHE ${LAPACK_INSTALL_EXPORT_NAME})
+-if(BUILD_TESTING OR LAPACKE_WITH_TMG)
+- if(LATESTLAPACK_FOUND AND LAPACKE_WITH_TMG)
+- set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES})
+- # Check if dlatms (part of tmg) is found
+- CHECK_FORTRAN_FUNCTION_EXISTS("dlatms" LAPACK_WITH_TMGLIB_FOUND)
+- unset(CMAKE_REQUIRED_LIBRARIES)
+- if(NOT LAPACK_WITH_TMGLIB_FOUND)
+- # Build and install TMG as part of LAPACKE targets (as opposed to LAPACK
+- # targets)
+- set(LAPACK_INSTALL_EXPORT_NAME ${LAPACKELIB}-targets)
+- endif()
+- endif()
+- add_subdirectory(TESTING/MATGEN)
+-endif()
+-# Reset export target
+-set(LAPACK_INSTALL_EXPORT_NAME ${LAPACK_INSTALL_EXPORT_NAME_CACHE})
+-unset(LAPACK_INSTALL_EXPORT_NAME_CACHE)
+-
-if(LAPACKE)
+if(BUILD_LAPACKE)
+ set(NEED_LAPACK TRUE)
add_subdirectory(LAPACKE)
endif()
-@@ -414,111 +392,16 @@
+@@ -428,111 +385,16 @@
ExternalProject_Add_StepDependencies(lapackpp build blaspp ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
endif()
@@ -437,10 +423,6 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
- set(ALL_TARGETS ${ALL_TARGETS} ${LAPACKLIB})
-endif()
-
--if(BUILD_TESTING OR LAPACKE_WITH_TMG)
-- set(ALL_TARGETS ${ALL_TARGETS} ${TMGLIB})
--endif()
--
-# Export lapack targets, not including lapacke, from the
-# install tree, if any.
-set(_lapack_config_install_guard_target "")
@@ -463,6 +445,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-# Include lapacke in targets exported from the build tree.
-if(LAPACKE)
- set(ALL_TARGETS ${ALL_TARGETS} ${LAPACKELIB})
+-endif()
+-
+-if(NOT LAPACK_WITH_TMGLIB_FOUND AND LAPACKE_WITH_TMG)
+- set(ALL_TARGETS ${ALL_TARGETS} ${TMGLIB})
+# Neither user specified or optimized BLAS libraries can be used
+if(NEED_BLAS AND NOT BLAS_FOUND)
+ message(FATAL_ERROR "--> No BLAS library found. Specify BLAS_LIBRARIES or enable USE_OPTIMIZED_BLAS or BUILD_BLAS.")
@@ -595,7 +581,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}/@CMAKE_INSTALL_LIBDIR@/cmake/@LAPACK@-@LAPACK_VERSION@")
+-set(LAPACK_DIR "${_LAPACKE_PREFIX}/@CMAKE_INSTALL_LIBDIR@/cmake/@LAPACKLIB@-@LAPACK_VERSION@")
-find_package(LAPACK NO_MODULE)
-
-# Load lapacke targets from the install tree.