academic/lapacke: Updated for version 3.7.1.

Signed-off-by: Kyle Guinn <elyk03@gmail.com>
This commit is contained in:
Kyle Guinn 2017-06-28 01:44:29 -05:00 committed by Willy Sudiarto Raharjo
parent cb02371b45
commit b60615cf24
6 changed files with 181 additions and 1313 deletions

View File

@ -2,7 +2,7 @@
# Slackware build script for LAPACKE
# Copyright 2016 Kyle Guinn <elyk03@gmail.com>, USA
# Copyright 2016-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=lapacke
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 LAPACKE 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 LAPACKE component.
patch -p1 < $CWD/patches/cmake-piecewise.diff
# Avoid adding an RPATH entry to the shared lib. It's unnecessary (except for
@ -85,7 +81,6 @@ cd shared
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DUSE_OPTIMIZED_LAPACK=ON \
-DBUILD_LAPACKE=ON \
-DBUILD_TESTING=OFF \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_SKIP_RPATH=YES \
..
@ -106,7 +101,6 @@ cd static
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DUSE_OPTIMIZED_LAPACK=ON \
-DBUILD_LAPACKE=ON \
-DBUILD_TESTING=OFF \
..
make
make install/strip DESTDIR=$PKG

View File

@ -1,8 +1,8 @@
PRGNAM="lapacke"
VERSION="3.6.1"
VERSION="3.7.1"
HOMEPAGE="http://www.netlib.org/lapack/lapacke.html"
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="lapack"

View File

@ -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 )
-else()
- 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}"
- CACHE STRING "Linker flags for modules" FORCE)
- 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)
set(BLAS_LIBRARIES blas)
-else()
- 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}"
- CACHE STRING "Linker flags for modules" FORCE)
- set(CMAKE_SHARED_LINKER_FLAGS
- "${CMAKE_SHARED_LINKER_FLAGS} ${BLAS_LINKER_FLAGS}"
- CACHE STRING "Linker flags for shared libs" FORCE)
-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)
-endif()
-
-# Include cblas in targets exported from the build tree.
-if(CBLAS)
- set(ALL_TARGETS ${ALL_TARGETS} cblas)
-endif()
-
-# Include lapacke in targets exported from the build tree.
-if(LAPACKE)
- set(ALL_TARGETS ${ALL_TARGETS} 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()
-# Include cblas in targets exported from the build tree.
-if(CBLAS)
- set(ALL_TARGETS ${ALL_TARGETS} cblas)
-endif(CBLAS)
-
-# Include lapacke in targets exported from the build tree.
-if(LAPACKE)
- set(ALL_TARGETS ${ALL_TARGETS} lapacke)
-endif(LAPACKE)
-
-# 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.

View File

@ -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

View File

@ -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

View File

@ -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 \