diff options
author | Kyle Guinn <elyk03@gmail.com> | 2017-06-27 23:31:48 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2017-07-01 07:42:11 +0700 |
commit | b2341ef250ab7f25511d08e96d6abcbfaaf80355 (patch) | |
tree | 1fe09d1e5ce72a5c7f41c8bbeabe4783e24fdae7 /libraries | |
parent | dc2d9c09ae4167c87b760453ecc61bc234c9983d (diff) | |
download | slackbuilds-b2341ef250ab7f25511d08e96d6abcbfaaf80355.tar.gz |
libraries/blas: Updated for version 3.7.1.
Signed-off-by: Kyle Guinn <elyk03@gmail.com>
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/blas/README | 5 | ||||
-rw-r--r-- | libraries/blas/blas.SlackBuild | 20 | ||||
-rw-r--r-- | libraries/blas/blas.info | 6 | ||||
-rw-r--r-- | libraries/blas/patches/cmake-piecewise.diff | 344 | ||||
-rw-r--r-- | libraries/blas/patches/generate-pkgconfig.diff | 127 | ||||
-rw-r--r-- | libraries/blas/patches/link-dependencies.diff | 232 | ||||
-rw-r--r-- | libraries/blas/patches/target-cleanup.diff | 761 | ||||
-rw-r--r-- | libraries/blas/slack-desc | 2 |
8 files changed, 182 insertions, 1315 deletions
diff --git a/libraries/blas/README b/libraries/blas/README index 8755c6f620..a68d1dc790 100644 --- a/libraries/blas/README +++ b/libraries/blas/README @@ -1,6 +1,5 @@ Build script for the reference BLAS library provided by Netlib. The final package will contain static and shared libraries. -Note: This BLAS implementation is not optimized! If you want good - performance, then use the BLAS libraries provided by your - CPU vendor or atlas provided by SlackBuilds.org. +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/blas/blas.SlackBuild b/libraries/blas/blas.SlackBuild index 3812bd5ef1..62bd5f9e21 100644 --- a/libraries/blas/blas.SlackBuild +++ b/libraries/blas/blas.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for BLAS -# Copyright 2014-2016 Kyle Guinn <elyk03@gmail.com>, USA +# Copyright 2014-2017 Kyle Guinn <elyk03@gmail.com>, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,7 +24,7 @@ PRGNAM=blas SRCNAM=lapack -VERSION=${VERSION:-3.6.1} +VERSION=${VERSION:-3.7.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -61,16 +61,12 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tgz +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz cd $SRCNAM-$VERSION chown -R root:root . chmod -R u+w,go-w,a+rX-st . -# Fix lots of bugs with the cmake build system and .pc files. -# More importantly, allow building only the BLAS component. -patch -p1 < $CWD/patches/generate-pkgconfig.diff -patch -p1 < $CWD/patches/link-dependencies.diff -patch -p1 < $CWD/patches/target-cleanup.diff +# Allow building only the BLAS component. patch -p1 < $CWD/patches/cmake-piecewise.diff # Avoid adding an RPATH entry to the shared lib. It's unnecessary (except for @@ -84,7 +80,6 @@ cd shared -DCMAKE_RULE_MESSAGES=OFF \ -DCMAKE_VERBOSE_MAKEFILE=TRUE \ -DBUILD_BLAS=ON \ - -DBUILD_TESTING=OFF \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_SKIP_RPATH=YES \ .. @@ -104,7 +99,6 @@ cd static -DCMAKE_RULE_MESSAGES=OFF \ -DCMAKE_VERBOSE_MAKEFILE=TRUE \ -DBUILD_BLAS=ON \ - -DBUILD_TESTING=OFF \ .. make make install/strip DESTDIR=$PKG @@ -115,16 +109,16 @@ cd .. # 1. Replace "LAPACK" with "BLAS" in headers/footers. # 2. Only generate on the BLAS sources. # 3. Turn off recursion. Only operate on directories in INPUT. -# 4. Turn off some repetitive comments. -# 5. Turn off HAVE_DOT. Graphs are unnecessary for this purpose. +# 4. Turn off EXCLUDE to not conflict with INPUT. +# 5. Turn off some repetitive comments. # 6. Turn off MAN_LINKS. See below. sed -i \ -e ':a;/\\$/N;s/\\\n//;ta' \ -e 's/^\(PROJECT_NAME *=\).*/\1 BLAS/' \ -e 's/^\(INPUT *=\).*/\1 BLAS\/SRC/' \ -e 's/^\(RECURSIVE *=\).*/\1 NO/' \ + -e 's/^\(EXCLUDE *=\).*/\1/' \ -e 's/^\(REPEAT_BRIEF *=\).*/\1 NO/' \ - -e 's/^\(HAVE_DOT *=\).*/\1 NO/' \ -e 's/^\(MAN_LINKS *=\).*/\1 NO/' \ DOCS/Doxyfile_man doxygen DOCS/Doxyfile_man diff --git a/libraries/blas/blas.info b/libraries/blas/blas.info index eff815ebb3..d483b1ff51 100644 --- a/libraries/blas/blas.info +++ b/libraries/blas/blas.info @@ -1,8 +1,8 @@ PRGNAM="blas" -VERSION="3.6.1" +VERSION="3.7.1" HOMEPAGE="http://www.netlib.org/blas/" -DOWNLOAD="http://www.netlib.org/lapack/lapack-3.6.1.tgz" -MD5SUM="421b2cb72e15f237e144428f9c460ee0" +DOWNLOAD="https://github.com/Reference-LAPACK/lapack/archive/v3.7.1/lapack-3.7.1.tar.gz" +MD5SUM="9cd679ab1fd325ca964de70adcd33441" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/libraries/blas/patches/cmake-piecewise.diff b/libraries/blas/patches/cmake-piecewise.diff index 1dc85494a7..e5fd1d9c6c 100644 --- a/libraries/blas/patches/cmake-piecewise.diff +++ b/libraries/blas/patches/cmake-piecewise.diff @@ -9,21 +9,21 @@ 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) - FortranCInterface_HEADER( ${CMAKE_CURRENT_SOURCE_DIR}/include/cblas_mangling.h -@@ -40,51 +38,8 @@ - add_subdirectory(examples) - endif(BUILD_TESTING) + ## Ensure that the fortran compiler and c compiler specified are compatible +@@ -36,50 +34,8 @@ + add_subdirectory(examples) + endif() -if(NOT BLAS_FOUND) - set(ALL_TARGETS ${ALL_TARGETS} blas) --endif(NOT BLAS_FOUND) +-endif() - -# Export cblas targets from the -# install tree, if any. -set(_cblas_config_install_guard_target "") -if(ALL_TARGETS) - install(EXPORT cblas-targets -- DESTINATION lib/cmake/cblas-${LAPACK_VERSION}) +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}) - # 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) @@ -49,19 +49,18 @@ diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc DESTINATION ${PKG_CONFIG_DIR} - ) + ) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-install.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake @ONLY) -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake - ${LAPACK_BINARY_DIR}/cblas-config-version.cmake -- DESTINATION lib/cmake/cblas-${LAPACK_VERSION} +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION} - ) - -#install(EXPORT cblas-targets --# DESTINATION lib/cmake/cblas-${LAPACK_VERSION}) -- +-# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}) 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 @@ -76,24 +75,24 @@ deleted file mode 100644 - include("@LAPACK_BINARY_DIR@/lapack-targets.cmake") -endif() - --# Report lapacke header search locations. --set(CBLAS_INCLUDE_DIRS "@LAPACK_SOURCE_DIR@/cblas/include") +-# Report cblas header search locations from build tree. +-set(CBLAS_INCLUDE_DIRS "@LAPACK_BINARY_DIR@/include") - --# Report lapacke libraries. +-# Report cblas libraries. -set(CBLAS_LIBRARIES cblas) diff --git a/CBLAS/cmake/cblas-config-install.cmake.in b/CBLAS/cmake/cblas-config-install.cmake.in deleted file mode 100644 --- a/CBLAS/cmake/cblas-config-install.cmake.in +++ /dev/null @@ -1,23 +0,0 @@ --# Compute locations from <prefix>/lib/cmake/lapacke-<v>/<self>.cmake +-# Compute locations from <prefix>/@{LIBRARY_DIR@/cmake/lapacke-<v>/<self>.cmake -get_filename_component(_CBLAS_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_CBLAS_PREFIX "${_CBLAS_SELF_DIR}" PATH) -get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH) -get_filename_component(_CBLAS_PREFIX "${_CBLAS_PREFIX}" PATH) - -# Load the LAPACK package with which we were built. --set(LAPACK_DIR "${_CBLAS_PREFIX}/lib/cmake/lapack-@LAPACK_VERSION@") +-set(LAPACK_DIR "${_CBLAS_PREFIX}/@{LIBRARY_DIR@/cmake/lapack-@LAPACK_VERSION@") -find_package(LAPACK NO_MODULE) - -# Load lapacke targets from the install tree. @@ -160,27 +159,58 @@ deleted file mode 100644 diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -81,8 +81,6 @@ +@@ -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 @@ endif() # -------------------------------------------------- -set(LAPACK_INSTALL_EXPORT_NAME lapack-targets) - - if (UNIX) - include(GNUInstallDirs) - set(ARCHIVE_DIR ${CMAKE_INSTALL_LIBDIR}) -@@ -96,7 +94,6 @@ - macro(lapack_install_library lib) install(TARGETS ${lib} - EXPORT ${LAPACK_INSTALL_EXPORT_NAME} - ARCHIVE DESTINATION ${ARCHIVE_DIR} - LIBRARY DESTINATION ${LIBRARY_DIR} - RUNTIME DESTINATION ${RUNTIME_DIR} -@@ -122,20 +119,6 @@ - include( CheckLAPACKCompilerFlags ) + 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 @@ + 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 - @@ -193,82 +223,62 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -CHECK_TIME_FUNCTION(INT_ETIME TIME_FUNC) -message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as timing function.") - --set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) --set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) - set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig) - - set(prefix ${CMAKE_INSTALL_PREFIX}) -@@ -146,6 +129,11 @@ +-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 @@ endif() # -------------------------------------------------- -+# By default static library -+option(BUILD_SHARED_LIBS "Build shared libraries" OFF) -+option(BUILD_STATIC_LIBS "Build static libraries" ON) -+ -+# -------------------------------------------------- - # Precision to build - # By default all precisions are generated - option(BUILD_SINGLE "Build Single Precision" ON) -@@ -176,236 +164,134 @@ - Please enable at least one of these: BUILD_SINGLE, BUILD_DOUBLE, BUILD_COMPLEX, BUILD_COMPLEX16.") - endif() - --# -------------------------------------------------- -# Subdirectories that need to be processed -+# deprecated LAPACK routines -+option(BUILD_DEPRECATED "Build deprecated routines" OFF) - -+# -------------------------------------------------- +# BLAS option(USE_OPTIMIZED_BLAS "Whether or not to use an optimized BLAS library instead of included netlib BLAS" OFF) -- +option(BUILD_BLAS "Build BLAS" OFF) # Check the usage of the user provided BLAS libraries if(BLAS_LIBRARIES) - include(CheckFortranFunctionExists) - set(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) - CHECK_FORTRAN_FUNCTION_EXISTS("dgemm" BLAS_FOUND) -- unset( CMAKE_REQUIRED_LIBRARIES ) -+ unset(CMAKE_REQUIRED_LIBRARIES) +@@ -190,213 +172,117 @@ if(BLAS_FOUND) message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.") -- else(BLAS_FOUND) + else() - message(ERROR "--> BLAS supplied by user is not WORKING, CANNOT USE ${BLAS_LIBRARIES}.") - message(ERROR "--> Will use REFERENCE BLAS (by default)") - message(ERROR "--> Or Correct your BLAS_LIBRARIES entry ") - message(ERROR "--> Or Consider checking USE_OPTIMIZED_BLAS") -- endif(BLAS_FOUND) -+ else() + message(SEND_ERROR "--> BLAS supplied by user is NOT WORKING, cannot use ${BLAS_LIBRARIES}.") -+ endif() + endif() # User did not provide a BLAS Library but specified to search for one --elseif( USE_OPTIMIZED_BLAS ) -- find_package( BLAS ) --endif (BLAS_LIBRARIES) -+elseif(USE_OPTIMIZED_BLAS) -+ find_package(BLAS) + elseif(USE_OPTIMIZED_BLAS) + find_package(BLAS) +-endif() -# Neither user specified or optimized BLAS libraries can be used -if(NOT BLAS_FOUND) - message(STATUS "Using supplied NETLIB BLAS implementation") - add_subdirectory(BLAS) -- set( BLAS_LIBRARIES blas ) ++elseif(BUILD_BLAS) + set(BLAS_LIBRARIES blas) -else() -- set( CMAKE_EXE_LINKER_FLAGS -- "${CMAKE_EXE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- set(CMAKE_EXE_LINKER_FLAGS +- "${CMAKE_EXE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" - CACHE STRING "Linker flags for executables" FORCE) -- set( CMAKE_MODULE_LINKER_FLAGS -- "${CMAKE_MODULE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- set(CMAKE_MODULE_LINKER_FLAGS +- "${CMAKE_MODULE_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" - CACHE STRING "Linker flags for modules" FORCE) -- set( CMAKE_SHARED_LINKER_FLAGS -- "${CMAKE_SHARED_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" +- set(CMAKE_SHARED_LINKER_FLAGS +- "${CMAKE_SHARED_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}" - CACHE STRING "Linker flags for shared libs" FORCE) --endif( NOT BLAS_FOUND ) -+elseif(BUILD_BLAS) -+ set(BLAS_LIBRARIES blas) +-endif() + set(BLAS_FOUND TRUE) + add_subdirectory(BLAS) @@ -283,27 +293,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +if(BUILD_CBLAS) + set(NEED_BLAS TRUE) add_subdirectory(CBLAS) --endif(CBLAS) -+endif(BUILD_CBLAS) + endif() # -------------------------------------------------- # XBLAS - option(USE_XBLAS "Build extended precision (needs XBLAS)" OFF) --if (USE_XBLAS) + -+if(USE_XBLAS) + if(USE_XBLAS) find_library(XBLAS_LIBRARY NAMES xblas) - endif(USE_XBLAS) -- --option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) + endif() +-option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) +- # -------------------------------------------------- # LAPACK -# User did not provide a LAPACK Library but specified to search for one --if( USE_OPTIMIZED_LAPACK ) -- find_package( LAPACK ) --endif (USE_OPTIMIZED_LAPACK) +-if(USE_OPTIMIZED_LAPACK) +- find_package(LAPACK) +-endif() +option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) +option(BUILD_LAPACK "Build LAPACK" OFF) @@ -313,29 +321,29 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES}) # Check if new routine of 3.4.0 is in LAPACK_LIBRARIES - CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LATESTLAPACK_FOUND) -- unset( CMAKE_REQUIRED_LIBRARIES ) -- if(LATESTLAPACK_FOUND) + CHECK_FORTRAN_FUNCTION_EXISTS("dgeqrt" LAPACK_FOUND) -+ unset(CMAKE_REQUIRED_LIBRARIES) + unset(CMAKE_REQUIRED_LIBRARIES) +- if(LATESTLAPACK_FOUND) + if(LAPACK_FOUND) message(STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES}.") -- else(LAPACK_FOUND) -- message(ERROR "--> LAPACK supplied by user is not WORKING or is older than LAPACK 3.4.0, CANNOT USE ${LAPACK_LIBRARIES}.") + else() +- message(ERROR "--> LAPACK supplied by user is not WORKING or is older than LAPACK 3.4.0, CANNOT USE ${LAPACK_LIBRARIES}.") - message(ERROR "--> Will use REFERENCE LAPACK (by default)") - message(ERROR "--> Or Correct your LAPACK_LIBRARIES entry ") - message(ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK") -- endif(LATESTLAPACK_FOUND) --endif (LAPACK_LIBRARIES) -+ else() + message(SEND_ERROR "--> LAPACK supplied by user is NOT WORKING or is older than LAPACK 3.4.0, cannot use ${LAPACK_LIBRARIES}.") -+ endif() -+ + endif() +-endif() + +-# Neither user specified or optimized LAPACK libraries can be used +-if(NOT LATESTLAPACK_FOUND) +- message(STATUS "Using supplied NETLIB LAPACK implementation") +# User did not provide a LAPACK Library but specified to search for one +elseif(USE_OPTIMIZED_LAPACK) + find_package(LAPACK) + +elseif(BUILD_LAPACK) -+ set(LAPACK_LIBRARIES lapack) + set(LAPACK_LIBRARIES lapack) + set(LAPACK_FOUND TRUE) + + set(NEED_BLAS TRUE) @@ -350,34 +358,24 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt + CHECK_TIME_FUNCTION(INT_ETIME TIME_FUNC) + message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as timing function.") + -+ set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) -+ set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) - --# Neither user specified or optimized LAPACK libraries can be used --if(NOT LATESTLAPACK_FOUND) -- message(STATUS "Using supplied NETLIB LAPACK implementation") -- set( LAPACK_LIBRARIES lapack ) ++ set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f) ++ set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) ++ add_subdirectory(SRC) -else() -- set( CMAKE_EXE_LINKER_FLAGS -- "${CMAKE_EXE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- set(CMAKE_EXE_LINKER_FLAGS +- "${CMAKE_EXE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" - CACHE STRING "Linker flags for executables" FORCE) -- set( CMAKE_MODULE_LINKER_FLAGS -- "${CMAKE_MODULE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- set(CMAKE_MODULE_LINKER_FLAGS +- "${CMAKE_MODULE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" - CACHE STRING "Linker flags for modules" FORCE) -- set( CMAKE_SHARED_LINKER_FLAGS -- "${CMAKE_SHARED_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" +- set(CMAKE_SHARED_LINKER_FLAGS +- "${CMAKE_SHARED_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" - CACHE STRING "Linker flags for shared libs" FORCE) --endif( NOT LATESTLAPACK_FOUND ) -- --message(STATUS "BUILD TESTING : ${BUILD_TESTING}" ) +-endif() + -if(BUILD_TESTING) - add_subdirectory(TESTING) --endif(BUILD_TESTING) - --# deprecated LAPACK routines --option(BUILD_DEPRECATED "Build deprecated routines" OFF) -+ message(STATUS "BUILD TESTING : ${BUILD_TESTING}") + if(BUILD_TESTING) + add_subdirectory(TESTING) + endif() @@ -385,8 +383,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY) + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc -+ DESTINATION ${PKG_CONFIG_DIR}) -+endif() ++ DESTINATION ${PKG_CONFIG_DIR} ++ ) + endif() # -------------------------------------------------- # LAPACKE @@ -396,93 +395,88 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt # LAPACKE has also the interface to some routines from tmglib, # if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE option(LAPACKE_WITH_TMG "Build LAPACKE with tmglib routines" OFF) - if (LAPACKE_WITH_TMG) + if(LAPACKE_WITH_TMG) - set(LAPACKE ON) + set(BUILD_LAPACKE ON) - if(NOT BUILD_TESTING) - add_subdirectory(TESTING/MATGEN) - endif(NOT BUILD_TESTING) - endif(LAPACKE_WITH_TMG) + endif() + if(BUILD_TESTING OR LAPACKE_WITH_TMG) #already included, avoid double inclusion + add_subdirectory(TESTING/MATGEN) + endif() -if(LAPACKE) +if(BUILD_LAPACKE) + set(NEED_LAPACK TRUE) add_subdirectory(LAPACKE) --endif(LAPACKE) -- + endif() + -# -------------------------------------------------- --# CPACK Packaging +-# CPACK Packaging - --SET(CPACK_PACKAGE_NAME "LAPACK") --SET(CPACK_PACKAGE_VENDOR "University of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd") --SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LAPACK- Linear Algebra Package") +-set(CPACK_PACKAGE_NAME "LAPACK") +-set(CPACK_PACKAGE_VENDOR "University of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd") +-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LAPACK- Linear Algebra Package") -set(CPACK_PACKAGE_VERSION_MAJOR 3) -set(CPACK_PACKAGE_VERSION_MINOR 5) -set(CPACK_PACKAGE_VERSION_PATCH 0) -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") --SET(CPACK_PACKAGE_INSTALL_DIRECTORY "LAPACK") --IF(WIN32 AND NOT UNIX) +-set(CPACK_PACKAGE_INSTALL_DIRECTORY "LAPACK") +-if(WIN32 AND NOT UNIX) - # There is a bug in NSI that does not handle full unix paths properly. Make - # sure there is at least one set of four (4) backlasshes. -- SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\http://icl.cs.utk.edu/lapack-forum") -- SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.netlib.org/lapack") -- SET(CPACK_NSIS_CONTACT "lapack@eecs.utk.edu") -- SET(CPACK_NSIS_MODIFY_PATH ON) -- SET(CPACK_NSIS_DISPLAY_NAME "LAPACK-${LAPACK_VERSION}") +- set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\http://icl.cs.utk.edu/lapack-forum") +- set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.netlib.org/lapack") +- set(CPACK_NSIS_CONTACT "lapack@eecs.utk.edu") +- set(CPACK_NSIS_MODIFY_PATH ON) +- set(CPACK_NSIS_DISPLAY_NAME "LAPACK-${LAPACK_VERSION}") - set(CPACK_PACKAGE_RELOCATABLE "true") --ELSE(WIN32 AND NOT UNIX) -- SET(CPACK_GENERATOR "TGZ") -- SET(CPACK_SOURCE_GENERATOR TGZ) -- SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lapack-${LAPACK_VERSION}" ) -- SET(CPACK_SOURCE_IGNORE_FILES ~$ .svn ${CPACK_SOURCE_IGNORE_FILES} ) --ENDIF(WIN32 AND NOT UNIX) --INCLUDE(CPack) -+endif(BUILD_LAPACKE) - - +-else() +- set(CPACK_GENERATOR "TGZ") +- set(CPACK_SOURCE_GENERATOR TGZ) +- set(CPACK_SOURCE_PACKAGE_FILE_NAME "lapack-${LAPACK_VERSION}") +- set(CPACK_SOURCE_IGNORE_FILES ~$ .svn ${CPACK_SOURCE_IGNORE_FILES}) +-endif() +-include(CPack) +- +- -# -------------------------------------------------- --# By default static library --OPTION(BUILD_SHARED_LIBS "Build shared libraries" OFF ) --OPTION(BUILD_STATIC_LIBS "Build static libraries" ON ) --#OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON ) - -if(NOT BLAS_FOUND) - set(ALL_TARGETS ${ALL_TARGETS} blas) --endif(NOT BLAS_FOUND) -- +-endif() + -if(NOT LATESTLAPACK_FOUND) - set(ALL_TARGETS ${ALL_TARGETS} lapack) --endif(NOT LATESTLAPACK_FOUND) +-endif() - -if(BUILD_TESTING OR LAPACKE_WITH_TMG) - set(ALL_TARGETS ${ALL_TARGETS} tmglib) --endif(BUILD_TESTING OR LAPACKE_WITH_TMG) +-endif() - -# Export lapack targets, not including lapacke, from the -# install tree, if any. -set(_lapack_config_install_guard_target "") -if(ALL_TARGETS) - install(EXPORT lapack-targets -- DESTINATION ${LIBRARY_DIR}/cmake/lapack-${LAPACK_VERSION}) +- 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) -+# 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.") - endif() - +-endif() +- -# Include cblas in targets exported from the build tree. -if(CBLAS) - set(ALL_TARGETS ${ALL_TARGETS} cblas) --endif(CBLAS) +-endif() - -# Include lapacke in targets exported from the build tree. -if(LAPACKE) - set(ALL_TARGETS ${ALL_TARGETS} lapacke) --endif(LAPACKE) -- ++# 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.") + endif() + -# Export lapack and lapacke targets from the build tree, if any. -set(_lapack_config_build_guard_target "") -if(ALL_TARGETS) @@ -504,7 +498,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc - DESTINATION ${PKG_CONFIG_DIR} -- ) +- ) - -configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-install.cmake.in - ${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake @ONLY) @@ -519,7 +513,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -install(FILES - ${LAPACK_BINARY_DIR}/CMakeFiles/lapack-config.cmake - ${LAPACK_BINARY_DIR}/lapack-config-version.cmake -- DESTINATION ${LIBRARY_DIR}/cmake/lapack-${LAPACK_VERSION} +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapack-${LAPACK_VERSION} - ) diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt --- a/LAPACKE/CMakeLists.txt @@ -530,13 +524,13 @@ diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt -set(LAPACK_INSTALL_EXPORT_NAME lapacke-targets) - - # Create a header file netlib.h for the routines called in my C programs + # Create a header file lapacke_mangling.h for the routines called in my C programs include(FortranCInterface) - FortranCInterface_HEADER( ${CMAKE_CURRENT_SOURCE_DIR}/include/lapacke_mangling.h -@@ -74,19 +72,3 @@ + ## Ensure that the fortran compiler and c compiler specified are compatible +@@ -79,19 +77,3 @@ ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc DESTINATION ${PKG_CONFIG_DIR} - ) + ) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-version.cmake.in - ${LAPACK_BINARY_DIR}/lapacke-config-version.cmake @ONLY) @@ -548,11 +542,11 @@ diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/lapacke-config.cmake - ${LAPACK_BINARY_DIR}/lapacke-config-version.cmake -- DESTINATION ${LIBRARY_DIR}/cmake/lapacke-${LAPACK_VERSION} +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION} - ) - -install(EXPORT lapacke-targets -- DESTINATION lib/cmake/lapacke-${LAPACK_VERSION}) +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}) diff --git a/LAPACKE/cmake/lapacke-config-build.cmake.in b/LAPACKE/cmake/lapacke-config-build.cmake.in deleted file mode 100644 --- a/LAPACKE/cmake/lapacke-config-build.cmake.in @@ -567,8 +561,8 @@ deleted file mode 100644 - include("@LAPACK_BINARY_DIR@/lapack-targets.cmake") -endif() - --# Report lapacke header search locations. --set(LAPACKE_INCLUDE_DIRS "@LAPACK_SOURCE_DIR@/lapacke/include") +-# Report lapacke header search locations from build tree. +-set(LAPACKE_INCLUDE_DIRS "@LAPACK_BINARY_DIR@/include") - -# Report lapacke libraries. -set(LAPACKE_LIBRARIES lapacke) @@ -577,14 +571,14 @@ deleted file mode 100644 --- a/LAPACKE/cmake/lapacke-config-install.cmake.in +++ /dev/null @@ -1,23 +0,0 @@ --# Compute locations from <prefix>/lib/cmake/lapacke-<v>/<self>.cmake +-# Compute locations from <prefix>/@{LIBRARY_DIR@/cmake/lapacke-<v>/<self>.cmake -get_filename_component(_LAPACKE_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_SELF_DIR}" PATH) -get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH) -get_filename_component(_LAPACKE_PREFIX "${_LAPACKE_PREFIX}" PATH) - -# Load the LAPACK package with which we were built. --set(LAPACK_DIR "${_LAPACKE_PREFIX}/lib/cmake/lapack-@LAPACK_VERSION@") +-set(LAPACK_DIR "${_LAPACKE_PREFIX}/@{LIBRARY_DIR@/cmake/lapack-@LAPACK_VERSION@") -find_package(LAPACK NO_MODULE) - -# Load lapacke targets from the install tree. diff --git a/libraries/blas/patches/generate-pkgconfig.diff b/libraries/blas/patches/generate-pkgconfig.diff deleted file mode 100644 index b351f46d56..0000000000 --- a/libraries/blas/patches/generate-pkgconfig.diff +++ /dev/null @@ -1,127 +0,0 @@ -diff --git a/BLAS/CMakeLists.txt b/BLAS/CMakeLists.txt ---- a/BLAS/CMakeLists.txt -+++ b/BLAS/CMakeLists.txt -@@ -2,7 +2,7 @@ - if(BUILD_TESTING) - add_subdirectory(TESTING) - endif(BUILD_TESTING) --configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc) -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY) - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/blas.pc - DESTINATION ${PKG_CONFIG_DIR} -diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in ---- a/BLAS/blas.pc.in -+++ b/BLAS/blas.pc.in -@@ -1,9 +1,9 @@ --prefix=@CMAKE_INSTALL_PREFIX@ --libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -+prefix=@prefix@ -+libdir=@libdir@ - --Name: blas -+Name: BLAS - Description: Basic Linear Algebra Subprograms F77 reference implementations - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/blas/ --Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lblas -+Libs: -L${libdir} -lblas - Libs.private: -lm -diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt ---- a/CBLAS/CMakeLists.txt -+++ b/CBLAS/CMakeLists.txt -@@ -71,7 +71,7 @@ - ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY) - - --configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc) -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY) - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc - DESTINATION ${PKG_CONFIG_DIR} -diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in ---- a/CBLAS/cblas.pc.in -+++ b/CBLAS/cblas.pc.in -@@ -1,9 +1,9 @@ - prefix=@prefix@ - libdir=@libdir@ - --Name: lapacke --Description: C Standard Interface to BLAS Linear Algebra PACKage -+Name: CBLAS -+Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms - Version: @LAPACK_VERSION@ --URL: http://www.netlib.org/lapack/ -+URL: http://www.netlib.org/blas/#_cblas - Libs: -L${libdir} -lcblas - Requires: blas -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -138,6 +138,13 @@ - set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) - set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig) - -+set(prefix ${CMAKE_INSTALL_PREFIX}) -+if(NOT IS_ABSOLUTE ${LIBRARY_DIR}) -+ set(libdir "\${prefix}/${LIBRARY_DIR}") -+else() -+ set(libdir "${LIBRARY_DIR}") -+endif() -+ - # -------------------------------------------------- - # Precision to build - # By default all precisions are generated -@@ -359,7 +366,7 @@ - ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY) - - --configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc) -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY) - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc - DESTINATION ${PKG_CONFIG_DIR} -diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt ---- a/LAPACKE/CMakeLists.txt -+++ b/LAPACKE/CMakeLists.txt -@@ -65,7 +65,7 @@ - endif(BUILD_TESTING) - - --configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc) -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY) - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc - DESTINATION ${PKG_CONFIG_DIR} -diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in ---- a/LAPACKE/lapacke.pc.in -+++ b/LAPACKE/lapacke.pc.in -@@ -1,9 +1,9 @@ - prefix=@prefix@ - libdir=@libdir@ - --Name: lapacke -+Name: LAPACKE - Description: C Standard Interface to LAPACK Linear Algebra PACKage - Version: @LAPACK_VERSION@ --URL: http://www.netlib.org/lapack/ -+URL: http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack - Libs: -L${libdir} -llapacke - Requires: lapack blas -diff --git a/lapack.pc.in b/lapack.pc.in ---- a/lapack.pc.in -+++ b/lapack.pc.in -@@ -1,9 +1,9 @@ --prefix=@CMAKE_INSTALL_PREFIX@ --libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -+prefix=@prefix@ -+libdir=@libdir@ - --Name: lapack -+Name: LAPACK - Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/lapack/ --Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -llapack -+Libs: -L${libdir} -llapack - Requires: blas diff --git a/libraries/blas/patches/link-dependencies.diff b/libraries/blas/patches/link-dependencies.diff deleted file mode 100644 index c958ebb0cb..0000000000 --- a/libraries/blas/patches/link-dependencies.diff +++ /dev/null @@ -1,232 +0,0 @@ -diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt ---- a/BLAS/SRC/CMakeLists.txt -+++ b/BLAS/SRC/CMakeLists.txt -@@ -137,13 +137,9 @@ - - - add_library(blas ${ALLOBJ}) --#if(UNIX) --# target_link_libraries(blas m) --#endif() - set_target_properties( - blas PROPERTIES - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) --target_link_libraries(blas) - lapack_install_library(blas) -diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in ---- a/BLAS/blas.pc.in -+++ b/BLAS/blas.pc.in -@@ -6,4 +6,3 @@ - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/blas/ - Libs: -L${libdir} -lblas --Libs.private: -lm -diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in ---- a/CBLAS/cblas.pc.in -+++ b/CBLAS/cblas.pc.in -@@ -6,4 +6,4 @@ - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/blas/#_cblas - Libs: -L${libdir} -lcblas --Requires: blas -+Requires.private: blas -diff --git a/CBLAS/examples/CMakeLists.txt b/CBLAS/examples/CMakeLists.txt ---- a/CBLAS/examples/CMakeLists.txt -+++ b/CBLAS/examples/CMakeLists.txt -@@ -1,8 +1,8 @@ - add_executable(xexample1_CBLAS cblas_example1.c ) - add_executable(xexample2_CBLAS cblas_example2.c ) - --target_link_libraries(xexample1_CBLAS cblas ${BLAS_LIBRARIES}) --target_link_libraries(xexample2_CBLAS cblas ${BLAS_LIBRARIES}) -+target_link_libraries(xexample1_CBLAS cblas) -+target_link_libraries(xexample2_CBLAS cblas) - - add_test(example1_CBLAS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample1_CBLAS) - add_test(example2_CBLAS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample2_CBLAS) -diff --git a/CBLAS/src/CMakeLists.txt b/CBLAS/src/CMakeLists.txt ---- a/CBLAS/src/CMakeLists.txt -+++ b/CBLAS/src/CMakeLists.txt -@@ -164,5 +164,9 @@ - endif(CBLAS_COMPLEX16) - - add_library(cblas ${ALLOBJ}) --target_link_libraries(cblas ${BLAS_LIBRARIES} ) -+target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) -+set_target_properties( -+ cblas PROPERTIES -+ LINKER_LANGUAGE C -+ ) - lapack_install_library(cblas) -diff --git a/CBLAS/testing/CMakeLists.txt b/CBLAS/testing/CMakeLists.txt ---- a/CBLAS/testing/CMakeLists.txt -+++ b/CBLAS/testing/CMakeLists.txt -@@ -54,9 +54,9 @@ - add_executable(xscblat2 c_sblat2.f ${STESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xscblat3 c_sblat3.f ${STESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - -- target_link_libraries(xscblat1 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xscblat2 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xscblat3 cblas ${BLAS_LIBRARIES}) -+ target_link_libraries(xscblat1 cblas) -+ target_link_libraries(xscblat2 cblas) -+ target_link_libraries(xscblat3 cblas) - - add_cblas_test(stest1.out "" xscblat1) - add_cblas_test(stest2.out sin2 xscblat2) -@@ -70,9 +70,9 @@ - add_executable(xdcblat2 c_dblat2.f ${DTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xdcblat3 c_dblat3.f ${DTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - -- target_link_libraries(xdcblat1 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xdcblat2 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xdcblat3 cblas ${BLAS_LIBRARIES}) -+ target_link_libraries(xdcblat1 cblas) -+ target_link_libraries(xdcblat2 cblas) -+ target_link_libraries(xdcblat3 cblas) - - add_cblas_test(dtest1.out "" xdcblat1) - add_cblas_test(dtest2.out din2 xdcblat2) -@@ -86,9 +86,9 @@ - add_executable(xccblat2 c_cblat2.f ${CTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xccblat3 c_cblat3.f ${CTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - -- target_link_libraries(xccblat1 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xccblat2 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xccblat3 cblas ${BLAS_LIBRARIES}) -+ target_link_libraries(xccblat1 cblas) -+ target_link_libraries(xccblat2 cblas) -+ target_link_libraries(xccblat3 cblas) - - add_cblas_test(ctest1.out "" xccblat1) - add_cblas_test(ctest2.out cin2 xccblat2) -@@ -102,9 +102,9 @@ - add_executable(xzcblat2 c_zblat2.f ${ZTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xzcblat3 c_zblat3.f ${ZTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - -- target_link_libraries(xzcblat1 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xzcblat2 cblas ${BLAS_LIBRARIES}) -- target_link_libraries(xzcblat3 cblas ${BLAS_LIBRARIES}) -+ target_link_libraries(xzcblat1 cblas) -+ target_link_libraries(xzcblat2 cblas) -+ target_link_libraries(xzcblat3 cblas) - - add_cblas_test(ztest1.out "" xzcblat1) - add_cblas_test(ztest2.out zin2 xzcblat2) -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ - cmake_minimum_required(VERSION 2.8.10) --project(LAPACK Fortran) -+project(LAPACK C Fortran) - - set(LAPACK_MAJOR_VERSION 3) - set(LAPACK_MINOR_VERSION 6) -diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt ---- a/LAPACKE/CMakeLists.txt -+++ b/LAPACKE/CMakeLists.txt -@@ -46,17 +46,21 @@ - - if (USE_XBLAS) - add_library(lapacke ${SRC_OBJ} ${SRCX_OBJ} ${UTILS_OBJ}) -- target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) -+ target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES}) - else (USE_XBLAS) - if (LAPACKE_WITH_TMG) - add_library(lapacke ${SRC_OBJ} ${MATGEN_OBJ} ${UTILS_OBJ}) -- target_link_libraries(lapacke tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) -+ target_link_libraries(lapacke PRIVATE tmglib ${LAPACK_LIBRARIES}) - else (LAPACKE_WITH_TMG) - add_library(lapacke ${SRC_OBJ} ${UTILS_OBJ}) -- target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) -+ target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES}) - endif(LAPACKE_WITH_TMG) - endif(USE_XBLAS) - -+set_target_properties( -+ lapacke PROPERTIES -+ LINKER_LANGUAGE C -+ ) - lapack_install_library(lapacke) - INSTALL( FILES ${LAPACKE_INCLUDE} DESTINATION include ) - -diff --git a/LAPACKE/example/CMakeLists.txt b/LAPACKE/example/CMakeLists.txt ---- a/LAPACKE/example/CMakeLists.txt -+++ b/LAPACKE/example/CMakeLists.txt -@@ -3,10 +3,10 @@ - add_executable(xexample_DGELS_rowmajor example_DGELS_rowmajor.c lapacke_example_aux.c lapacke_example_aux.h) - add_executable(xexample_DGELS_colmajor example_DGELS_colmajor.c lapacke_example_aux.c lapacke_example_aux.h) - --target_link_libraries(xexample_DGESV_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) --target_link_libraries(xexample_DGESV_colmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) --target_link_libraries(xexample_DGELS_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) --target_link_libraries(xexample_DGELS_colmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) -+target_link_libraries(xexample_DGESV_rowmajor lapacke) -+target_link_libraries(xexample_DGESV_colmajor lapacke) -+target_link_libraries(xexample_DGELS_rowmajor lapacke) -+target_link_libraries(xexample_DGELS_colmajor lapacke) - - add_test(example_DGESV_rowmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_DGESV_rowmajor) - add_test(example_DGESV_colmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_DGESV_colmajor) -diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in ---- a/LAPACKE/lapacke.pc.in -+++ b/LAPACKE/lapacke.pc.in -@@ -6,4 +6,4 @@ - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack - Libs: -L${libdir} -llapacke --Requires: lapack blas -+Requires.private: lapack -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -455,12 +455,10 @@ - list(REMOVE_DUPLICATES ALLOBJ) - - add_library(lapack ${ALLOBJ} ${ALLXOBJ}) --target_link_libraries(lapack ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) -- -+target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) - set_target_properties( - lapack PROPERTIES - VERSION ${LAPACK_VERSION} - SOVERSION ${LAPACK_MAJOR_VERSION} - ) -- - lapack_install_library(lapack) -diff --git a/TESTING/EIG/CMakeLists.txt b/TESTING/EIG/CMakeLists.txt ---- a/TESTING/EIG/CMakeLists.txt -+++ b/TESTING/EIG/CMakeLists.txt -@@ -119,7 +119,7 @@ - - macro(add_eig_executable name ) - add_executable(${name} ${ARGN}) -- target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES}) -+ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) - endmacro(add_eig_executable) - - if (BUILD_SINGLE) -diff --git a/TESTING/LIN/CMakeLists.txt b/TESTING/LIN/CMakeLists.txt ---- a/TESTING/LIN/CMakeLists.txt -+++ b/TESTING/LIN/CMakeLists.txt -@@ -193,7 +193,7 @@ - - macro(add_lin_executable name ) - add_executable(${name} ${ARGN}) -- target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES}) -+ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) - endmacro(add_lin_executable) - - IF(BUILD_SINGLE) -diff --git a/lapack.pc.in b/lapack.pc.in ---- a/lapack.pc.in -+++ b/lapack.pc.in -@@ -6,4 +6,4 @@ - Version: @LAPACK_VERSION@ - URL: http://www.netlib.org/lapack/ - Libs: -L${libdir} -llapack --Requires: blas -+Requires.private: blas diff --git a/libraries/blas/patches/target-cleanup.diff b/libraries/blas/patches/target-cleanup.diff deleted file mode 100644 index bed89f0ccd..0000000000 --- a/libraries/blas/patches/target-cleanup.diff +++ /dev/null @@ -1,761 +0,0 @@ -diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt ---- a/BLAS/SRC/CMakeLists.txt -+++ b/BLAS/SRC/CMakeLists.txt -@@ -113,29 +113,22 @@ - - set(ZBLAS3 zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f - zhemm.f zherk.f zher2k.f) --# default build all of it --set(ALLOBJ ${SBLAS1} ${SBLAS2} ${SBLAS3} ${DBLAS1} ${DBLAS2} ${DBLAS3} -- ${CBLAS1} ${CBLAS2} ${CBLAS3} ${ZBLAS1} -- ${ZBLAS2} ${ZBLAS3} ${ALLBLAS}) -- --if(BLAS_SINGLE) -- set(ALLOBJ ${SBLAS1} ${ALLBLAS} -- ${SBLAS2} ${SBLAS3}) -+ -+set(ALLOBJ) -+if(BUILD_SINGLE) -+ list(APPEND ALLOBJ ${SBLAS1} ${ALLBLAS} ${SBLAS2} ${SBLAS3}) - endif() --if(BLAS_DOUBLE) -- set(ALLOBJ ${DBLAS1} ${ALLBLAS} -- ${DBLAS2} ${DBLAS3}) -+if(BUILD_DOUBLE) -+ list(APPEND ALLOBJ ${DBLAS1} ${ALLBLAS} ${DBLAS2} ${DBLAS3}) - endif() --if(BLAS_COMPLEX) -- set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} -- ${ALLBLAS} ${CBLAS2}) -+if(BUILD_COMPLEX) -+ list(APPEND ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} ${ALLBLAS} ${CBLAS2} ${CBLAS3}) - endif() --if(BLAS_COMPLEX16) -- set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} -- ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) -+if(BUILD_COMPLEX16) -+ list(APPEND ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) - endif() -- -- -+list(REMOVE_DUPLICATES ALLOBJ) -+ - add_library(blas ${ALLOBJ}) - set_target_properties( - blas PROPERTIES -diff --git a/CBLAS/src/CMakeLists.txt b/CBLAS/src/CMakeLists.txt ---- a/CBLAS/src/CMakeLists.txt -+++ b/CBLAS/src/CMakeLists.txt -@@ -28,34 +28,26 @@ - cblas_ddot.c cblas_dsdot.c cblas_dnrm2.c cblas_dasum.c - cblas_idamax.c ddotsub.f dsdotsub.f dnrm2sub.f - dasumsub.f idamaxsub.f) -- - # - # All object files for single complex precision - # - set (CLEV1 cblas_cswap.c cblas_cscal.c cblas_csscal.c cblas_ccopy.c - cblas_caxpy.c cblas_cdotu_sub.c cblas_cdotc_sub.c - cblas_icamax.c cdotcsub.f cdotusub.f icamaxsub.f) -- - # - # All object files for double complex precision - # - set (ZLEV1 cblas_zswap.c cblas_zscal.c cblas_zdscal.c cblas_zcopy.c -- cblas_zaxpy.c cblas_zdotu_sub.c cblas_zdotc_sub.c cblas_dznrm2.c -- cblas_dzasum.c cblas_izamax.c zdotcsub.f zdotusub.f -- dzasumsub.f dznrm2sub.f izamaxsub.f) -- -- -+ cblas_zaxpy.c cblas_zdotu_sub.c cblas_zdotc_sub.c -+ cblas_izamax.c zdotcsub.f zdotusub.f izamaxsub.f) - # - # Common files for single complex precision - # - set (SCLEV1 cblas_scasum.c scasumsub.f cblas_scnrm2.c scnrm2sub.f) -- -- - # --# All object files -+# Common files for double complex precision - # --set (ALEV1 ${slev1} ${dlev1} ${clev1} ${zlev1} ${sclev1}) -- -+set (DZLEV1 cblas_dzasum.c dzasumsub.f cblas_dznrm2.c dznrm2sub.f) - - # - # -@@ -72,8 +64,6 @@ - cblas_sspr.c cblas_sspr2.c cblas_ssymv.c cblas_ssyr.c cblas_ssyr2.c - cblas_stbmv.c cblas_stbsv.c cblas_stpmv.c cblas_stpsv.c cblas_strmv.c - cblas_strsv.c) -- -- - # - # All object files for double real precision - # -@@ -81,7 +71,6 @@ - cblas_dspr.c cblas_dspr2.c cblas_dsymv.c cblas_dsyr.c cblas_dsyr2.c - cblas_dtbmv.c cblas_dtbsv.c cblas_dtpmv.c cblas_dtpsv.c cblas_dtrmv.c - cblas_dtrsv.c) -- - # - # All object files for single complex precision - # -@@ -89,7 +78,6 @@ - cblas_ctrmv.c cblas_ctbmv.c cblas_ctpmv.c cblas_ctrsv.c cblas_ctbsv.c - cblas_ctpsv.c cblas_cgeru.c cblas_cgerc.c cblas_cher.c cblas_cher2.c - cblas_chpr.c cblas_chpr2.c) -- - # - # All object files for double complex precision - # -@@ -97,10 +85,6 @@ - cblas_ztrmv.c cblas_ztbmv.c cblas_ztpmv.c cblas_ztrsv.c cblas_ztbsv.c - cblas_ztpsv.c cblas_zgeru.c cblas_zgerc.c cblas_zher.c cblas_zher2.c - cblas_zhpr.c cblas_zhpr2.c) --# --# All object files --# --set (AVEL2 ${slev2} ${dlev2} ${clev2} ${zlev2}) - - # - # -@@ -132,36 +116,21 @@ - set (ZLEV3 cblas_zgemm.c cblas_zsymm.c cblas_zhemm.c cblas_zherk.c - cblas_zher2k.c cblas_ztrmm.c cblas_ztrsm.c cblas_zsyrk.c - cblas_zsyr2k.c) --# --# All object files --# --set (ALEV3 ${slev3} ${dlev3} ${clev3} ${zlev3}) -- --# default build all of it --set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND} -- ${DLEV1} ${DLEV2} ${DLEV3} -- ${CLEV1} ${CLEV2} ${CLEV3} -- ${ZLEV1} ${ZLEV2} ${ZLEV3} ) -- --# Single real precision --if(CBLAS_SINGLE) -- set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND}) --endif(CBLAS_SINGLE) -- --# Double real precision --if(CBLAS_DOUBLE) -- set(ALLOBJ ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND}) --endif(CBLAS_DOUBLE) -- --# Single complex precision --if (CBLAS_COMPLEX) -- set(ALLOBJ ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND}) --endif(CBLAS_COMPLEX) - --# Double complex precision --if (CBLAS_COMPLEX16) -- set(ALLOBJ ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND}) --endif(CBLAS_COMPLEX16) -+set(ALLOBJ) -+if(BUILD_SINGLE) -+ list(APPEND ALLOBJ ${SLEV1} ${SCLEV1} ${ERRHAND} ${SLEV2} ${SLEV3}) -+endif() -+if(BUILD_DOUBLE) -+ list(APPEND ALLOBJ ${DLEV1} ${DZLEV1} ${ERRHAND} ${DLEV2} ${DLEV3}) -+endif() -+if(BUILD_COMPLEX) -+ list(APPEND ALLOBJ ${CLEV1} ${SCLEV1} ${ERRHAND} ${CLEV2} ${CLEV3}) -+endif() -+if(BUILD_COMPLEX16) -+ list(APPEND ALLOBJ ${ZLEV1} ${DZLEV1} ${ERRHAND} ${ZLEV2} ${ZLEV3}) -+endif() -+list(REMOVE_DUPLICATES ALLOBJ) - - add_library(cblas ${ALLOBJ}) - target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) -diff --git a/CBLAS/src/Makefile b/CBLAS/src/Makefile ---- a/CBLAS/src/Makefile -+++ b/CBLAS/src/Makefile -@@ -52,9 +52,8 @@ - # All object files for double complex precision - # - zlev1 = cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \ -- cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \ -- cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \ -- dzasumsub.o dznrm2sub.o izamaxsub.o -+ cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o \ -+ cblas_izamax.o zdotcsub.o zdotusub.o izamaxsub.o - - # - # Common files for single / complex precision -@@ -62,9 +61,14 @@ - sclev1 = cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o - - # -+# Common files for double / complex precision -+# -+dzlev1 = cblas_dzasum.o dzasumsub.o cblas_dznrm2.o dznrm2sub.o -+ -+# - # All object files - # --alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) -+alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) $(dzlev1) - - - # -@@ -77,8 +81,8 @@ - $(RANLIB) $(CBLASLIB) - - # Double real precision --dlib1: $(dlev1) -- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1) -+dlib1: $(dlev1) $(dzlev1) -+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1) $(dzlev1) - $(RANLIB) $(CBLASLIB) - - # Single complex precision -@@ -87,8 +91,8 @@ - $(RANLIB) $(CBLASLIB) - - # Double complex precision --zlib1: $(zlev1) -- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1) -+zlib1: $(zlev1) $(dzlev1) -+ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1) $(dzlev1) - $(RANLIB) $(CBLASLIB) - - # All precisions -diff --git a/CBLAS/testing/CMakeLists.txt b/CBLAS/testing/CMakeLists.txt ---- a/CBLAS/testing/CMakeLists.txt -+++ b/CBLAS/testing/CMakeLists.txt -@@ -27,8 +27,6 @@ - - # Object files for single real precision - SET( STESTL1O c_sblas1.c) -- --SET( STESTL2O c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c) - SET( STESTL2O c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c) - SET( STESTL3O c_sblas3.c c_s3chke.c auxiliary.c c_xerbla.c) - -@@ -61,11 +59,9 @@ - add_cblas_test(stest1.out "" xscblat1) - add_cblas_test(stest2.out sin2 xscblat2) - add_cblas_test(stest3.out sin3 xscblat3) -- - endif() - - if(BUILD_DOUBLE) -- - add_executable(xdcblat1 c_dblat1.f ${DTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xdcblat2 c_dblat2.f ${DTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xdcblat3 c_dblat3.f ${DTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) -@@ -77,11 +73,9 @@ - add_cblas_test(dtest1.out "" xdcblat1) - add_cblas_test(dtest2.out din2 xdcblat2) - add_cblas_test(dtest3.out din3 xdcblat3) -- - endif() - - if(BUILD_COMPLEX) -- - add_executable(xccblat1 c_cblat1.f ${CTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xccblat2 c_cblat2.f ${CTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xccblat3 c_cblat3.f ${CTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) -@@ -93,11 +87,9 @@ - add_cblas_test(ctest1.out "" xccblat1) - add_cblas_test(ctest2.out cin2 xccblat2) - add_cblas_test(ctest3.out cin3 xccblat3) -- - endif() - - if(BUILD_COMPLEX16) -- - add_executable(xzcblat1 c_zblat1.f ${ZTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xzcblat2 c_zblat2.f ${ZTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) - add_executable(xzcblat3 c_zblat3.f ${ZTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) -@@ -109,5 +101,4 @@ - add_cblas_test(ztest1.out "" xzcblat1) - add_cblas_test(ztest2.out zin2 xzcblat2) - add_cblas_test(ztest3.out zin3 xzcblat3) -- - endif() -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -148,7 +148,33 @@ - # -------------------------------------------------- - # Precision to build - # By default all precisions are generated -+option(BUILD_SINGLE "Build Single Precision" ON) -+option(BUILD_DOUBLE "Build Double Precision" ON) -+option(BUILD_COMPLEX "Build Complex Precision" ON) -+option(BUILD_COMPLEX16 "Build Double Complex Precision" ON) -+ -+set(PRECISIONS) -+if(BUILD_SINGLE) -+ message(STATUS "Building Single Precision") -+ list(APPEND PRECISIONS "single") -+endif() -+if(BUILD_DOUBLE) -+ message(STATUS "Building Double Precision") -+ list(APPEND PRECISIONS "double") -+endif() -+if(BUILD_COMPLEX) -+ message(STATUS "Building Complex Precision") -+ list(APPEND PRECISIONS "complex") -+endif() -+if(BUILD_COMPLEX16) -+ message(STATUS "Building Double Complex Precision") -+ list(APPEND PRECISIONS "complex16") -+endif() - -+if(NOT PRECISIONS) -+ message(FATAL_ERROR "--> Nothing to build, no precision selected. -+ Please enable at least one of these: BUILD_SINGLE, BUILD_DOUBLE, BUILD_COMPLEX, BUILD_COMPLEX16.") -+endif() - - # -------------------------------------------------- - # Subdirectories that need to be processed -@@ -240,10 +266,6 @@ - if(NOT LATESTLAPACK_FOUND) - message(STATUS "Using supplied NETLIB LAPACK implementation") - set( LAPACK_LIBRARIES lapack ) -- option(BUILD_SINGLE "Build LAPACK Single Precision" ON) -- option(BUILD_DOUBLE "Build LAPACK Double Precision" ON) -- option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON) -- option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON) - add_subdirectory(SRC) - else() - set( CMAKE_EXE_LINKER_FLAGS -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -1,22 +1,28 @@ - ####################################################################### - # This is the makefile to create a library for LAPACK. - # The files are organized as follows: --# ALLAUX -- Auxiliary routines called from all precisions --# ALLXAUX -- Auxiliary routines called from all precisions but --# only from routines using extra precision. --# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX --# DZLAUX -- Auxiliary routines called from both DOUBLE PRECISION --# and COMPLEX*16 --# SLASRC -- Single precision real LAPACK routines -+# ALLAUX -- Auxiliary routines called from all precisions -+# -+# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX. -+# DZLAUX -- Auxiliary routines called from both DOUBLE and COMPLEX*16. -+# -+# DSLASRC -- Double-single mixed precision real routines called from -+# single, single-extra and double precision real LAPACK -+# routines (i.e. from SLASRC, SXLASRC, DLASRC). -+# ZCLASRC -- Double-single mixed precision complex routines called from -+# single, single-extra and double precision complex LAPACK -+# routines (i.e. from CLASRC, CXLASRC, ZLASRC). -+# -+# SLASRC -- Single precision real LAPACK routines - # SXLASRC -- Single precision real LAPACK routines using extra - # precision. --# CLASRC -- Single precision complex LAPACK routines -+# CLASRC -- Single precision complex LAPACK routines - # CXLASRC -- Single precision complex LAPACK routines using extra - # precision. --# DLASRC -- Double precision real LAPACK routines -+# DLASRC -- Double precision real LAPACK routines - # DXLASRC -- Double precision real LAPACK routines using extra - # precision. --# ZLASRC -- Double precision complex LAPACK routines -+# ZLASRC -- Double precision complex LAPACK routines - # ZXLASRC -- Double precision complex LAPACK routines using extra - # precision. - # -@@ -51,8 +57,6 @@ - ../INSTALL/ilaver.f ../INSTALL/lsame.f xerbla.f xerbla_array.f - ../INSTALL/slamch.f) - --set(ALLXAUX ) -- - set(SCLAUX - sbdsdc.f - sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f -@@ -97,8 +101,8 @@ - sgels.f sgelsd.f sgelss.f sgelsy.f sgeql2.f sgeqlf.f - sgeqp3.f sgeqr2.f sgeqr2p.f sgeqrf.f sgeqrfp.f sgerfs.f sgerq2.f sgerqf.f - sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvdx.f sgesvx.f sgetc2.f sgetf2.f -- sgetrf.f sgetrf2.f sgetri.f -- sgetrs.f sggbak.f sggbal.f -+ sgetrf2.f sgetri.f -+ sggbak.f sggbal.f - sgges.f sgges3.f sggesx.f sggev.f sggev3.f sggevx.f - sggglm.f sgghrd.f sgghd3.f sgglse.f sggqrf.f - sggrqf.f sggsvd3.f sggsvp3.f sgtcon.f sgtrfs.f sgtsv.f -@@ -123,7 +127,7 @@ - sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f - spbstf.f spbsv.f spbsvx.f - spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f -- sposvx.f spotf2.f spotrf.f spotrf2.f spotri.f spotrs.f spstrf.f spstf2.f -+ sposvx.f spotf2.f spotrf2.f spotri.f spstrf.f spstf2.f - sppcon.f sppequ.f - spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f - spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f -@@ -172,8 +176,8 @@ - cgeqr2.f cgeqr2p.f cgeqrf.f cgeqrfp.f cgerfs.f cgerq2.f cgerqf.f - cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvdx.f - cgesvj.f cgejsv.f cgsvj0.f cgsvj1.f -- cgesvx.f cgetc2.f cgetf2.f cgetrf.f cgetrf2.f -- cgetri.f cgetrs.f -+ cgesvx.f cgetc2.f cgetf2.f cgetrf2.f -+ cgetri.f - cggbak.f cggbal.f - cgges.f cgges3.f cggesx.f cggev.f cggev3.f cggevx.f - cggglm.f cgghrd.f cgghd3.f cgglse.f cggqrf.f cggrqf.f -@@ -207,7 +211,7 @@ - claswp.f clasyf.f clasyf_rook.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f - clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f - cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f -- cposv.f cposvx.f cpotf2.f cpotrf.f cpotrf2.f cpotri.f cpotrs.f cpstrf.f cpstf2.f -+ cposv.f cposvx.f cpotf2.f cpotrf2.f cpotri.f cpstrf.f cpstf2.f - cppcon.f cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f - cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f - crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f -@@ -409,52 +413,45 @@ - zla_heamv.f zla_hercond_c.f zla_hercond_x.f zla_herpvgrw.f - zla_lin_berr.f zlarscl2.f zlascl2.f zla_wwaddw.f) - -- --if( USE_XBLAS) -- set(ALLXOBJ ${SXLASRC} ${DXLASRC} ${CXLASRC} ${ZXLASRC} ${ALLXAUX}) -+if(USE_XBLAS) -+ list(APPEND SLASRC ${SXLASRC}) -+ list(APPEND DLASRC ${DXLASRC}) -+ list(APPEND CLASRC ${CXLASRC}) -+ list(APPEND ZLASRC ${ZXLASRC}) - endif() - - if(BUILD_DEPRECATED) -- LIST(APPEND SLASRC DEPRECATED/sgegs.f DEPRECATED/sgegv.f -+ LIST(APPEND SLASRC DEPRECATED/sgegs.f DEPRECATED/sgegv.f - DEPRECATED/sgeqpf.f DEPRECATED/sgelsx.f DEPRECATED/sggsvd.f - DEPRECATED/sggsvp.f DEPRECATED/slahrd.f DEPRECATED/slatzm.f DEPRECATED/stzrqf.f) -- LIST(APPEND DLASRC DEPRECATED/dgegs.f DEPRECATED/dgegv.f -+ LIST(APPEND DLASRC DEPRECATED/dgegs.f DEPRECATED/dgegv.f - DEPRECATED/dgeqpf.f DEPRECATED/dgelsx.f DEPRECATED/dggsvd.f -- DEPRECATED/dggsvp.f DEPRECATED/dlahrd.f DEPRECATED/dlatzm.f DEPRECATED/dtzrqf.f ) -+ DEPRECATED/dggsvp.f DEPRECATED/dlahrd.f DEPRECATED/dlatzm.f DEPRECATED/dtzrqf.f) - LIST(APPEND CLASRC DEPRECATED/cgegs.f DEPRECATED/cgegv.f - DEPRECATED/cgeqpf.f DEPRECATED/cgelsx.f DEPRECATED/cggsvd.f - DEPRECATED/cggsvp.f DEPRECATED/clahrd.f DEPRECATED/clatzm.f DEPRECATED/ctzrqf.f) - LIST(APPEND ZLASRC DEPRECATED/zgegs.f DEPRECATED/zgegv.f - DEPRECATED/zgeqpf.f DEPRECATED/zgelsx.f DEPRECATED/zggsvd.f - DEPRECATED/zggsvp.f DEPRECATED/zlahrd.f DEPRECATED/zlatzm.f DEPRECATED/ztzrqf.f) -- message(STATUS "Building deprecated routines") -+ message(STATUS "Building LAPACK deprecated routines") - endif() - -+set(ALLOBJ) - if(BUILD_SINGLE) --set(ALLOBJ ${SLASRC} ${ALLAUX} ${SCLAUX} ) --message(STATUS "Building Single Precision") -+ list(APPEND ALLOBJ ${SLASRC} ${ALLAUX} ${SCLAUX} ${DSLASRC}) - endif() - if(BUILD_DOUBLE) -- set(ALLOBJ ${ALLOBJ} ${DLASRC} ${ALLAUX} ${DZLAUX} ${DSLASRC}) --message(STATUS "Building Double Precision") -+ list(APPEND ALLOBJ ${DLASRC} ${ALLAUX} ${DZLAUX} ${DSLASRC}) - endif() - if(BUILD_COMPLEX) -- set(ALLOBJ ${ALLOBJ} ${CLASRC} ${ALLAUX} ${SCLAUX} ) --message(STATUS "Building Complex Precision") -+ list(APPEND ALLOBJ ${CLASRC} ${ALLAUX} ${SCLAUX} ${ZCLASRC}) - endif() - if(BUILD_COMPLEX16) -- set(ALLOBJ ${ALLOBJ} ${ZLASRC} ${ALLAUX} ${DZLAUX} ${ZCLASRC}) --message(STATUS "Building Double Complex Precision") --endif() -- --if (NOT ALLOBJ) -- message(FATAL_ERROR "-->LAPACK SRC BUILD: NOTHING TO BUILD, NO PRECISION SELECTED: -- PLEASE ENABLE AT LEAST ONE OF THOSE: BUILD_SINGLE, BUILD_COMPLEX, BUILD_DOUBLE, BUILD_COMPLEX16.") -+ list(APPEND ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX} ${ZCLASRC}) - endif() -- - list(REMOVE_DUPLICATES ALLOBJ) - --add_library(lapack ${ALLOBJ} ${ALLXOBJ}) -+add_library(lapack ${ALLOBJ}) - target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) - set_target_properties( - lapack PROPERTIES -diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt ---- a/TESTING/CMakeLists.txt -+++ b/TESTING/CMakeLists.txt -@@ -289,7 +289,7 @@ - endif() - - --if (BUILD_SIMPLE) -+if (BUILD_SINGLE) - if (BUILD_DOUBLE) - # - # ======== SINGLE-DOUBLE PROTO LIN TESTS ============== -diff --git a/TESTING/LIN/CMakeLists.txt b/TESTING/LIN/CMakeLists.txt ---- a/TESTING/LIN/CMakeLists.txt -+++ b/TESTING/LIN/CMakeLists.txt -@@ -13,10 +13,10 @@ - schksp.f schksy.f schksy_rook.f schktb.f schktp.f schktr.f - schktz.f - sdrvgt.f sdrvls.f sdrvpb.f -- sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy.f sdrvsy_rook.f -+ sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy_rook.f - serrgt.f serrlq.f serrls.f -- serrpo.f serrps.f serrql.f serrqp.f serrqr.f -- serrrq.f serrsy.f serrtr.f serrtz.f serrvx.f -+ serrps.f serrql.f serrqp.f serrqr.f -+ serrrq.f serrtr.f serrtz.f - sgbt01.f sgbt02.f sgbt05.f sgelqs.f sgeqls.f sgeqrs.f - sgerqs.f sget01.f sget02.f - sget03.f sget04.f sget06.f sget07.f sgtt01.f sgtt02.f -@@ -37,9 +37,11 @@ - sqrt04.f sqrt05.f schkqrt.f serrqrt.f schkqrtp.f serrqrtp.f) - - if(USEXBLAS) -- list(APPEND SLINTST sdrvgex.f serrgex.f sdrvgbx.f sdrvpox.f sebchvxx.f) -+ list(APPEND SLINTST serrvxx.f sdrvgex.f sdrvsyx.f serrgex.f sdrvgbx.f sdrvpox.f -+ sebchvxx.f serrsyx.f serrpox.f) - else() -- list(APPEND SLINTST sdrvge.f serrge.f sdrvgb.f sdrvpo.f) -+ list(APPEND SLINTST serrvx.f sdrvge.f sdrvsy.f serrge.f sdrvgb.f sdrvpo.f -+ serrsy.f serrpo.f) - endif() - - set(CLINTST cchkaa.f -@@ -48,13 +50,12 @@ - cchkpo.f cchkps.f cchkpp.f cchkpt.f cchkq3.f cchkql.f - cchkqr.f cchkrq.f cchksp.f cchksy.f cchksy_rook.f cchktb.f - cchktp.f cchktr.f cchktz.f -- cdrvgt.f cdrvhe.f cdrvhe_rook.f cdrvhp.f -+ cdrvgt.f cdrvhe_rook.f cdrvhp.f - cdrvls.f cdrvpb.f cdrvpp.f cdrvpt.f -- cdrvsp.f cdrvsy.f cdrvsy_rook.f -- cerrgt.f cerrhe.f cerrlq.f -+ cdrvsp.f cdrvsy_rook.f -+ cerrgt.f cerrlq.f - cerrls.f cerrps.f cerrql.f cerrqp.f -- cerrqr.f cerrrq.f cerrsy.f cerrtr.f cerrtz.f -- cerrvx.f -+ cerrqr.f cerrrq.f cerrtr.f cerrtz.f - cgbt01.f cgbt02.f cgbt05.f cgelqs.f cgeqls.f cgeqrs.f - cgerqs.f cget01.f cget02.f - cget03.f cget04.f cget07.f cgtt01.f cgtt02.f -@@ -77,10 +78,11 @@ - cqrt04.f cqrt05.f cchkqrt.f cerrqrt.f cchkqrtp.f cerrqrtp.f ) - - if(USEXBLAS) -- list(APPEND -- CLINTST cdrvgex.f cdrvgbx.f cerrgex.f cdrvpox.f cerrpox.f cebchvxx.f) -+ list(APPEND CLINTST cerrvxx.f cdrvgex.f cdrvsyx.f cdrvgbx.f cerrgex.f cdrvpox.f -+ cdrvhex.f cerrpox.f cebchvxx.f cerrsyx.f cerrhex.f) - else() -- list(APPEND CLINTST cdrvge.f cdrvgb.f cerrge.f cdrvpo.f cerrpo.f) -+ list(APPEND CLINTST cerrvx.f cdrvge.f cdrvsy.f cdrvgb.f cerrge.f cdrvpo.f -+ cdrvhe.f cerrpo.f cerrsy.f cerrhe.f) - endif() - - set(DLINTST dchkaa.f -@@ -90,10 +92,10 @@ - dchksp.f dchksy.f dchksy_rook.f dchktb.f dchktp.f dchktr.f - dchktz.f - ddrvgt.f ddrvls.f ddrvpb.f -- ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy.f ddrvsy_rook.f -+ ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy_rook.f - derrgt.f derrlq.f derrls.f - derrps.f derrql.f derrqp.f derrqr.f -- derrrq.f derrsy.f derrtr.f derrtz.f derrvx.f -+ derrrq.f derrtr.f derrtz.f - dgbt01.f dgbt02.f dgbt05.f dgelqs.f dgeqls.f dgeqrs.f - dgerqs.f dget01.f dget02.f - dget03.f dget04.f dget06.f dget07.f dgtt01.f dgtt02.f -@@ -114,11 +116,11 @@ - dqrt04.f dqrt05.f dchkqrt.f derrqrt.f dchkqrtp.f derrqrtp.f ) - - if(USEXBLAS) -- list(APPEND -- DLINTST ddrvgex.f ddrvgbx.f derrgex.f ddrvpox.f derrpox.f debchvxx.f) -+ list(APPEND DLINTST derrvxx.f ddrvgex.f ddrvsyx.f ddrvgbx.f derrgex.f ddrvpox.f derrpox.f -+ debchvxx.f derrsyx.f) - else() -- list(APPEND -- DLINTST ddrvge.f ddrvgb.f derrge.f ddrvpo.f derrpo.f) -+ list(APPEND DLINTST derrvx.f ddrvge.f ddrvsy.f ddrvgb.f derrge.f ddrvpo.f derrpo.f -+ derrsy.f) - endif() - - set(ZLINTST zchkaa.f -@@ -127,17 +129,16 @@ - zchkpo.f zchkps.f zchkpp.f zchkpt.f zchkq3.f zchkql.f - zchkqr.f zchkrq.f zchksp.f zchksy.f zchksy_rook.f zchktb.f - zchktp.f zchktr.f zchktz.f -- zdrvgt.f zdrvhe.f zdrvhe_rook.f zdrvhp.f -+ zdrvgt.f zdrvhe_rook.f zdrvhp.f - zdrvls.f zdrvpb.f zdrvpp.f zdrvpt.f -- zdrvsp.f zdrvsy.f zdrvsy_rook.f -- zerrgt.f zerrhe.f zerrlq.f -+ zdrvsp.f zdrvsy_rook.f -+ zerrgt.f zerrlq.f - zerrls.f zerrps.f zerrql.f zerrqp.f -- zerrqr.f zerrrq.f zerrsy.f zerrtr.f zerrtz.f -- zerrvx.f -+ zerrqr.f zerrrq.f zerrtr.f zerrtz.f - zgbt01.f zgbt02.f zgbt05.f zgelqs.f zgeqls.f zgeqrs.f - zgerqs.f zget01.f zget02.f - zget03.f zget04.f zget07.f zgtt01.f zgtt02.f -- zgtt05.f zhet01.f zhet01.f zhet01_rook.f zhpt01.f zlaipd.f zlaptm.f zlarhs.f zlatb4.f zlatb5.f -+ zgtt05.f zhet01.f zhet01_rook.f zhpt01.f zlaipd.f zlaptm.f zlarhs.f zlatb4.f zlatb5.f - zlatsp.f zlatsy.f zlattb.f zlattp.f zlattr.f - zlavhe.f zlavhe_rook.f zlavhp.f zlavsp.f zlavsy.f zlavsy_rook.f zlqt01.f - zlqt02.f zlqt03.f zpbt01.f zpbt02.f zpbt05.f -@@ -156,11 +157,11 @@ - zqrt04.f zqrt05.f zchkqrt.f zerrqrt.f zchkqrtp.f zerrqrtp.f ) - - if(USEXBLAS) -- list(APPEND -- ZLINTST zdrvgex.f zdrvgbx.f zerrgex.f zdrvpox.f zerrpox.f zebchvxx.f) -+ list(APPEND ZLINTST zerrvxx.f zdrvgex.f zdrvsyx.f zdrvgbx.f zerrgex.f zdrvpox.f zdrvhex.f -+ zerrpox.f zebchvxx.f zerrsyx.f zerrhex.f) - else() -- list(APPEND -- ZLINTST zdrvge.f zdrvgb.f zerrge.f zdrvpo.f zerrpo.f) -+ list(APPEND ZLINTST zerrvx.f zdrvge.f zdrvsy.f zdrvgb.f zerrge.f zdrvpo.f zdrvhe.f -+ zerrpo.f zerrsy.f zerrhe.f) - endif() - - set(DSLINTST dchkab.f -@@ -197,29 +198,29 @@ - endmacro(add_lin_executable) - - IF(BUILD_SINGLE) --add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST} ${SECOND_SRC} ) -+add_lin_executable(xlintsts ${ALINTST} ${SLINTST} ${SCLNTST} ${SECOND_SRC}) - add_lin_executable(xlintstrfs ${SLINTSTRFP} ${SECOND_SRC}) - endif() - - if(BUILD_DOUBLE) --add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST} ${DSECOND_SRC}) -+add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST} ${DSECOND_SRC}) - add_lin_executable(xlintstrfd ${DLINTSTRFP} ${DSECOND_SRC}) - endif() - - IF(BUILD_SINGLE AND BUILD_DOUBLE) --add_lin_executable(xlintstds ${DSLINTST} ${SECOND_SRC} ${DSECOND_SRC} ) -+add_lin_executable(xlintstds ${DSLINTST} ${SECOND_SRC} ${DSECOND_SRC}) - endif() - - if(BUILD_COMPLEX) --add_lin_executable(xlintstc ${ALINTST} ${CLINTST} ${SCLNTST} ${SECOND_SRC} ) --add_lin_executable(xlintstrfc ${CLINTSTRFP} ${SECOND_SRC}) -+add_lin_executable(xlintstc ${ALINTST} ${CLINTST} ${SCLNTST} ${SECOND_SRC}) -+add_lin_executable(xlintstrfc ${CLINTSTRFP} ${SECOND_SRC}) - endif() - - if(BUILD_COMPLEX16) --add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST} ${DSECOND_SRC}) -+add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST} ${DSECOND_SRC}) - add_lin_executable(xlintstrfz ${ZLINTSTRFP} ${DSECOND_SRC}) - endif() - - IF(BUILD_COMPLEX AND BUILD_COMPLEX16) --add_lin_executable(xlintstzc ${ZCLINTST} ${SECOND_SRC} ${DSECOND_SRC} ) -+add_lin_executable(xlintstzc ${ZCLINTST} ${SECOND_SRC} ${DSECOND_SRC}) - endif() -diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt ---- a/TESTING/MATGEN/CMakeLists.txt -+++ b/TESTING/MATGEN/CMakeLists.txt -@@ -31,45 +31,41 @@ - # - ####################################################################### - --set(SCATGEN slatm1.f slaran.f slarnd.f) -+set(SCATGEN slatm1.f slatm7.f slaran.f slarnd.f) - - set(SMATGEN slatms.f slatme.f slatmr.f slatmt.f - slagge.f slagsy.f slakf2.f slarge.f slaror.f slarot.f slatm2.f -- slatm3.f slatm5.f slatm6.f slatm7.f slahilb.f) -+ slatm3.f slatm5.f slatm6.f slahilb.f) - - set(CMATGEN clatms.f clatme.f clatmr.f clatmt.f - clagge.f claghe.f clagsy.f clakf2.f clarge.f claror.f clarot.f -- clatm1.f clarnd.f clatm2.f clatm3.f clatm5.f clatm6.f clahilb.f slatm7.f) -+ clatm1.f clarnd.f clatm2.f clatm3.f clatm5.f clatm6.f clahilb.f) - --set(DZATGEN dlatm1.f dlaran.f dlarnd.f) -+set(DZATGEN dlatm1.f dlatm7.f dlaran.f dlarnd.f) - - set(DMATGEN dlatms.f dlatme.f dlatmr.f dlatmt.f - dlagge.f dlagsy.f dlakf2.f dlarge.f dlaror.f dlarot.f dlatm2.f -- dlatm3.f dlatm5.f dlatm6.f dlatm7.f dlahilb.f) -+ dlatm3.f dlatm5.f dlatm6.f dlahilb.f) - - set(ZMATGEN zlatms.f zlatme.f zlatmr.f zlatmt.f -- zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f -- zlatm1.f zlarnd.f zlatm2.f zlatm3.f zlatm5.f zlatm6.f zlahilb.f dlatm7.f) -+ zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f -+ zlatm1.f zlarnd.f zlatm2.f zlatm3.f zlatm5.f zlatm6.f zlahilb.f) - -+set(ALLOBJ) - if(BUILD_SINGLE) -- set(ALLOBJ ${SMATGEN} ${SCATGEN}) -+ list(APPEND ALLOBJ ${SMATGEN} ${SCATGEN}) - endif() - if(BUILD_DOUBLE) -- set(ALLOBJ ${ALLOBJ} ${DMATGEN} ${DZATGEN}) -+ list(APPEND ALLOBJ ${DMATGEN} ${DZATGEN}) - endif() - if(BUILD_COMPLEX) -- set(ALLOBJ ${ALLOBJ} ${CMATGEN} ${SCATGEN}) -+ list(APPEND ALLOBJ ${CMATGEN} ${SCATGEN}) - endif() - if(BUILD_COMPLEX16) -- set(ALLOBJ ${ALLOBJ} ${ZMATGEN} ${DZATGEN}) -+ list(APPEND ALLOBJ ${ZMATGEN} ${DZATGEN}) - endif() -+list(REMOVE_DUPLICATES ALLOBJ) - --if (NOT ALLOBJ) --set(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN} -- ${DZATGEN}) --else() -- list(REMOVE_DUPLICATES ALLOBJ) --endif() --add_library(tmglib ${ALLOBJ} ) -+add_library(tmglib ${ALLOBJ}) - target_link_libraries(tmglib ${LAPACK_LIBRARIES}) - lapack_install_library(tmglib) -diff --git a/TESTING/MATGEN/Makefile b/TESTING/MATGEN/Makefile ---- a/TESTING/MATGEN/Makefile -+++ b/TESTING/MATGEN/Makefile -@@ -33,21 +33,21 @@ - # - ####################################################################### - --SCATGEN = slatm1.o slaran.o slarnd.o -+SCATGEN = slatm1.o slatm7.o slaran.o slarnd.o - - SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \ - slagge.o slagsy.o slakf2.o slarge.o slaror.o slarot.o slatm2.o \ -- slatm3.o slatm5.o slatm6.o slatm7.o slahilb.o -+ slatm3.o slatm5.o slatm6.o slahilb.o - - CMATGEN = clatms.o clatme.o clatmr.o clatmt.o \ - clagge.o claghe.o clagsy.o clakf2.o clarge.o claror.o clarot.o \ - clatm1.o clarnd.o clatm2.o clatm3.o clatm5.o clatm6.o clahilb.o - --DZATGEN = dlatm1.o dlaran.o dlarnd.o -+DZATGEN = dlatm1.o dlatm7.o dlaran.o dlarnd.o - - DMATGEN = dlatms.o dlatme.o dlatmr.o dlatmt.o \ - dlagge.o dlagsy.o dlakf2.o dlarge.o dlaror.o dlarot.o dlatm2.o \ -- dlatm3.o dlatm5.o dlatm6.o dlatm7.o dlahilb.o -+ dlatm3.o dlatm5.o dlatm6.o dlahilb.o - - ZMATGEN = zlatms.o zlatme.o zlatmr.o zlatmt.o \ - zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \ diff --git a/libraries/blas/slack-desc b/libraries/blas/slack-desc index 4bd94f9b7f..7469869228 100644 --- a/libraries/blas/slack-desc +++ b/libraries/blas/slack-desc @@ -16,4 +16,4 @@ blas: Level 3 BLAS perform matrix-matrix operations. Because the BLAS are blas: efficient, portable, and widely available, they are commonly used in blas: the development of high quality linear algebra software. blas: -blas: Note: This package contains the reference *unoptimized* BLAS library. +blas: Note: This package contains the Netlib reference BLAS library. |