diff options
Diffstat (limited to 'libraries/lapack/patches/target-cleanup.diff')
-rw-r--r-- | libraries/lapack/patches/target-cleanup.diff | 776 |
1 files changed, 776 insertions, 0 deletions
diff --git a/libraries/lapack/patches/target-cleanup.diff b/libraries/lapack/patches/target-cleanup.diff new file mode 100644 index 0000000000..8f15294374 --- /dev/null +++ b/libraries/lapack/patches/target-cleanup.diff @@ -0,0 +1,776 @@ +diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt +--- a/BLAS/SRC/CMakeLists.txt ++++ b/BLAS/SRC/CMakeLists.txt +@@ -113,29 +113,22 @@ + + set(ZBLAS3 zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f + zhemm.f zherk.f zher2k.f) +-# default build all of it +-set(ALLOBJ ${SBLAS1} ${SBLAS2} ${SBLAS3} ${DBLAS1} ${DBLAS2} ${DBLAS3} +- ${CBLAS1} ${CBLAS2} ${CBLAS3} ${ZBLAS1} +- ${ZBLAS2} ${ZBLAS3} ${ALLBLAS}) +- +-if(BLAS_SINGLE) +- set(ALLOBJ ${SBLAS1} ${ALLBLAS} +- ${SBLAS2} ${SBLAS3}) ++ ++set(ALLOBJ) ++if(BUILD_SINGLE) ++ list(APPEND ALLOBJ ${SBLAS1} ${ALLBLAS} ${SBLAS2} ${SBLAS3}) + endif() +-if(BLAS_DOUBLE) +- set(ALLOBJ ${DBLAS1} ${ALLBLAS} +- ${DBLAS2} ${DBLAS3}) ++if(BUILD_DOUBLE) ++ list(APPEND ALLOBJ ${DBLAS1} ${ALLBLAS} ${DBLAS2} ${DBLAS3}) + endif() +-if(BLAS_COMPLEX) +- set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} +- ${ALLBLAS} ${CBLAS2}) ++if(BUILD_COMPLEX) ++ list(APPEND ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX} ${ALLBLAS} ${CBLAS2} ${CBLAS3}) + endif() +-if(BLAS_COMPLEX16) +- set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} +- ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) ++if(BUILD_COMPLEX16) ++ list(APPEND ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX} ${ALLBLAS} ${ZBLAS2} ${ZBLAS3}) + endif() +- +- ++list(REMOVE_DUPLICATES ALLOBJ) ++ + add_library(blas ${ALLOBJ}) + set_target_properties( + blas PROPERTIES +diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt +--- a/CBLAS/CMakeLists.txt ++++ b/CBLAS/CMakeLists.txt +@@ -65,9 +65,9 @@ + list(GET ALL_TARGETS 0 _cblas_config_build_guard_target) + endif() + +-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/cblas-config-version.cmake.in ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-version.cmake.in + ${LAPACK_BINARY_DIR}/cblas-config-version.cmake @ONLY) +-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/cblas-config-build.cmake.in ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/cblas-config-build.cmake.in + ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY) + + +diff --git a/CBLAS/src/CMakeLists.txt b/CBLAS/src/CMakeLists.txt +--- a/CBLAS/src/CMakeLists.txt ++++ b/CBLAS/src/CMakeLists.txt +@@ -28,34 +28,26 @@ + cblas_ddot.c cblas_dsdot.c cblas_dnrm2.c cblas_dasum.c + cblas_idamax.c ddotsub.f dsdotsub.f dnrm2sub.f + dasumsub.f idamaxsub.f) +- + # + # All object files for single complex precision + # + set (CLEV1 cblas_cswap.c cblas_cscal.c cblas_csscal.c cblas_ccopy.c + cblas_caxpy.c cblas_cdotu_sub.c cblas_cdotc_sub.c + cblas_icamax.c cdotcsub.f cdotusub.f icamaxsub.f) +- + # + # All object files for double complex precision + # + set (ZLEV1 cblas_zswap.c cblas_zscal.c cblas_zdscal.c cblas_zcopy.c +- cblas_zaxpy.c cblas_zdotu_sub.c cblas_zdotc_sub.c cblas_dznrm2.c +- cblas_dzasum.c cblas_izamax.c zdotcsub.f zdotusub.f +- dzasumsub.f dznrm2sub.f izamaxsub.f) +- +- ++ cblas_zaxpy.c cblas_zdotu_sub.c cblas_zdotc_sub.c ++ cblas_izamax.c zdotcsub.f zdotusub.f izamaxsub.f) + # + # Common files for single complex precision + # + set (SCLEV1 cblas_scasum.c scasumsub.f cblas_scnrm2.c scnrm2sub.f) +- +- + # +-# All object files ++# Common files for double complex precision + # +-set (ALEV1 ${slev1} ${dlev1} ${clev1} ${zlev1} ${sclev1}) +- ++set (DZLEV1 cblas_dzasum.c dzasumsub.f cblas_dznrm2.c dznrm2sub.f) + + # + # +@@ -72,8 +64,6 @@ + cblas_sspr.c cblas_sspr2.c cblas_ssymv.c cblas_ssyr.c cblas_ssyr2.c + cblas_stbmv.c cblas_stbsv.c cblas_stpmv.c cblas_stpsv.c cblas_strmv.c + cblas_strsv.c) +- +- + # + # All object files for double real precision + # +@@ -81,7 +71,6 @@ + cblas_dspr.c cblas_dspr2.c cblas_dsymv.c cblas_dsyr.c cblas_dsyr2.c + cblas_dtbmv.c cblas_dtbsv.c cblas_dtpmv.c cblas_dtpsv.c cblas_dtrmv.c + cblas_dtrsv.c) +- + # + # All object files for single complex precision + # +@@ -89,7 +78,6 @@ + cblas_ctrmv.c cblas_ctbmv.c cblas_ctpmv.c cblas_ctrsv.c cblas_ctbsv.c + cblas_ctpsv.c cblas_cgeru.c cblas_cgerc.c cblas_cher.c cblas_cher2.c + cblas_chpr.c cblas_chpr2.c) +- + # + # All object files for double complex precision + # +@@ -97,10 +85,6 @@ + cblas_ztrmv.c cblas_ztbmv.c cblas_ztpmv.c cblas_ztrsv.c cblas_ztbsv.c + cblas_ztpsv.c cblas_zgeru.c cblas_zgerc.c cblas_zher.c cblas_zher2.c + cblas_zhpr.c cblas_zhpr2.c) +-# +-# All object files +-# +-set (AVEL2 ${slev2} ${dlev2} ${clev2} ${zlev2}) + + # + # +@@ -132,36 +116,21 @@ + set (ZLEV3 cblas_zgemm.c cblas_zsymm.c cblas_zhemm.c cblas_zherk.c + cblas_zher2k.c cblas_ztrmm.c cblas_ztrsm.c cblas_zsyrk.c + cblas_zsyr2k.c) +-# +-# All object files +-# +-set (ALEV3 ${slev3} ${dlev3} ${clev3} ${zlev3}) +- +-# default build all of it +-set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND} +- ${DLEV1} ${DLEV2} ${DLEV3} +- ${CLEV1} ${CLEV2} ${CLEV3} +- ${ZLEV1} ${ZLEV2} ${ZLEV3} ) +- +-# Single real precision +-if(CBLAS_SINGLE) +- set(ALLOBJ ${SCLEV1} ${SLEV1} ${SLEV2} ${SLEV3} ${ERRHAND}) +-endif(CBLAS_SINGLE) +- +-# Double real precision +-if(CBLAS_DOUBLE) +- set(ALLOBJ ${DLEV1} ${DLEV2} ${DLEV3} ${ERRHAND}) +-endif(CBLAS_DOUBLE) +- +-# Single complex precision +-if (CBLAS_COMPLEX) +- set(ALLOBJ ${CLEV1} ${SCLEV1} ${CLEV2} ${CLEV3} ${ERRHAND}) +-endif(CBLAS_COMPLEX) + +-# Double complex precision +-if (CBLAS_COMPLEX16) +- set(ALLOBJ ${ZLEV1} ${ZLEV2} ${ZLEV3} ${ERRHAND}) +-endif(CBLAS_COMPLEX16) ++set(ALLOBJ) ++if(BUILD_SINGLE) ++ list(APPEND ALLOBJ ${SLEV1} ${SCLEV1} ${ERRHAND} ${SLEV2} ${SLEV3}) ++endif() ++if(BUILD_DOUBLE) ++ list(APPEND ALLOBJ ${DLEV1} ${DZLEV1} ${ERRHAND} ${DLEV2} ${DLEV3}) ++endif() ++if(BUILD_COMPLEX) ++ list(APPEND ALLOBJ ${CLEV1} ${SCLEV1} ${ERRHAND} ${CLEV2} ${CLEV3}) ++endif() ++if(BUILD_COMPLEX16) ++ list(APPEND ALLOBJ ${ZLEV1} ${DZLEV1} ${ERRHAND} ${ZLEV2} ${ZLEV3}) ++endif() ++list(REMOVE_DUPLICATES ALLOBJ) + + add_library(cblas ${ALLOBJ}) + target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES}) +diff --git a/CBLAS/src/Makefile b/CBLAS/src/Makefile +--- a/CBLAS/src/Makefile ++++ b/CBLAS/src/Makefile +@@ -52,9 +52,8 @@ + # All object files for double complex precision + # + zlev1 = cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \ +- cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \ +- cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \ +- dzasumsub.o dznrm2sub.o izamaxsub.o ++ cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o \ ++ cblas_izamax.o zdotcsub.o zdotusub.o izamaxsub.o + + # + # Common files for single / complex precision +@@ -62,9 +61,14 @@ + sclev1 = cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o + + # ++# Common files for double / complex precision ++# ++dzlev1 = cblas_dzasum.o dzasumsub.o cblas_dznrm2.o dznrm2sub.o ++ ++# + # All object files + # +-alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) ++alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) $(dzlev1) + + + # +@@ -77,8 +81,8 @@ + $(RANLIB) $(CBLASLIB) + + # Double real precision +-dlib1: $(dlev1) +- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1) ++dlib1: $(dlev1) $(dzlev1) ++ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(dlev1) $(dzlev1) + $(RANLIB) $(CBLASLIB) + + # Single complex precision +@@ -87,8 +91,8 @@ + $(RANLIB) $(CBLASLIB) + + # Double complex precision +-zlib1: $(zlev1) +- $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1) ++zlib1: $(zlev1) $(dzlev1) ++ $(ARCH) $(ARCHFLAGS) $(CBLASLIB) $(zlev1) $(dzlev1) + $(RANLIB) $(CBLASLIB) + + # All precisions +diff --git a/CBLAS/testing/CMakeLists.txt b/CBLAS/testing/CMakeLists.txt +--- a/CBLAS/testing/CMakeLists.txt ++++ b/CBLAS/testing/CMakeLists.txt +@@ -28,8 +28,6 @@ + + # Object files for single real precision + SET( STESTL1O c_sblas1.c) +- +-SET( STESTL2O c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c) + SET( STESTL2O c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c) + SET( STESTL3O c_sblas3.c c_s3chke.c auxiliary.c c_xerbla.c) + +@@ -62,11 +60,9 @@ + add_cblas_test(stest1.out "" xscblat1) + add_cblas_test(stest2.out sin2 xscblat2) + add_cblas_test(stest3.out sin3 xscblat3) +- + endif() + + if(BUILD_DOUBLE) +- + add_executable(xdcblat1 c_dblat1.f ${DTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xdcblat2 c_dblat2.f ${DTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xdcblat3 c_dblat3.f ${DTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) +@@ -78,11 +74,9 @@ + add_cblas_test(dtest1.out "" xdcblat1) + add_cblas_test(dtest2.out din2 xdcblat2) + add_cblas_test(dtest3.out din3 xdcblat3) +- + endif() + + if(BUILD_COMPLEX) +- + add_executable(xccblat1 c_cblat1.f ${CTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xccblat2 c_cblat2.f ${CTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xccblat3 c_cblat3.f ${CTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) +@@ -94,11 +88,9 @@ + add_cblas_test(ctest1.out "" xccblat1) + add_cblas_test(ctest2.out cin2 xccblat2) + add_cblas_test(ctest3.out cin3 xccblat3) +- + endif() + + if(BUILD_COMPLEX16) +- + add_executable(xzcblat1 c_zblat1.f ${ZTESTL1O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xzcblat2 c_zblat2.f ${ZTESTL2O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) + add_executable(xzcblat3 c_zblat3.f ${ZTESTL3O} ${LAPACK_BINARY_DIR}/include/cblas_test.h) +@@ -110,5 +102,4 @@ + add_cblas_test(ztest1.out "" xzcblat1) + add_cblas_test(ztest2.out zin2 xzcblat2) + add_cblas_test(ztest3.out zin3 xzcblat3) +- + endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,7 +122,33 @@ + # -------------------------------------------------- + # Precision to build + # By default all precisions are generated ++option(BUILD_SINGLE "Build Single Precision" ON) ++option(BUILD_DOUBLE "Build Double Precision" ON) ++option(BUILD_COMPLEX "Build Complex Precision" ON) ++option(BUILD_COMPLEX16 "Build Double Complex Precision" ON) ++ ++set(PRECISIONS) ++if(BUILD_SINGLE) ++ message(STATUS "Building Single Precision") ++ list(APPEND PRECISIONS "single") ++endif() ++if(BUILD_DOUBLE) ++ message(STATUS "Building Double Precision") ++ list(APPEND PRECISIONS "double") ++endif() ++if(BUILD_COMPLEX) ++ message(STATUS "Building Complex Precision") ++ list(APPEND PRECISIONS "complex") ++endif() ++if(BUILD_COMPLEX16) ++ message(STATUS "Building Double Complex Precision") ++ list(APPEND PRECISIONS "complex16") ++endif() + ++if(NOT PRECISIONS) ++ message(FATAL_ERROR "--> Nothing to build, no precision selected. ++ Please enable at least one of these: BUILD_SINGLE, BUILD_DOUBLE, BUILD_COMPLEX, BUILD_COMPLEX16.") ++endif() + + # -------------------------------------------------- + # Subdirectories that need to be processed +@@ -214,10 +240,6 @@ + if(NOT LATESTLAPACK_FOUND) + message(STATUS "Using supplied NETLIB LAPACK implementation") + set( LAPACK_LIBRARIES lapack ) +- option(BUILD_SINGLE "Build LAPACK Single Precision" ON) +- option(BUILD_DOUBLE "Build LAPACK Double Precision" ON) +- option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON) +- option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON) + add_subdirectory(SRC) + else() + set( CMAKE_EXE_LINKER_FLAGS +diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt +--- a/SRC/CMakeLists.txt ++++ b/SRC/CMakeLists.txt +@@ -1,22 +1,28 @@ + ####################################################################### + # This is the makefile to create a library for LAPACK. + # The files are organized as follows: +-# ALLAUX -- Auxiliary routines called from all precisions +-# ALLXAUX -- Auxiliary routines called from all precisions but +-# only from routines using extra precision. +-# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX +-# DZLAUX -- Auxiliary routines called from both DOUBLE PRECISION +-# and COMPLEX*16 +-# SLASRC -- Single precision real LAPACK routines ++# ALLAUX -- Auxiliary routines called from all precisions ++# ++# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX. ++# DZLAUX -- Auxiliary routines called from both DOUBLE and COMPLEX*16. ++# ++# DSLASRC -- Double-single mixed precision real routines called from ++# single, single-extra and double precision real LAPACK ++# routines (i.e. from SLASRC, SXLASRC, DLASRC). ++# ZCLASRC -- Double-single mixed precision complex routines called from ++# single, single-extra and double precision complex LAPACK ++# routines (i.e. from CLASRC, CXLASRC, ZLASRC). ++# ++# SLASRC -- Single precision real LAPACK routines + # SXLASRC -- Single precision real LAPACK routines using extra + # precision. +-# CLASRC -- Single precision complex LAPACK routines ++# CLASRC -- Single precision complex LAPACK routines + # CXLASRC -- Single precision complex LAPACK routines using extra + # precision. +-# DLASRC -- Double precision real LAPACK routines ++# DLASRC -- Double precision real LAPACK routines + # DXLASRC -- Double precision real LAPACK routines using extra + # precision. +-# ZLASRC -- Double precision complex LAPACK routines ++# ZLASRC -- Double precision complex LAPACK routines + # ZXLASRC -- Double precision complex LAPACK routines using extra + # precision. + # +@@ -51,8 +57,6 @@ + ../INSTALL/ilaver.f ../INSTALL/lsame.f xerbla.f xerbla_array.f + ../INSTALL/slamch.f) + +-set(ALLXAUX ) +- + set(SCLAUX + sbdsdc.f + sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f +@@ -97,8 +101,8 @@ + sgels.f sgelsd.f sgelss.f sgelsy.f sgeql2.f sgeqlf.f + sgeqp3.f sgeqr2.f sgeqr2p.f sgeqrf.f sgeqrfp.f sgerfs.f sgerq2.f sgerqf.f + sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvdx.f sgesvx.f sgetc2.f sgetf2.f +- sgetrf.f sgetrf2.f sgetri.f +- sgetrs.f sggbak.f sggbal.f ++ sgetrf2.f sgetri.f ++ sggbak.f sggbal.f + sgges.f sgges3.f sggesx.f sggev.f sggev3.f sggevx.f + sggglm.f sgghrd.f sgghd3.f sgglse.f sggqrf.f + sggrqf.f sggsvd3.f sggsvp3.f sgtcon.f sgtrfs.f sgtsv.f +@@ -123,7 +127,7 @@ + sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f + spbstf.f spbsv.f spbsvx.f + spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f +- sposvx.f spotf2.f spotrf.f spotrf2.f spotri.f spotrs.f spstrf.f spstf2.f ++ sposvx.f spotf2.f spotrf2.f spotri.f spstrf.f spstf2.f + sppcon.f sppequ.f + spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f + spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f +@@ -172,8 +176,8 @@ + cgeqr2.f cgeqr2p.f cgeqrf.f cgeqrfp.f cgerfs.f cgerq2.f cgerqf.f + cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvdx.f + cgesvj.f cgejsv.f cgsvj0.f cgsvj1.f +- cgesvx.f cgetc2.f cgetf2.f cgetrf.f cgetrf2.f +- cgetri.f cgetrs.f ++ cgesvx.f cgetc2.f cgetf2.f cgetrf2.f ++ cgetri.f + cggbak.f cggbal.f + cgges.f cgges3.f cggesx.f cggev.f cggev3.f cggevx.f + cggglm.f cgghrd.f cgghd3.f cgglse.f cggqrf.f cggrqf.f +@@ -207,7 +211,7 @@ + claswp.f clasyf.f clasyf_rook.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f + clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f + cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f +- cposv.f cposvx.f cpotf2.f cpotrf.f cpotrf2.f cpotri.f cpotrs.f cpstrf.f cpstf2.f ++ cposv.f cposvx.f cpotf2.f cpotrf2.f cpotri.f cpstrf.f cpstf2.f + cppcon.f cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f + cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f + crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f +@@ -409,52 +413,45 @@ + zla_heamv.f zla_hercond_c.f zla_hercond_x.f zla_herpvgrw.f + zla_lin_berr.f zlarscl2.f zlascl2.f zla_wwaddw.f) + +- +-if( USE_XBLAS) +- set(ALLXOBJ ${SXLASRC} ${DXLASRC} ${CXLASRC} ${ZXLASRC} ${ALLXAUX}) ++if(USE_XBLAS) ++ list(APPEND SLASRC ${SXLASRC}) ++ list(APPEND DLASRC ${DXLASRC}) ++ list(APPEND CLASRC ${CXLASRC}) ++ list(APPEND ZLASRC ${ZXLASRC}) + endif() + + if(BUILD_DEPRECATED) +- LIST(APPEND SLASRC DEPRECATED/sgegs.f DEPRECATED/sgegv.f ++ LIST(APPEND SLASRC DEPRECATED/sgegs.f DEPRECATED/sgegv.f + DEPRECATED/sgeqpf.f DEPRECATED/sgelsx.f DEPRECATED/sggsvd.f + DEPRECATED/sggsvp.f DEPRECATED/slahrd.f DEPRECATED/slatzm.f DEPRECATED/stzrqf.f) +- LIST(APPEND DLASRC DEPRECATED/dgegs.f DEPRECATED/dgegv.f ++ LIST(APPEND DLASRC DEPRECATED/dgegs.f DEPRECATED/dgegv.f + DEPRECATED/dgeqpf.f DEPRECATED/dgelsx.f DEPRECATED/dggsvd.f +- DEPRECATED/dggsvp.f DEPRECATED/dlahrd.f DEPRECATED/dlatzm.f DEPRECATED/dtzrqf.f ) ++ DEPRECATED/dggsvp.f DEPRECATED/dlahrd.f DEPRECATED/dlatzm.f DEPRECATED/dtzrqf.f) + LIST(APPEND CLASRC DEPRECATED/cgegs.f DEPRECATED/cgegv.f + DEPRECATED/cgeqpf.f DEPRECATED/cgelsx.f DEPRECATED/cggsvd.f + DEPRECATED/cggsvp.f DEPRECATED/clahrd.f DEPRECATED/clatzm.f DEPRECATED/ctzrqf.f) + LIST(APPEND ZLASRC DEPRECATED/zgegs.f DEPRECATED/zgegv.f + DEPRECATED/zgeqpf.f DEPRECATED/zgelsx.f DEPRECATED/zggsvd.f + DEPRECATED/zggsvp.f DEPRECATED/zlahrd.f DEPRECATED/zlatzm.f DEPRECATED/ztzrqf.f) +- message(STATUS "Building deprecated routines") ++ message(STATUS "Building LAPACK deprecated routines") + endif() + ++set(ALLOBJ) + if(BUILD_SINGLE) +-set(ALLOBJ ${SLASRC} ${ALLAUX} ${SCLAUX} ) +-message(STATUS "Building Single Precision") ++ list(APPEND ALLOBJ ${SLASRC} ${ALLAUX} ${SCLAUX} ${DSLASRC}) + endif() + if(BUILD_DOUBLE) +- set(ALLOBJ ${ALLOBJ} ${DLASRC} ${ALLAUX} ${DZLAUX} ${DSLASRC}) +-message(STATUS "Building Double Precision") ++ list(APPEND ALLOBJ ${DLASRC} ${ALLAUX} ${DZLAUX} ${DSLASRC}) + endif() + if(BUILD_COMPLEX) +- set(ALLOBJ ${ALLOBJ} ${CLASRC} ${ALLAUX} ${SCLAUX} ) +-message(STATUS "Building Complex Precision") ++ list(APPEND ALLOBJ ${CLASRC} ${ALLAUX} ${SCLAUX} ${ZCLASRC}) + endif() + if(BUILD_COMPLEX16) +- set(ALLOBJ ${ALLOBJ} ${ZLASRC} ${ALLAUX} ${DZLAUX} ${ZCLASRC}) +-message(STATUS "Building Double Complex Precision") +-endif() +- +-if (NOT ALLOBJ) +- message(FATAL_ERROR "-->LAPACK SRC BUILD: NOTHING TO BUILD, NO PRECISION SELECTED: +- PLEASE ENABLE AT LEAST ONE OF THOSE: BUILD_SINGLE, BUILD_COMPLEX, BUILD_DOUBLE, BUILD_COMPLEX16.") ++ list(APPEND ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX} ${ZCLASRC}) + endif() +- + list(REMOVE_DUPLICATES ALLOBJ) + +-add_library(lapack ${ALLOBJ} ${ALLXOBJ}) ++add_library(lapack ${ALLOBJ}) + target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) + set_target_properties( + lapack PROPERTIES +diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt +--- a/TESTING/CMakeLists.txt ++++ b/TESTING/CMakeLists.txt +@@ -289,7 +289,7 @@ + endif() + + +-if (BUILD_SIMPLE) ++if (BUILD_SINGLE) + if (BUILD_DOUBLE) + # + # ======== SINGLE-DOUBLE PROTO LIN TESTS ============== +diff --git a/TESTING/LIN/CMakeLists.txt b/TESTING/LIN/CMakeLists.txt +--- a/TESTING/LIN/CMakeLists.txt ++++ b/TESTING/LIN/CMakeLists.txt +@@ -13,10 +13,10 @@ + schksp.f schksy.f schksy_rook.f schktb.f schktp.f schktr.f + schktz.f + sdrvgt.f sdrvls.f sdrvpb.f +- sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy.f sdrvsy_rook.f ++ sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy_rook.f + serrgt.f serrlq.f serrls.f +- serrpo.f serrps.f serrql.f serrqp.f serrqr.f +- serrrq.f serrsy.f serrtr.f serrtz.f serrvx.f ++ serrps.f serrql.f serrqp.f serrqr.f ++ serrrq.f serrtr.f serrtz.f + sgbt01.f sgbt02.f sgbt05.f sgelqs.f sgeqls.f sgeqrs.f + sgerqs.f sget01.f sget02.f + sget03.f sget04.f sget06.f sget07.f sgtt01.f sgtt02.f +@@ -37,9 +37,11 @@ + sqrt04.f sqrt05.f schkqrt.f serrqrt.f schkqrtp.f serrqrtp.f) + + if(USEXBLAS) +- list(APPEND SLINTST sdrvgex.f serrgex.f sdrvgbx.f sdrvpox.f sebchvxx.f) ++ list(APPEND SLINTST serrvxx.f sdrvgex.f sdrvsyx.f serrgex.f sdrvgbx.f sdrvpox.f ++ sebchvxx.f serrsyx.f serrpox.f) + else() +- list(APPEND SLINTST sdrvge.f serrge.f sdrvgb.f sdrvpo.f) ++ list(APPEND SLINTST serrvx.f sdrvge.f sdrvsy.f serrge.f sdrvgb.f sdrvpo.f ++ serrsy.f serrpo.f) + endif() + + set(CLINTST cchkaa.f +@@ -48,13 +50,12 @@ + cchkpo.f cchkps.f cchkpp.f cchkpt.f cchkq3.f cchkql.f + cchkqr.f cchkrq.f cchksp.f cchksy.f cchksy_rook.f cchktb.f + cchktp.f cchktr.f cchktz.f +- cdrvgt.f cdrvhe.f cdrvhe_rook.f cdrvhp.f ++ cdrvgt.f cdrvhe_rook.f cdrvhp.f + cdrvls.f cdrvpb.f cdrvpp.f cdrvpt.f +- cdrvsp.f cdrvsy.f cdrvsy_rook.f +- cerrgt.f cerrhe.f cerrlq.f ++ cdrvsp.f cdrvsy_rook.f ++ cerrgt.f cerrlq.f + cerrls.f cerrps.f cerrql.f cerrqp.f +- cerrqr.f cerrrq.f cerrsy.f cerrtr.f cerrtz.f +- cerrvx.f ++ cerrqr.f cerrrq.f cerrtr.f cerrtz.f + cgbt01.f cgbt02.f cgbt05.f cgelqs.f cgeqls.f cgeqrs.f + cgerqs.f cget01.f cget02.f + cget03.f cget04.f cget07.f cgtt01.f cgtt02.f +@@ -77,10 +78,11 @@ + cqrt04.f cqrt05.f cchkqrt.f cerrqrt.f cchkqrtp.f cerrqrtp.f ) + + if(USEXBLAS) +- list(APPEND +- CLINTST cdrvgex.f cdrvgbx.f cerrgex.f cdrvpox.f cerrpox.f cebchvxx.f) ++ list(APPEND CLINTST cerrvxx.f cdrvgex.f cdrvsyx.f cdrvgbx.f cerrgex.f cdrvpox.f ++ cdrvhex.f cerrpox.f cebchvxx.f cerrsyx.f cerrhex.f) + else() +- list(APPEND CLINTST cdrvge.f cdrvgb.f cerrge.f cdrvpo.f cerrpo.f) ++ list(APPEND CLINTST cerrvx.f cdrvge.f cdrvsy.f cdrvgb.f cerrge.f cdrvpo.f ++ cdrvhe.f cerrpo.f cerrsy.f cerrhe.f) + endif() + + set(DLINTST dchkaa.f +@@ -90,10 +92,10 @@ + dchksp.f dchksy.f dchksy_rook.f dchktb.f dchktp.f dchktr.f + dchktz.f + ddrvgt.f ddrvls.f ddrvpb.f +- ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy.f ddrvsy_rook.f ++ ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy_rook.f + derrgt.f derrlq.f derrls.f + derrps.f derrql.f derrqp.f derrqr.f +- derrrq.f derrsy.f derrtr.f derrtz.f derrvx.f ++ derrrq.f derrtr.f derrtz.f + dgbt01.f dgbt02.f dgbt05.f dgelqs.f dgeqls.f dgeqrs.f + dgerqs.f dget01.f dget02.f + dget03.f dget04.f dget06.f dget07.f dgtt01.f dgtt02.f +@@ -114,11 +116,11 @@ + dqrt04.f dqrt05.f dchkqrt.f derrqrt.f dchkqrtp.f derrqrtp.f ) + + if(USEXBLAS) +- list(APPEND +- DLINTST ddrvgex.f ddrvgbx.f derrgex.f ddrvpox.f derrpox.f debchvxx.f) ++ list(APPEND DLINTST derrvxx.f ddrvgex.f ddrvsyx.f ddrvgbx.f derrgex.f ddrvpox.f derrpox.f ++ debchvxx.f derrsyx.f) + else() +- list(APPEND +- DLINTST ddrvge.f ddrvgb.f derrge.f ddrvpo.f derrpo.f) ++ list(APPEND DLINTST derrvx.f ddrvge.f ddrvsy.f ddrvgb.f derrge.f ddrvpo.f derrpo.f ++ derrsy.f) + endif() + + set(ZLINTST zchkaa.f +@@ -127,17 +129,16 @@ + zchkpo.f zchkps.f zchkpp.f zchkpt.f zchkq3.f zchkql.f + zchkqr.f zchkrq.f zchksp.f zchksy.f zchksy_rook.f zchktb.f + zchktp.f zchktr.f zchktz.f +- zdrvgt.f zdrvhe.f zdrvhe_rook.f zdrvhp.f ++ zdrvgt.f zdrvhe_rook.f zdrvhp.f + zdrvls.f zdrvpb.f zdrvpp.f zdrvpt.f +- zdrvsp.f zdrvsy.f zdrvsy_rook.f +- zerrgt.f zerrhe.f zerrlq.f ++ zdrvsp.f zdrvsy_rook.f ++ zerrgt.f zerrlq.f + zerrls.f zerrps.f zerrql.f zerrqp.f +- zerrqr.f zerrrq.f zerrsy.f zerrtr.f zerrtz.f +- zerrvx.f ++ zerrqr.f zerrrq.f zerrtr.f zerrtz.f + zgbt01.f zgbt02.f zgbt05.f zgelqs.f zgeqls.f zgeqrs.f + zgerqs.f zget01.f zget02.f + zget03.f zget04.f zget07.f zgtt01.f zgtt02.f +- zgtt05.f zhet01.f zhet01.f zhet01_rook.f zhpt01.f zlaipd.f zlaptm.f zlarhs.f zlatb4.f zlatb5.f ++ zgtt05.f zhet01.f zhet01_rook.f zhpt01.f zlaipd.f zlaptm.f zlarhs.f zlatb4.f zlatb5.f + zlatsp.f zlatsy.f zlattb.f zlattp.f zlattr.f + zlavhe.f zlavhe_rook.f zlavhp.f zlavsp.f zlavsy.f zlavsy_rook.f zlqt01.f + zlqt02.f zlqt03.f zpbt01.f zpbt02.f zpbt05.f +@@ -156,11 +157,11 @@ + zqrt04.f zqrt05.f zchkqrt.f zerrqrt.f zchkqrtp.f zerrqrtp.f ) + + if(USEXBLAS) +- list(APPEND +- ZLINTST zdrvgex.f zdrvgbx.f zerrgex.f zdrvpox.f zerrpox.f zebchvxx.f) ++ list(APPEND ZLINTST zerrvxx.f zdrvgex.f zdrvsyx.f zdrvgbx.f zerrgex.f zdrvpox.f zdrvhex.f ++ zerrpox.f zebchvxx.f zerrsyx.f zerrhex.f) + else() +- list(APPEND +- ZLINTST zdrvge.f zdrvgb.f zerrge.f zdrvpo.f zerrpo.f) ++ list(APPEND ZLINTST zerrvx.f zdrvge.f zdrvsy.f zdrvgb.f zerrge.f zdrvpo.f zdrvhe.f ++ zerrpo.f zerrsy.f zerrhe.f) + endif() + + set(DSLINTST dchkab.f +@@ -197,29 +198,29 @@ + endmacro(add_lin_executable) + + IF(BUILD_SINGLE) +-add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST} ${SECOND_SRC} ) ++add_lin_executable(xlintsts ${ALINTST} ${SLINTST} ${SCLNTST} ${SECOND_SRC}) + add_lin_executable(xlintstrfs ${SLINTSTRFP} ${SECOND_SRC}) + endif() + + if(BUILD_DOUBLE) +-add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST} ${DSECOND_SRC}) ++add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST} ${DSECOND_SRC}) + add_lin_executable(xlintstrfd ${DLINTSTRFP} ${DSECOND_SRC}) + endif() + + IF(BUILD_SINGLE AND BUILD_DOUBLE) +-add_lin_executable(xlintstds ${DSLINTST} ${SECOND_SRC} ${DSECOND_SRC} ) ++add_lin_executable(xlintstds ${DSLINTST} ${SECOND_SRC} ${DSECOND_SRC}) + endif() + + if(BUILD_COMPLEX) +-add_lin_executable(xlintstc ${ALINTST} ${CLINTST} ${SCLNTST} ${SECOND_SRC} ) +-add_lin_executable(xlintstrfc ${CLINTSTRFP} ${SECOND_SRC}) ++add_lin_executable(xlintstc ${ALINTST} ${CLINTST} ${SCLNTST} ${SECOND_SRC}) ++add_lin_executable(xlintstrfc ${CLINTSTRFP} ${SECOND_SRC}) + endif() + + if(BUILD_COMPLEX16) +-add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST} ${DSECOND_SRC}) ++add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST} ${DSECOND_SRC}) + add_lin_executable(xlintstrfz ${ZLINTSTRFP} ${DSECOND_SRC}) + endif() + + IF(BUILD_COMPLEX AND BUILD_COMPLEX16) +-add_lin_executable(xlintstzc ${ZCLINTST} ${SECOND_SRC} ${DSECOND_SRC} ) ++add_lin_executable(xlintstzc ${ZCLINTST} ${SECOND_SRC} ${DSECOND_SRC}) + endif() +diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt +--- a/TESTING/MATGEN/CMakeLists.txt ++++ b/TESTING/MATGEN/CMakeLists.txt +@@ -31,45 +31,41 @@ + # + ####################################################################### + +-set(SCATGEN slatm1.f slaran.f slarnd.f) ++set(SCATGEN slatm1.f slatm7.f slaran.f slarnd.f) + + set(SMATGEN slatms.f slatme.f slatmr.f slatmt.f + slagge.f slagsy.f slakf2.f slarge.f slaror.f slarot.f slatm2.f +- slatm3.f slatm5.f slatm6.f slatm7.f slahilb.f) ++ slatm3.f slatm5.f slatm6.f slahilb.f) + + set(CMATGEN clatms.f clatme.f clatmr.f clatmt.f + clagge.f claghe.f clagsy.f clakf2.f clarge.f claror.f clarot.f +- clatm1.f clarnd.f clatm2.f clatm3.f clatm5.f clatm6.f clahilb.f slatm7.f) ++ clatm1.f clarnd.f clatm2.f clatm3.f clatm5.f clatm6.f clahilb.f) + +-set(DZATGEN dlatm1.f dlaran.f dlarnd.f) ++set(DZATGEN dlatm1.f dlatm7.f dlaran.f dlarnd.f) + + set(DMATGEN dlatms.f dlatme.f dlatmr.f dlatmt.f + dlagge.f dlagsy.f dlakf2.f dlarge.f dlaror.f dlarot.f dlatm2.f +- dlatm3.f dlatm5.f dlatm6.f dlatm7.f dlahilb.f) ++ dlatm3.f dlatm5.f dlatm6.f dlahilb.f) + + set(ZMATGEN zlatms.f zlatme.f zlatmr.f zlatmt.f +- zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f +- zlatm1.f zlarnd.f zlatm2.f zlatm3.f zlatm5.f zlatm6.f zlahilb.f dlatm7.f) ++ zlagge.f zlaghe.f zlagsy.f zlakf2.f zlarge.f zlaror.f zlarot.f ++ zlatm1.f zlarnd.f zlatm2.f zlatm3.f zlatm5.f zlatm6.f zlahilb.f) + ++set(ALLOBJ) + if(BUILD_SINGLE) +- set(ALLOBJ ${SMATGEN} ${SCATGEN}) ++ list(APPEND ALLOBJ ${SMATGEN} ${SCATGEN}) + endif() + if(BUILD_DOUBLE) +- set(ALLOBJ ${ALLOBJ} ${DMATGEN} ${DZATGEN}) ++ list(APPEND ALLOBJ ${DMATGEN} ${DZATGEN}) + endif() + if(BUILD_COMPLEX) +- set(ALLOBJ ${ALLOBJ} ${CMATGEN} ${SCATGEN}) ++ list(APPEND ALLOBJ ${CMATGEN} ${SCATGEN}) + endif() + if(BUILD_COMPLEX16) +- set(ALLOBJ ${ALLOBJ} ${ZMATGEN} ${DZATGEN}) ++ LIST(APPEND ALLOBJ ${ZMATGEN} ${DZATGEN}) + endif() ++list(REMOVE_DUPLICATES ALLOBJ) + +-if (NOT ALLOBJ) +-set(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN} +- ${DZATGEN}) +-else() +- list(REMOVE_DUPLICATES ALLOBJ) +-endif() +-add_library(tmglib ${ALLOBJ} ) ++add_library(tmglib ${ALLOBJ}) + target_link_libraries(tmglib ${LAPACK_LIBRARIES}) + lapack_install_library(tmglib) +diff --git a/TESTING/MATGEN/Makefile b/TESTING/MATGEN/Makefile +--- a/TESTING/MATGEN/Makefile ++++ b/TESTING/MATGEN/Makefile +@@ -33,21 +33,21 @@ + # + ####################################################################### + +-SCATGEN = slatm1.o slaran.o slarnd.o ++SCATGEN = slatm1.o slatm7.o slaran.o slarnd.o + + SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \ + slagge.o slagsy.o slakf2.o slarge.o slaror.o slarot.o slatm2.o \ +- slatm3.o slatm5.o slatm6.o slatm7.o slahilb.o ++ slatm3.o slatm5.o slatm6.o slahilb.o + + CMATGEN = clatms.o clatme.o clatmr.o clatmt.o \ + clagge.o claghe.o clagsy.o clakf2.o clarge.o claror.o clarot.o \ + clatm1.o clarnd.o clatm2.o clatm3.o clatm5.o clatm6.o clahilb.o + +-DZATGEN = dlatm1.o dlaran.o dlarnd.o ++DZATGEN = dlatm1.o dlatm7.o dlaran.o dlarnd.o + + DMATGEN = dlatms.o dlatme.o dlatmr.o dlatmt.o \ + dlagge.o dlagsy.o dlakf2.o dlarge.o dlaror.o dlarot.o dlatm2.o \ +- dlatm3.o dlatm5.o dlatm6.o dlatm7.o dlahilb.o ++ dlatm3.o dlatm5.o dlatm6.o dlahilb.o + + ZMATGEN = zlatms.o zlatme.o zlatmr.o zlatmt.o \ + zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \ |