diff options
35 files changed, 1030 insertions, 1071 deletions
diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt index b9f722d6..41c48043 100644 --- a/BLAS/SRC/CMakeLists.txt +++ b/BLAS/SRC/CMakeLists.txt @@ -23,39 +23,10 @@ # DBLAS3 -- Double precision real BLAS3 routines # ZBLAS3 -- Double precision complex BLAS3 routines # -# The library can be set up to include routines for any combination -# of the four precisions. To create or add to the library, enter make -# followed by one or more of the precisions desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Note that these commands are not safe for parallel builds. -# -# Alternatively, the commands -# make all -# or -# make -# without any arguments creates a library of all four precisions. -# The name of the library is held in BLASLIB, which is set in the -# top-level make.inc -# -# To remove the object files after the library is created, enter -# make clean -# To force the source files to be recompiled, enter, for example, -# make single FRC=FRC -# -#--------------------------------------------------------------------- -# -# Edward Anderson, University of Tennessee -# March 26, 1990 -# Susan Ostrouchov, Last updated September 30, 1994 -# ejr, May 2006. -# ####################################################################### #--------------------------------------------------------- -# Comment out the next 6 definitions if you already have -# the Level 1 BLAS. +# Level 1 BLAS #--------------------------------------------------------- set(SBLAS1 isamax.f sasum.f saxpy.f scopy.f sdot.f snrm2.f srot.f srotg.f sscal.f sswap.f sdsdot.f srotmg.f srotm.f) @@ -74,15 +45,12 @@ set(CB1AUX isamax.f sasum.f saxpy.f scopy.f snrm2.f sscal.f) set(ZB1AUX idamax.f dasum.f daxpy.f dcopy.f dnrm2.f dscal.f) #--------------------------------------------------------------------- -# The following line defines auxiliary routines needed by both the -# Level 2 and Level 3 BLAS. Comment it out only if you already have -# both the Level 2 and 3 BLAS. +# Auxiliary routines needed by both the Level 2 and Level 3 BLAS #--------------------------------------------------------------------- set(ALLBLAS lsame.f xerbla.f xerbla_array.f) #--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 2 BLAS. +# Level 2 BLAS #--------------------------------------------------------- set(SBLAS2 sgemv.f sgbmv.f ssymv.f ssbmv.f sspmv.f strmv.f stbmv.f stpmv.f strsv.f stbsv.f stpsv.f @@ -101,8 +69,7 @@ set(ZBLAS2 zgemv.f zgbmv.f zhemv.f zhbmv.f zhpmv.f zgerc.f zgeru.f zher.f zhpr.f zher2.f zhpr2.f) #--------------------------------------------------------- -# Comment out the next 4 definitions if you already have -# the Level 3 BLAS. +# Level 3 BLAS #--------------------------------------------------------- set(SBLAS3 sgemm.f ssymm.f ssyrk.f ssyr2k.f strmm.f strsm.f) @@ -113,30 +80,24 @@ set(DBLAS3 dgemm.f dsymm.f dsyrk.f dsyr2k.f dtrmm.f dtrsm.f) 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(SOURCES) +if(BUILD_SINGLE) + list(APPEND SOURCES ${SBLAS1} ${ALLBLAS} ${SBLAS2} ${SBLAS3}) endif() -if(BLAS_DOUBLE) - set(ALLOBJ ${DBLAS1} ${ALLBLAS} - ${DBLAS2} ${DBLAS3}) +if(BUILD_DOUBLE) + list(APPEND SOURCES ${DBLAS1} ${ALLBLAS} ${DBLAS2} ${DBLAS3}) endif() -if(BLAS_COMPLEX) - set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} - ${ALLBLAS} ${CBLAS2}) +if(BUILD_COMPLEX) + list(APPEND SOURCES ${CBLAS1} ${CB1AUX} ${ALLBLAS} ${CBLAS2} ${CBLAS3}) endif() -if(BLAS_COMPLEX16) - set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} - ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) +if(BUILD_COMPLEX16) + list(APPEND SOURCES ${ZBLAS1} ${ZB1AUX} ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) endif() +list(REMOVE_DUPLICATES SOURCES) - -add_library(blas ${ALLOBJ}) +add_library(blas ${SOURCES}) set_target_properties( blas PROPERTIES VERSION ${LAPACK_VERSION} diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt index 580864fb..f7be6e2d 100644 --- a/CBLAS/CMakeLists.txt +++ b/CBLAS/CMakeLists.txt @@ -45,7 +45,7 @@ endif() set(_cblas_config_install_guard_target "") if(ALL_TARGETS) install(EXPORT cblas-targets - DESTINATION ${LIBRARY_DIR}/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) @@ -78,8 +78,8 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-install.cmake.in install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/cblas-config.cmake ${LAPACK_BINARY_DIR}/cblas-config-version.cmake - DESTINATION ${LIBRARY_DIR}/cmake/cblas-${LAPACK_VERSION} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION} ) #install(EXPORT cblas-targets -# DESTINATION ${LIBRARY_DIR}/cmake/cblas-${LAPACK_VERSION}) +# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}) diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in index 4a938fe1..7cf09f21 100644 --- a/CBLAS/cblas.pc.in +++ b/CBLAS/cblas.pc.in @@ -6,4 +6,4 @@ Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms 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 index a4bab6be..0241fd16 100644 --- a/CBLAS/examples/CMakeLists.txt +++ b/CBLAS/examples/CMakeLists.txt @@ -1,7 +1,7 @@ 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(xexample1_CBLAS cblas) target_link_libraries(xexample2_CBLAS cblas ${BLAS_LIBRARIES}) add_test(example1_CBLAS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample1_CBLAS) diff --git a/CBLAS/src/CMakeLists.txt b/CBLAS/src/CMakeLists.txt index 6577656b..e05d3cdb 100644 --- a/CBLAS/src/CMakeLists.txt +++ b/CBLAS/src/CMakeLists.txt @@ -97,32 +97,28 @@ 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) -# default build all of it -set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND} - ${DLEV1} ${DLEV2} ${DLEV3} - ${CLEV1} ${CLEV2} ${CLEV3} - ${ZLEV1} ${ZLEV2} ${ZLEV3}) - -# Single precision real -if(CBLAS_SINGLE) - set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND}) -endif() -# Double precision real -if(CBLAS_DOUBLE) - set(ALLOBJ ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND}) +set(SOURCES) +if(BUILD_SINGLE) + list(APPEND SOURCES ${SLEV1} ${SCLEV1} ${SLEV2} ${SLEV3} ${ERRHAND}) endif() - -# Single precision complex -if(CBLAS_COMPLEX) - set(ALLOBJ ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND}) +if(BUILD_DOUBLE) + list(APPEND SOURCES ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND}) endif() - -# Double precision complex -if(CBLAS_COMPLEX16) - set(ALLOBJ ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND}) +if(BUILD_COMPLEX) + list(APPEND SOURCES ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND}) endif() - -add_library(cblas ${ALLOBJ}) -target_link_libraries(cblas ${BLAS_LIBRARIES}) +if(BUILD_COMPLEX16) + list(APPEND SOURCES ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND}) +endif() +list(REMOVE_DUPLICATES SOURCES) + +add_library(cblas ${SOURCES}) +set_target_properties( + cblas PROPERTIES + LINKER_LANGUAGE C + VERSION ${LAPACK_VERSION} + SOVERSION ${LAPACK_MAJOR_VERSION} + ) +target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) lapack_install_library(cblas) diff --git a/CBLAS/testing/CMakeLists.txt b/CBLAS/testing/CMakeLists.txt index fe9a51e1..eb32e73d 100644 --- a/CBLAS/testing/CMakeLists.txt +++ b/CBLAS/testing/CMakeLists.txt @@ -52,9 +52,9 @@ if(BUILD_SINGLE) 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) @@ -66,9 +66,9 @@ if(BUILD_DOUBLE) 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) @@ -81,8 +81,8 @@ if(BUILD_COMPLEX) 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(xccblat2 cblas) + target_link_libraries(xccblat3 cblas) add_cblas_test(ctest1.out "" xccblat1) add_cblas_test(ctest2.out cin2 xccblat2) @@ -94,9 +94,9 @@ if(BUILD_COMPLEX16) 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 index beb73210..943e3cfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,8 @@ set( ${LAPACK_MAJOR_VERSION}.${LAPACK_MINOR_VERSION}.${LAPACK_PATCH_VERSION} ) +include(GNUInstallDirs) + # Updated OSX RPATH settings # In response to CMake 3.0 generating warnings regarding policy CMP0042, # the OSX RPATH settings have been updated per recommendations found @@ -26,9 +28,9 @@ set( set(CMAKE_MACOSX_RPATH ON) set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) -list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" isSystemDir) +list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES ${CMAKE_INSTALL_FULL_LIBDIR} isSystemDir) if("${isSystemDir}" STREQUAL "-1") - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) endif() @@ -96,32 +98,21 @@ endif() set(LAPACK_INSTALL_EXPORT_NAME lapack-targets) -if(UNIX) - include(GNUInstallDirs) - set(ARCHIVE_DIR ${CMAKE_INSTALL_LIBDIR}) - set(LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}) - set(RUNTIME_DIR ${CMAKE_INSTALL_BINDIR}) -else() - set(ARCHIVE_DIR lib${LIB_SUFFIX}) - set(LIBRARY_DIR lib${LIB_SUFFIX}) - set(RUNTIME_DIR bin) -endif() - 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} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) endmacro() -set(PKG_CONFIG_DIR ${LIBRARY_DIR}/pkgconfig) +set(PKG_CONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig) set(prefix ${CMAKE_INSTALL_PREFIX}) -if(NOT IS_ABSOLUTE ${LIBRARY_DIR}) - set(libdir "\${prefix}/${LIBRARY_DIR}") +if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR}) + set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") else() - set(libdir "${LIBRARY_DIR}") + set(libdir "${CMAKE_INSTALL_LIBDIR}") endif() # -------------------------------------------------- @@ -162,17 +153,29 @@ set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f) option(BUILD_SHARED_LIBS "Build shared libraries" OFF) option(BUILD_TESTING "Build tests" OFF) +message(STATUS "Build tests: ${BUILD_TESTING}") -# deprecated LAPACK routines +# deprecated LAPACK and LAPACKE routines option(BUILD_DEPRECATED "Build deprecated routines" OFF) +message(STATUS "Build deprecated routines: ${BUILD_DEPRECATED}") # -------------------------------------------------- # Precision to build # By default all precisions are generated -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) +option(BUILD_SINGLE "Build single precision real" ON) +option(BUILD_DOUBLE "Build double precision real" ON) +option(BUILD_COMPLEX "Build single precision complex" ON) +option(BUILD_COMPLEX16 "Build double precision complex" ON) +message(STATUS "Build single precision real: ${BUILD_SINGLE}") +message(STATUS "Build double precision real: ${BUILD_DOUBLE}") +message(STATUS "Build single precision complex: ${BUILD_COMPLEX}") +message(STATUS "Build double precision complex: ${BUILD_COMPLEX16}") + +if(NOT (BUILD_SINGLE OR BUILD_DOUBLE OR BUILD_COMPLEX OR BUILD_COMPLEX16)) + 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 @@ -275,7 +278,6 @@ else() CACHE STRING "Linker flags for shared libs" FORCE) endif() -message(STATUS "BUILD TESTING : ${BUILD_TESTING}") if(BUILD_TESTING) add_subdirectory(TESTING) endif() @@ -346,7 +348,7 @@ endif() 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. @@ -396,5 +398,5 @@ write_basic_package_version_file( 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/INSTALL/make.inc.ALPHA b/INSTALL/make.inc.ALPHA index b5815876..0ceeaa15 100644 --- a/INSTALL/make.inc.ALPHA +++ b/INSTALL/make.inc.ALPHA @@ -1,76 +1,81 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O4 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = -O4 -fpe1 +DRVOPTS = $(OPTS) +NOOPT = + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = -O4 -fpe1 -DRVOPTS = $(OPTS) -NOOPT = LOADER = f77 LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O4 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # #BLASLIB = ../../librefblas.a -BLASLIB = -ldxml +BLASLIB = -ldxml CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a diff --git a/INSTALL/make.inc.HPPA b/INSTALL/make.inc.HPPA index 869a7ec7..8eabbbdf 100644 --- a/INSTALL/make.inc.HPPA +++ b/INSTALL/make.inc.HPPA @@ -1,76 +1,81 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = +O4 +U77 +DRVOPTS = $(OPTS) -K +NOOPT = +U77 + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = +O4 +U77 -DRVOPTS = $(OPTS) -K -NOOPT = +U77 LOADER = f77 LOADOPTS = -Aa +U77 + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # #BLASLIB = ../../librefblas.a -BLASLIB = -lblas +BLASLIB = -lblas CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a diff --git a/INSTALL/make.inc.IRIX64 b/INSTALL/make.inc.IRIX64 index 68482060..d9e71e1b 100644 --- a/INSTALL/make.inc.IRIX64 +++ b/INSTALL/make.inc.IRIX64 @@ -1,78 +1,83 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /sbin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = -O3 -64 -mips4 -r10000 -OPT:IEEE_NaN_inf=ON +#OPTS = -g -DEBUG:subscript_check=ON -trapuv -OPT:IEEE_NaN_inf=ON +DRVOPTS = $(OPTS) -static +NOOPT = -64 -mips4 -r10000 -OPT:IEEE_NaN_inf=ON +#NOOPT = -g -DEBUG:subscript_check=ON -trapuv -OPT:IEEE_NaN_inf=ON + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = -O3 -64 -mips4 -r10000 -OPT:IEEE_NaN_inf=ON -#OPTS = -g -DEBUG:subscript_check=ON -trapuv -OPT:IEEE_NaN_inf=ON -DRVOPTS = $(OPTS) -static -NOOPT = -64 -mips4 -r10000 -OPT:IEEE_NaN_inf=ON -#NOOPT = -g -DEBUG:subscript_check=ON -trapuv -OPT:IEEE_NaN_inf=ON LOADER = f77 LOADOPTS = -O3 -64 -mips4 -r10000 -OPT:IEEE_NaN_inf=ON #LOADOPTS = -g -DEBUG:subscript_check=ON -trapuv -OPT:IEEE_NaN_inf=ON + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O3 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # -#BLASLIB = -lblas +#BLASLIB = -lblas BLASLIB = ../../librefblas.a CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a diff --git a/INSTALL/make.inc.O2K b/INSTALL/make.inc.O2K index ceeccef7..3ffcadac 100644 --- a/INSTALL/make.inc.O2K +++ b/INSTALL/make.inc.O2K @@ -1,79 +1,84 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /sbin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = -O3 -64 -mips4 -r10000 +#OPTS = -O3 -64 -mips4 -r10000 -mp +DRVOPTS = $(OPTS) -static +NOOPT = -64 -mips4 -r10000 +#NOOPT = -64 -mips4 -r10000 -mp + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = -O3 -64 -mips4 -r10000 -#OPTS = -O3 -64 -mips4 -r10000 -mp -DRVOPTS = $(OPTS) -static -NOOPT = -64 -mips4 -r10000 -#NOOPT = -64 -mips4 -r10000 -mp LOADER = f77 LOADOPTS = -O3 -64 -mips4 -r10000 #LOADOPTS = -O3 -64 -mips4 -r10000 -mp + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O3 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # -BLASLIB = -lblas -#BLASLIB = -lblas_mp +BLASLIB = -lblas +#BLASLIB = -lblas_mp #BLASLIB = ../../librefblas.a CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a diff --git a/INSTALL/make.inc.SGI5 b/INSTALL/make.inc.SGI5 index de55f152..c7019ac1 100644 --- a/INSTALL/make.inc.SGI5 +++ b/INSTALL/make.inc.SGI5 @@ -1,75 +1,80 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /sbin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O4 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = -O4 +DRVOPTS = $(OPTS) -static +NOOPT = + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = -O4 -DRVOPTS = $(OPTS) -static -NOOPT = LOADER = f77 LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O4 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # -#BLASLIB = -lblas +#BLASLIB = -lblas BLASLIB = ../../librefblas.a CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a diff --git a/INSTALL/make.inc.SUN4 b/INSTALL/make.inc.SUN4 index d9c68c4c..4e44f1be 100644 --- a/INSTALL/make.inc.SUN4 +++ b/INSTALL/make.inc.SUN4 @@ -1,75 +1,80 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +OPTS = -dalign -O4 -fast +DRVOPTS = $(OPTS) +NOOPT = + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -OPTS = -dalign -O4 -fast -DRVOPTS = $(OPTS) -NOOPT = LOADER = f77 LOADOPTS = -dalign -O4 -fast + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O3 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # -#BLASLIB = -lblas +#BLASLIB = -lblas BLASLIB = ../../librefblas.a CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a diff --git a/INSTALL/make.inc.SUN4SOL2 b/INSTALL/make.inc.SUN4SOL2 index d3c78437..e6d79add 100644 --- a/INSTALL/make.inc.SUN4SOL2 +++ b/INSTALL/make.inc.SUN4SOL2 @@ -1,81 +1,86 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = cc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = f77 +#OPTS = -O4 -u -f -mt +#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa +OPTS = -u -f -dalign -native -xO2 -xarch=v8plusa +DRVOPTS = $(OPTS) +NOOPT = -u -f +#NOOPT = -u -f -mt + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = f77 -#OPTS = -O4 -u -f -mt -#OPTS = -u -f -dalign -native -xO5 -xarch=v8plusa -OPTS = -u -f -dalign -native -xO2 -xarch=v8plusa -DRVOPTS = $(OPTS) -NOOPT = -u -f -#NOOPT = -u -f -mt LOADER = f77 #LOADOPTS = -mt LOADOPTS = -f -dalign -native -xO2 -xarch=v8plusa + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = cc -CFLAGS = -O3 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # #BLASLIB = ../../librefblas.a -#BLASLIB = -xlic_lib=sunperf_mt -BLASLIB = -xlic_lib=sunperf +#BLASLIB = -xlic_lib=sunperf_mt +BLASLIB = -xlic_lib=sunperf CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a diff --git a/INSTALL/make.inc.XLF b/INSTALL/make.inc.XLF index d7fa4b73..9466ee33 100644 --- a/INSTALL/make.inc.XLF +++ b/INSTALL/make.inc.XLF @@ -1,77 +1,82 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +CC = xlc +CFLAGS = -O3 -qnosave + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -FORTRAN = xlf -OPTS = -O3 -qfixed -qnosave +FORTRAN = xlf +OPTS = -O3 -qfixed -qnosave # For -O2, add -qstrict=none -DRVOPTS = $(OPTS) -NOOPT = -O0 -qfixed -qnosave +DRVOPTS = $(OPTS) +NOOPT = -O0 -qfixed -qnosave + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. +# LOADER = xlf LOADOPTS = -qnosave + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -#TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +#TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = xlc -CFLAGS = -O3 -qnosave +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # #BLASLIB = ../../librefblas.a -BLASLIB = -lessl +BLASLIB = -lessl CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a diff --git a/INSTALL/make.inc.gfortran b/INSTALL/make.inc.gfortran index ccd0994f..77de24a8 100644 --- a/INSTALL/make.inc.gfortran +++ b/INSTALL/make.inc.gfortran @@ -1,74 +1,79 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +CC = gcc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # # Note: During a regular execution, LAPACK might create NaN and Inf # and handle these quantities appropriately. As a consequence, one # should not compile LAPACK with flags such as -ffpe-trap=overflow. # -FORTRAN = gfortran -OPTS = -O2 -frecursive -DRVOPTS = $(OPTS) -NOOPT = -O0 -frecursive +FORTRAN = gfortran +OPTS = -O2 -frecursive +DRVOPTS = $(OPTS) +NOOPT = -O0 -frecursive + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. +# LOADER = gfortran LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. +# +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines +# +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +#TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. +# +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -#TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) -# -# CC is the C compiler, normally invoked with options CFLAGS. -# -CC = gcc -CFLAGS = -O3 -# -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) diff --git a/INSTALL/make.inc.gfortran_debug b/INSTALL/make.inc.gfortran_debug index f87b949c..b339d2b1 100644 --- a/INSTALL/make.inc.gfortran_debug +++ b/INSTALL/make.inc.gfortran_debug @@ -1,74 +1,79 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader -# and desired load options for your machine. +CC = gcc +CFLAGS = -g + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # # Note: During a regular execution, LAPACK might create NaN and Inf # and handle these quantities appropriately. As a consequence, one # should not compile LAPACK with flags such as -ffpe-trap=overflow. # -FORTRAN = gfortran -fimplicit-none -g -frecursive -OPTS = -DRVOPTS = $(OPTS) -NOOPT = -g -O0 -frecursive +FORTRAN = gfortran -fimplicit-none -g -frecursive +OPTS = +DRVOPTS = $(OPTS) +NOOPT = -g -O0 -frecursive + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. +# LOADER = gfortran -g LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. +# +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines +# +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +#TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. +# +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -# TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the Fortran standard INTERNAL FUNCTION CPU_TIME -TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) -# -# CC is the C compiler, normally invoked with options CFLAGS. -# -CC = gcc -CFLAGS = -g -# -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) diff --git a/INSTALL/make.inc.ifort b/INSTALL/make.inc.ifort index b26e9601..b067bd48 100644 --- a/INSTALL/make.inc.ifort +++ b/INSTALL/make.inc.ifort @@ -1,70 +1,75 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# June 2016 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = icc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader -# and desired load options for your machine. +FORTRAN = ifort +OPTS = -O3 -fp-model strict -assume protect_parens +DRVOPTS = $(OPTS) +NOOPT = -O0 -fp-model strict -assume protect_parens + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = ifort -OPTS = -O3 -fp-model strict -assume protect_parens -DRVOPTS = $(OPTS) -NOOPT = -O0 -fp-model strict -assume protect_parens LOADER = ifort LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the Fortran standard INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = icc -CFLAGS = -O3 +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) diff --git a/INSTALL/make.inc.pgf95 b/INSTALL/make.inc.pgf95 index 595b64c8..a9a5cec9 100644 --- a/INSTALL/make.inc.pgf95 +++ b/INSTALL/make.inc.pgf95 @@ -1,70 +1,75 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = pgcc +CFLAGS = + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = pgf95 +OPTS = -O3 +DRVOPTS = $(OPTS) +NOOPT = -O0 + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = pgf95 -OPTS = -O3 -DRVOPTS = $(OPTS) -NOOPT = -O0 LOADER = $(FORTRAN) LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -# TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME - TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +#TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = pgcc -CFLAGS = +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) diff --git a/INSTALL/make.inc.pghpf b/INSTALL/make.inc.pghpf index 8639530a..1d9bf549 100644 --- a/INSTALL/make.inc.pghpf +++ b/INSTALL/make.inc.pghpf @@ -1,77 +1,82 @@ #################################################################### # LAPACK make include file. # -# LAPACK, Version 3.6.0 # -# November 2015 # +# LAPACK, Version 3.7.0 # +# December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. +# +CC = pghpc +CFLAGS = + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +FORTRAN = pghpf +OPTS = -O4 -Mnohpfc -Mdclchk +DRVOPTS = $(OPTS) +NOOPT = -Mnohpfc -Mdclchk + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. # -FORTRAN = pghpf -OPTS = -O4 -Mnohpfc -Mdclchk -DRVOPTS = $(OPTS) -NOOPT = -Mnohpfc -Mdclchk LOADER = pghpf LOADOPTS = + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -# TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) +ARCH = ar +ARCHFLAGS = cr +RANLIB = echo + +# Timer for the SECOND and DSECND routines # -# CC is the C compiler, normally invoked with options CFLAGS. +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +#TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # -CC = pghpc -CFLAGS = +#BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# LAPACKE has also the interface to some routines from tmglib, -# if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE #LAPACKE_WITH_TMG = Yes -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = echo -# + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) # -#BLASLIB = -lessl +#BLASLIB = -lessl BLASLIB = ../../librefblas.a -CBLASLIB = ../../libcblas.a +CBLASLIB = ../../libcblas.a LAPACKLIB = liblapack.a TMGLIB = libtmglib.a LAPACKELIB = liblapacke.a diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt index 2a60a1ea..d9a85ee6 100644 --- a/LAPACKE/CMakeLists.txt +++ b/LAPACKE/CMakeLists.txt @@ -36,23 +36,35 @@ macro(append_subdir_files variable dirname) endmacro() append_subdir_files(LAPACKE_INCLUDE "include") -append_subdir_files(SRC_OBJ "src") -append_subdir_files(SRCX_OBJ "src") -append_subdir_files(MATGEN_OBJ "src") -append_subdir_files(UTILS_OBJ "utils") +append_subdir_files(SOURCES "src") +append_subdir_files(DEPRECATED "src") +append_subdir_files(EXTENDED "src") +append_subdir_files(MATGEN "src") +append_subdir_files(UTILS "utils") +if(BUILD_DEPRECATED) + list(APPEND SOURCES ${DEPRECATED}) +endif() if(USE_XBLAS) - add_library(lapacke ${SRC_OBJ} ${SRCX_OBJ} ${UTILS_OBJ}) - target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) -else() - if(LAPACKE_WITH_TMG) - add_library(lapacke ${SRC_OBJ} ${MATGEN_OBJ} ${UTILS_OBJ}) - target_link_libraries(lapacke tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) - else() - add_library(lapacke ${SRC_OBJ} ${UTILS_OBJ}) - target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) - endif() + list(APPEND SOURCES ${EXTENDED}) +endif() +if(LAPACKE_WITH_TMG) + list(APPEND SOURCES ${MATGEN}) +endif() +list(APPEND SOURCES ${UTILS}) + +add_library(lapacke ${SOURCES}) +set_target_properties( + lapacke PROPERTIES + LINKER_LANGUAGE C + VERSION ${LAPACK_VERSION} + SOVERSION ${LAPACK_MAJOR_VERSION} + ) + +if(LAPACKE_WITH_TMG) + target_link_libraries(lapacke PRIVATE tmglib) endif() +target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES}) lapack_install_library(lapacke) install(FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h DESTINATION include) @@ -78,8 +90,8 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/lapacke-config-install.cmake.in 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 ${LIBRARY_DIR}/cmake/lapacke-${LAPACK_VERSION}) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}) diff --git a/LAPACKE/example/CMakeLists.txt b/LAPACKE/example/CMakeLists.txt index a1c59096..fa75c731 100644 --- a/LAPACKE/example/CMakeLists.txt +++ b/LAPACKE/example/CMakeLists.txt @@ -3,10 +3,10 @@ add_executable(xexample_DGESV_colmajor example_DGESV_colmajor.c lapacke_example_ 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 index 028f8da6..e4b83569 100644 --- a/LAPACKE/lapacke.pc.in +++ b/LAPACKE/lapacke.pc.in @@ -6,4 +6,4 @@ Description: C Standard Interface to LAPACK Linear Algebra PACKage 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/LAPACKE/src/CMakeLists.txt b/LAPACKE/src/CMakeLists.txt index 82be4267..846d52ae 100644 --- a/LAPACKE/src/CMakeLists.txt +++ b/LAPACKE/src/CMakeLists.txt @@ -1,6 +1,4 @@ -#aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC_OBJ) - -set(SRC_OBJ +set(SOURCES lapacke_cbbcsd.c lapacke_cbbcsd_work.c lapacke_cbdsqr.c @@ -2278,36 +2276,34 @@ lapacke_csyr_work.c lapacke_ilaver.c ) -if(BUILD_DEPRECATED) - list(APPEND SRC_OBJ - lapacke_cggsvp.c - lapacke_cggsvp_work.c - lapacke_dggsvp.c - lapacke_dggsvp_work.c - lapacke_sggsvp.c - lapacke_sggsvp_work.c - lapacke_zggsvp.c - lapacke_zggsvp_work.c - lapacke_cggsvd.c - lapacke_cggsvd_work.c - lapacke_dggsvd.c - lapacke_dggsvd_work.c - lapacke_sggsvd.c - lapacke_sggsvd_work.c - lapacke_zggsvd.c - lapacke_zggsvd_work.c - lapacke_cgeqpf.c - lapacke_cgeqpf_work.c - lapacke_dgeqpf.c - lapacke_dgeqpf_work.c - lapacke_sgeqpf.c - lapacke_sgeqpf_work.c - lapacke_zgeqpf.c - lapacke_zgeqpf_work.c) - message(STATUS "Building LAPACKE deprecated routines") -endif() +set(DEPRECATED +lapacke_cggsvp.c +lapacke_cggsvp_work.c +lapacke_dggsvp.c +lapacke_dggsvp_work.c +lapacke_sggsvp.c +lapacke_sggsvp_work.c +lapacke_zggsvp.c +lapacke_zggsvp_work.c +lapacke_cggsvd.c +lapacke_cggsvd_work.c +lapacke_dggsvd.c +lapacke_dggsvd_work.c +lapacke_sggsvd.c +lapacke_sggsvd_work.c +lapacke_zggsvd.c +lapacke_zggsvd_work.c +lapacke_cgeqpf.c +lapacke_cgeqpf_work.c +lapacke_dgeqpf.c +lapacke_dgeqpf_work.c +lapacke_sgeqpf.c +lapacke_sgeqpf_work.c +lapacke_zgeqpf.c +lapacke_zgeqpf_work.c +) -set(SRCX_OBJ +set(EXTENDED lapacke_cgbrfsx.c lapacke_cporfsx.c lapacke_dgerfsx.c lapacke_sgbrfsx.c lapacke_ssyrfsx.c lapacke_zherfsx.c lapacke_cgbrfsx_work.c lapacke_cporfsx_work.c lapacke_dgerfsx_work.c lapacke_sgbrfsx_work.c lapacke_ssyrfsx_work.c lapacke_zherfsx_work.c lapacke_cgerfsx.c lapacke_csyrfsx.c lapacke_dporfsx.c lapacke_sgerfsx.c lapacke_zgbrfsx.c lapacke_zporfsx.c @@ -2323,7 +2319,7 @@ lapacke_chesvxx_work.c lapacke_dgbsvxx_work.c lapacke_dsysvxx_work.c lapacke_ ) # FILE PARTS OF TMGLIB -set(MATGEN_OBJ +set(MATGEN lapacke_clatms.c lapacke_clatms_work.c lapacke_dlatms.c diff --git a/LAPACKE/src/Makefile b/LAPACKE/src/Makefile index a7898d58..8297546b 100644 --- a/LAPACKE/src/Makefile +++ b/LAPACKE/src/Makefile @@ -32,12 +32,12 @@ ############################################################################## # makefile for LAPACKE, used to build lapacke binary. # -# Note: we use multiple SRC_OBJA, SRC_OBJB, etc, instead of a single SRC_OBJ +# Note: we use multiple OBJ_A, OBJ_B, etc, instead of a single OBJ # to allow build with mingw (argument list too long for the msys ar) # include ../../make.inc -SRC_OBJA = \ +OBJ_A = \ lapacke_cbbcsd.o \ lapacke_cbbcsd_work.o \ lapacke_cbdsqr.o \ @@ -1097,7 +1097,7 @@ lapacke_dsytri2x.o \ lapacke_dsytri2x_work.o \ lapacke_dsytri_work.o -SRC_OBJB = \ +OBJ_B = \ lapacke_dsytrs.o \ lapacke_dsytrs_rook.o \ lapacke_dsytrs2.o \ @@ -2322,7 +2322,8 @@ lapacke_zsyr_work.o \ lapacke_csyr_work.o \ lapacke_ilaver.o -DEPRECSRC = \ +ifdef BUILD_DEPRECATED +DEPRECATED = \ lapacke_cggsvp.o \ lapacke_cggsvp_work.o \ lapacke_dggsvp.o \ @@ -2347,8 +2348,10 @@ lapacke_sgeqpf.o \ lapacke_sgeqpf_work.o \ lapacke_zgeqpf.o \ lapacke_zgeqpf_work.o +endif -SRCX_OBJ = \ +ifdef USEXBLAS +EXTENDED = \ lapacke_cgbrfsx.o lapacke_cporfsx.o lapacke_dgerfsx.o lapacke_sgbrfsx.o lapacke_ssyrfsx.o lapacke_zherfsx.o \ lapacke_cgbrfsx_work.o lapacke_cporfsx_work.o lapacke_dgerfsx_work.o lapacke_sgbrfsx_work.o lapacke_ssyrfsx_work.o lapacke_zherfsx_work.o \ lapacke_cgerfsx.o lapacke_csyrfsx.o lapacke_dporfsx.o lapacke_sgerfsx.o lapacke_zgbrfsx.o lapacke_zporfsx.o \ @@ -2361,10 +2364,11 @@ lapacke_cgesvxx.o lapacke_csysvxx.o lapacke_dposvxx.o lapacke_ lapacke_cgesvxx_work.o lapacke_csysvxx_work.o lapacke_dposvxx_work.o lapacke_sgesvxx_work.o lapacke_zgbsvxx_work.o lapacke_zposvxx_work.o \ lapacke_chesvxx.o lapacke_dgbsvxx.o lapacke_dsysvxx.o lapacke_sposvxx.o lapacke_zgesvxx.o lapacke_zsysvxx.o \ lapacke_chesvxx_work.o lapacke_dgbsvxx_work.o lapacke_dsysvxx_work.o lapacke_sposvxx_work.o lapacke_zgesvxx_work.o lapacke_zsysvxx_work.o +endif - +ifdef LAPACKE_WITH_TMG # FILE PARTS OF TMGLIB -MATGEN_OBJ = \ +MATGEN = \ lapacke_clatms.o \ lapacke_clatms_work.o \ lapacke_dlatms.o \ @@ -2393,23 +2397,16 @@ lapacke_slagsy.o \ lapacke_slagsy_work.o \ lapacke_zlagsy.o \ lapacke_zlagsy_work.o - -ifdef USEXBLAS -ALLXOBJ = $(SRCX_OBJ) -endif - -ifdef BUILD_DEPRECATED -DEPRECATED = $(DEPRECSRC) endif all: ../../$(LAPACKELIB) -../../$(LAPACKELIB): $(SRC_OBJA) $(SRC_OBJB) $(MATGEN_OBJ) $(ALLXOBJ) $(DEPRECATED) - $(ARCH) $(ARCHFLAGS) $@ $(SRC_OBJA) - $(ARCH) $(ARCHFLAGS) $@ $(SRC_OBJB) - $(ARCH) $(ARCHFLAGS) $@ $(MATGEN_OBJ) - $(ARCH) $(ARCHFLAGS) $@ $(ALLXOBJ) +../../$(LAPACKELIB): $(OBJ_A) $(OBJ_B) $(DEPRECATED) $(EXTENDED) $(MATGEN) + $(ARCH) $(ARCHFLAGS) $@ $(OBJ_A) + $(ARCH) $(ARCHFLAGS) $@ $(OBJ_B) $(ARCH) $(ARCHFLAGS) $@ $(DEPRECATED) + $(ARCH) $(ARCHFLAGS) $@ $(EXTENDED) + $(ARCH) $(ARCHFLAGS) $@ $(MATGEN) $(RANLIB) $@ .c.o: diff --git a/LAPACKE/utils/CMakeLists.txt b/LAPACKE/utils/CMakeLists.txt index c8b8511e..dd36ee33 100644 --- a/LAPACKE/utils/CMakeLists.txt +++ b/LAPACKE/utils/CMakeLists.txt @@ -1,4 +1,4 @@ -set(UTILS_OBJ +set(UTILS lapacke_c_nancheck.c lapacke_ctr_trans.c lapacke_make_complex_float.c lapacke_zgb_nancheck.c lapacke_cgb_nancheck.c lapacke_d_nancheck.c lapacke_s_nancheck.c lapacke_zgb_trans.c lapacke_cgb_trans.c lapacke_dgb_nancheck.c lapacke_sgb_nancheck.c lapacke_zge_nancheck.c diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt index e80a5b32..099c5f48 100644 --- a/SRC/CMakeLists.txt +++ b/SRC/CMakeLists.txt @@ -1,10 +1,10 @@ ####################################################################### # This is the makefile to create a library for LAPACK. # The files are organized as follows: + # 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. +# SCLAUX -- Auxiliary routines called from single precision +# DZLAUX -- Auxiliary routines called from double precision # # DSLASRC -- Double-single mixed precision real routines called from # single, single-extra and double precision real LAPACK @@ -28,25 +28,6 @@ # # DEPRECATED -- Deprecated routines in all precisions # -# The library can be set up to include routines for any combination -# of the four precisions. To create or add to the library, enter make -# followed by one or more of the precisions desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Alternatively, the command -# make -# without any arguments creates a library of all four precisions. -# The library is called -# lapack.a -# and is created at the next higher directory level. -# -# To remove the object files after the library is created, enter -# make clean -# On some systems, you can force the source files to be recompiled by -# entering (for example) -# make single FRC=FRC -# # ***Note*** # The functions lsame, second, dsecnd, slamch, and dlamch may have # to be installed before compiling the library. Refer to the @@ -467,11 +448,6 @@ set(ZXLASRC zgesvxx.f zgerfsx.f zla_gerfsx_extended.f zla_geamv.f 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}) -endif() - if(BUILD_DEPRECATED) list(APPEND SLASRC DEPRECATED/sgegs.f DEPRECATED/sgegv.f DEPRECATED/sgeqpf.f DEPRECATED/sgelsx.f DEPRECATED/sggsvd.f @@ -485,41 +461,41 @@ if(BUILD_DEPRECATED) 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") endif() -set(ALLOBJ) +if(USE_XBLAS) + list(APPEND SLASRC ${SXLASRC}) + list(APPEND DLASRC ${DXLASRC}) + list(APPEND CLASRC ${CXLASRC}) + list(APPEND ZLASRC ${ZXLASRC}) +endif() + + +set(SOURCES) if(BUILD_SINGLE) - list(APPEND ALLOBJ ${SLASRC} ${DSLASRC} ${SCLAUX} ${ALLAUX}) - message(STATUS "Building single precision real") + list(APPEND SOURCES ${SLASRC} ${DSLASRC} ${SCLAUX} ${ALLAUX}) endif() if(BUILD_DOUBLE) - list(APPEND ALLOBJ ${DLASRC} ${DSLASRC} ${DZLAUX} ${ALLAUX}) - message(STATUS "Building double precision real") + list(APPEND SOURCES ${DLASRC} ${DSLASRC} ${DZLAUX} ${ALLAUX}) endif() if(BUILD_COMPLEX) - list(APPEND ALLOBJ ${CLASRC} ${ZCLASRC} ${SCLAUX} ${ALLAUX}) - message(STATUS "Building single precision complex") + list(APPEND SOURCES ${CLASRC} ${ZCLASRC} ${SCLAUX} ${ALLAUX}) endif() if(BUILD_COMPLEX16) - list(APPEND ALLOBJ ${ZLASRC} ${ZCLASRC} ${DZLAUX} ${ALLAUX}) - message(STATUS "Building double precision complex") + list(APPEND SOURCES ${ZLASRC} ${ZCLASRC} ${DZLAUX} ${ALLAUX}) endif() -list(REMOVE_DUPLICATES ALLOBJ) - -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.") -endif() - - -add_library(lapack ${ALLOBJ} ${ALLXOBJ}) -target_link_libraries(lapack ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) +list(REMOVE_DUPLICATES SOURCES) +add_library(lapack ${SOURCES}) set_target_properties( lapack PROPERTIES VERSION ${LAPACK_VERSION} SOVERSION ${LAPACK_MAJOR_VERSION} ) +if(USE_XBLAS) + target_link_libraries(lapack PRIVATE ${XBLAS_LIBRARY}) +endif() +target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES}) + lapack_install_library(lapack) diff --git a/SRC/Makefile b/SRC/Makefile index 414861c5..d47f7308 100644 --- a/SRC/Makefile +++ b/SRC/Makefile @@ -3,10 +3,10 @@ include ../make.inc ####################################################################### # This is the makefile to create a library for LAPACK. # The files are organized as follows: -# 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. +# ALLAUX -- Auxiliary routines called from all precisions +# SCLAUX -- Auxiliary routines called from single precision +# DZLAUX -- Auxiliary routines called from double precision # # DSLASRC -- Double-single mixed precision real routines called from # single, single-extra and double precision real LAPACK diff --git a/TESTING/EIG/CMakeLists.txt b/TESTING/EIG/CMakeLists.txt index 19fffcd4..20fd25b4 100644 --- a/TESTING/EIG/CMakeLists.txt +++ b/TESTING/EIG/CMakeLists.txt @@ -3,34 +3,13 @@ # The test files are organized as follows: # # AEIGTST -- Auxiliary test routines used in all precisions -# SCIGTST -- Auxiliary test routines used in REAL and COMPLEX -# DZIGTST -- Auxiliary test routines used in DOUBLE PRECISION and -# COMPLEX*16 +# SCIGTST -- Auxiliary test routines used in single precision +# DZIGTST -- Auxiliary test routines used in double precision # SEIGTST -- Single precision real test routines # CEIGTST -- Single precision complex test routines # DEIGTST -- Double precision real test routines # ZEIGTST -- Double precision complex test routines # -# Test programs can be generated for all or some of the four different -# precisions. Enter make followed by one or more of the data types -# desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Alternatively, the command -# make -# without any arguments creates all four test programs. -# The executable files are called -# xeigtsts, xeigtstd, xeigtstc, and xeigtstz -# and are created in the next higher directory level. -# -# To remove the object files after the executable files have been -# created, enter -# make clean -# On some systems, you can force the source files to be recompiled by -# entering (for example) -# make single FRC=FRC -# ######################################################################## set(AEIGTST @@ -119,25 +98,21 @@ set(ZEIGTST zchkee.f 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() if(BUILD_SINGLE) -add_eig_executable(xeigtsts ${SEIGTST} ${SCIGTST} ${AEIGTST} - ${SECOND_SRC}) +add_eig_executable(xeigtsts ${SEIGTST} ${SCIGTST} ${AEIGTST}) endif() if(BUILD_COMPLEX) -add_eig_executable(xeigtstc ${CEIGTST} ${SCIGTST} ${AEIGTST} - ${SECOND_SRC}) +add_eig_executable(xeigtstc ${CEIGTST} ${SCIGTST} ${AEIGTST}) endif() if(BUILD_DOUBLE) -add_eig_executable(xeigtstd ${DEIGTST} ${DZIGTST} ${AEIGTST} - ${DSECOND_SRC}) +add_eig_executable(xeigtstd ${DEIGTST} ${DZIGTST} ${AEIGTST}) endif() if(BUILD_COMPLEX16) -add_eig_executable(xeigtstz ${ZEIGTST} ${DZIGTST} ${AEIGTST} - ${DSECOND_SRC}) +add_eig_executable(xeigtstz ${ZEIGTST} ${DZIGTST} ${AEIGTST}) endif() diff --git a/TESTING/EIG/Makefile b/TESTING/EIG/Makefile index eef087d9..1de4a737 100644 --- a/TESTING/EIG/Makefile +++ b/TESTING/EIG/Makefile @@ -5,9 +5,8 @@ include ../../make.inc # The test files are organized as follows: # # AEIGTST -- Auxiliary test routines used in all precisions -# SCIGTST -- Auxiliary test routines used in REAL and COMPLEX -# DZIGTST -- Auxiliary test routines used in DOUBLE PRECISION and -# COMPLEX*16 +# SCIGTST -- Auxiliary test routines used in single precision +# DZIGTST -- Auxiliary test routines used in double precision # SEIGTST -- Single precision real test routines # CEIGTST -- Single precision complex test routines # DEIGTST -- Double precision real test routines diff --git a/TESTING/LIN/CMakeLists.txt b/TESTING/LIN/CMakeLists.txt index 27ee2659..04a6036f 100644 --- a/TESTING/LIN/CMakeLists.txt +++ b/TESTING/LIN/CMakeLists.txt @@ -207,33 +207,33 @@ set(ZLINTSTRFP zchkrfp.f zdrvrfp.f zdrvrf1.f zdrvrf2.f zdrvrf3.f zdrvrf4.f zerrr 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() if(BUILD_SINGLE) - add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST} ${SECOND_SRC}) - add_lin_executable(xlintstrfs ${SLINTSTRFP} ${SECOND_SRC}) + add_lin_executable(xlintsts ${ALINTST} ${SLINTST} ${SCLNTST}) + add_lin_executable(xlintstrfs ${SLINTSTRFP}) endif() if(BUILD_DOUBLE) - add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST} ${DSECOND_SRC}) - add_lin_executable(xlintstrfd ${DLINTSTRFP} ${DSECOND_SRC}) + add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST}) + add_lin_executable(xlintstrfd ${DLINTSTRFP}) endif() if(BUILD_SINGLE AND BUILD_DOUBLE) - add_lin_executable(xlintstds ${DSLINTST} ${SECOND_SRC} ${DSECOND_SRC}) + add_lin_executable(xlintstds ${DSLINTST}) 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}) + add_lin_executable(xlintstrfc ${CLINTSTRFP}) endif() if(BUILD_COMPLEX16) - add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST} ${DSECOND_SRC}) - add_lin_executable(xlintstrfz ${ZLINTSTRFP} ${DSECOND_SRC}) + add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST}) + add_lin_executable(xlintstrfz ${ZLINTSTRFP}) endif() if(BUILD_COMPLEX AND BUILD_COMPLEX16) - add_lin_executable(xlintstzc ${ZCLINTST} ${SECOND_SRC} ${DSECOND_SRC}) + add_lin_executable(xlintstzc ${ZCLINTST}) endif() diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt index 54cf9d9e..0fd12df8 100644 --- a/TESTING/MATGEN/CMakeLists.txt +++ b/TESTING/MATGEN/CMakeLists.txt @@ -2,33 +2,13 @@ # This is the makefile to create a library of the test matrix # generators used in LAPACK. The files are organized as follows: # -# SCATGEN -- Auxiliary routines called from both REAL and COMPLEX -# DZATGEN -- Auxiliary routines called from both DOUBLE PRECISION -# and COMPLEX*16 +# SCATGEN -- Auxiliary routines called from single precision +# DZATGEN -- Auxiliary routines called from double precision # SMATGEN -- Single precision real matrix generation routines # CMATGEN -- Single precision complex matrix generation routines # DMATGEN -- Double precision real matrix generation routines # ZMATGEN -- Double precision complex matrix generation routines # -# The library can be set up to include routines for any combination -# of the four precisions. To create or add to the library, enter make -# followed by one or more of the precisions desired. Some examples: -# make single -# make single complex -# make single double complex complex16 -# Alternatively, the command -# make -# without any arguments creates a library of all four precisions. -# The library is called -# tmglib.a -# and is created at the LAPACK directory level. -# -# To remove the object files after the library is created, enter -# make clean -# On some systems, you can force the source files to be recompiled by -# entering (for example) -# make single FRC=FRC -# ####################################################################### set(SCATGEN slatm1.f slatm7.f slaran.f slarnd.f) @@ -51,25 +31,22 @@ 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) + +set(SOURCES) if(BUILD_SINGLE) - set(ALLOBJ ${SMATGEN} ${SCATGEN}) + list(APPEND SOURCES ${SMATGEN} ${SCATGEN}) endif() if(BUILD_DOUBLE) - set(ALLOBJ ${ALLOBJ} ${DMATGEN} ${DZATGEN}) + list(APPEND SOURCES ${DMATGEN} ${DZATGEN}) endif() if(BUILD_COMPLEX) - set(ALLOBJ ${ALLOBJ} ${CMATGEN} ${SCATGEN}) + list(APPEND SOURCES ${CMATGEN} ${SCATGEN}) endif() if(BUILD_COMPLEX16) - set(ALLOBJ ${ALLOBJ} ${ZMATGEN} ${DZATGEN}) + list(APPEND SOURCES ${ZMATGEN} ${DZATGEN}) endif() +list(REMOVE_DUPLICATES SOURCES) -if(NOT ALLOBJ) - set(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN} - ${DZATGEN}) -else() - list(REMOVE_DUPLICATES ALLOBJ) -endif() -add_library(tmglib ${ALLOBJ}) +add_library(tmglib ${SOURCES}) target_link_libraries(tmglib ${LAPACK_LIBRARIES}) lapack_install_library(tmglib) diff --git a/TESTING/MATGEN/Makefile b/TESTING/MATGEN/Makefile index 28cabc1e..4cc69f7e 100644 --- a/TESTING/MATGEN/Makefile +++ b/TESTING/MATGEN/Makefile @@ -4,9 +4,8 @@ include ../../make.inc # This is the makefile to create a library of the test matrix # generators used in LAPACK. The files are organized as follows: # -# SCATGEN -- Auxiliary routines called from both REAL and COMPLEX -# DZATGEN -- Auxiliary routines called from both DOUBLE PRECISION -# and COMPLEX*16 +# SCATGEN -- Auxiliary routines called from single precision +# DZATGEN -- Auxiliary routines called from double precision # SMATGEN -- Single precision real matrix generation routines # CMATGEN -- Single precision complex matrix generation routines # DMATGEN -- Double precision real matrix generation routines diff --git a/lapack.pc.in b/lapack.pc.in index 878efc2e..711012df 100644 --- a/lapack.pc.in +++ b/lapack.pc.in @@ -6,4 +6,4 @@ Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage Version: @LAPACK_VERSION@ URL: http://www.netlib.org/lapack/ Libs: -L${libdir} -llapack -Requires: blas +Requires.private: blas diff --git a/make.inc.example b/make.inc.example index 7f66018e..77de24a8 100644 --- a/make.inc.example +++ b/make.inc.example @@ -3,73 +3,77 @@ # LAPACK, Version 3.7.0 # # December 2016 # #################################################################### -# + SHELL = /bin/sh + +# CC is the C compiler, normally invoked with options CFLAGS. # -# Modify the FORTRAN and OPTS definitions to refer to the -# compiler and desired compiler options for your machine. NOOPT -# refers to the compiler options desired when NO OPTIMIZATION is -# selected. Define LOADER and LOADOPTS to refer to the loader and -# desired load options for your machine. +CC = gcc +CFLAGS = -O3 + +# Modify the FORTRAN and OPTS definitions to refer to the compiler +# and desired compiler options for your machine. NOOPT refers to +# the compiler options desired when NO OPTIMIZATION is selected. # # Note: During a regular execution, LAPACK might create NaN and Inf # and handle these quantities appropriately. As a consequence, one # should not compile LAPACK with flags such as -ffpe-trap=overflow. # -FORTRAN = gfortran -OPTS = -O2 -frecursive -DRVOPTS = $(OPTS) -NOOPT = -O0 -frecursive +FORTRAN = gfortran +OPTS = -O2 -frecursive +DRVOPTS = $(OPTS) +NOOPT = -O0 -frecursive + +# Define LOADER and LOADOPTS to refer to the loader and desired +# load options for your machine. +# LOADER = gfortran LOADOPTS = -# -# Comment out the following line to include deprecated routines to the -# LAPACK library. + +# The archiver and the flag(s) to use when building an archive +# (library). If your system has no ranlib, set RANLIB = echo. +# +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +# Timer for the SECOND and DSECND routines +# +# Default: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME +#TIMER = EXT_ETIME +# For RS6K: SECOND and DSECND will use a call to the +# EXTERNAL FUNCTION ETIME_ +#TIMER = EXT_ETIME_ +# For gfortran compiler: SECOND and DSECND will use a call to the +# INTERNAL FUNCTION ETIME +TIMER = INT_ETIME +# If your Fortran compiler does not provide etime (like Nag Fortran +# Compiler, etc...) SECOND and DSECND will use a call to the +# INTERNAL FUNCTION CPU_TIME +#TIMER = INT_CPU_TIME +# If none of these work, you can use the NONE value. +# In that case, SECOND and DSECND will always return 0. +#TIMER = NONE + +# Uncomment the following line to include deprecated routines in +# the LAPACK library. # #BUILD_DEPRECATED = Yes + +# LAPACKE has the interface to some routines from tmglib. +# If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE. # -# Timer for the SECOND and DSECND routines -# -# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME -# TIMER = EXT_ETIME -# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ -# TIMER = EXT_ETIME_ -# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME -TIMER = INT_ETIME -# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) -# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME -# TIMER = INT_CPU_TIME -# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 -# TIMER = NONE -# -# Configuration LAPACKE: Native C interface to LAPACK -# To generate LAPACKE library: type 'make lapackelib' -# Configuration file: turned off (default) -# Complex types: C99 (default) -# Name pattern: mixed case (default) -# (64-bit) Data model: LP64 (default) -# -# CC is the C compiler, normally invoked with options CFLAGS. -# -CC = gcc -CFLAGS = -O3 -# -# The archiver and the flag(s) to use when building archive (library) -# If you system has no ranlib, set RANLIB = echo. -# -ARCH = ar -ARCHFLAGS= cr -RANLIB = ranlib -# +#LAPACKE_WITH_TMG = Yes + # Location of the extended-precision BLAS (XBLAS) Fortran library # used for building and testing extended-precision routines. The -# relevant routines will be compiled and XBLAS will be linked only if -# USEXBLAS is defined. -# -# USEXBLAS = Yes -XBLASLIB = -# XBLASLIB = -lxblas +# relevant routines will be compiled and XBLAS will be linked only +# if USEXBLAS is defined. # +#USEXBLAS = Yes +#XBLASLIB = -lxblas + # The location of the libraries to which you will link. (The # machine-specific, optimized BLAS library should be used whenever # possible.) |