summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BLAS/CMakeLists.txt2
-rw-r--r--BLAS/SRC/CMakeLists.txt143
-rw-r--r--BLAS/TESTING/CMakeLists.txt63
-rw-r--r--CMakeLists.txt33
-rw-r--r--CTestConfig.cmake13
-rw-r--r--CheckTimeFunction.cmake27
-rw-r--r--SRC/CMakeLists.txt380
-rw-r--r--TESTING/CMakeLists.txt296
-rw-r--r--TESTING/EIG/CMakeLists.txt135
-rw-r--r--TESTING/LIN/CMakeLists.txt223
-rw-r--r--TESTING/MATGEN/CMakeLists.txt69
-rw-r--r--TESTING/runtest.cmake31
-rw-r--r--cmake_install.cmake39
-rw-r--r--lapack-config-version.cmake.in8
-rw-r--r--lapack-config.cmake.in1
15 files changed, 1463 insertions, 0 deletions
diff --git a/BLAS/CMakeLists.txt b/BLAS/CMakeLists.txt
new file mode 100644
index 00000000..05b8ff97
--- /dev/null
+++ b/BLAS/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_subdirectory(SRC)
+add_subdirectory(TESTING) \ No newline at end of file
diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt
new file mode 100644
index 00000000..cb28fa49
--- /dev/null
+++ b/BLAS/SRC/CMakeLists.txt
@@ -0,0 +1,143 @@
+#######################################################################
+# This is the makefile to create a library for the BLAS.
+# The files are grouped as follows:
+#
+# SBLAS1 -- Single precision real BLAS routines
+# CBLAS1 -- Single precision complex BLAS routines
+# DBLAS1 -- Double precision real BLAS routines
+# ZBLAS1 -- Double precision complex BLAS routines
+#
+# CB1AUX -- Real BLAS routines called by complex routines
+# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
+# routines
+#
+# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
+#
+# SBLAS2 -- Single precision real BLAS2 routines
+# CBLAS2 -- Single precision complex BLAS2 routines
+# DBLAS2 -- Double precision real BLAS2 routines
+# ZBLAS2 -- Double precision complex BLAS2 routines
+#
+# SBLAS3 -- Single precision real BLAS3 routines
+# CBLAS3 -- Single precision complex BLAS3 routines
+# 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.
+#---------------------------------------------------------
+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)
+
+set(CBLAS1 scabs1.f scasum.f scnrm2.f icamax.f caxpy.f ccopy.f
+ cdotc.f cdotu.f csscal.f crotg.f cscal.f cswap.f csrot.f)
+
+set(DBLAS1 idamax.f dasum.f daxpy.f dcopy.f ddot.f dnrm2.f
+ drot.f drotg.f dscal.f dsdot.f dswap.f drotmg.f drotm.f)
+
+set(ZBLAS1 dcabs1.f dzasum.f dznrm2.f izamax.f zaxpy.f zcopy.f
+ zdotc.f zdotu.f zdscal.f zrotg.f zscal.f zswap.f zdrot.f)
+
+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.
+#---------------------------------------------------------------------
+set(ALLBLAS lsame.f ) #xerbla.f xerbla_array.f)
+
+#---------------------------------------------------------
+# Comment out the next 4 definitions if you already have
+# the 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
+ sger.f ssyr.f sspr.f ssyr2.f sspr2.f)
+
+set(CBLAS2 cgemv.f cgbmv.f chemv.f chbmv.f chpmv.f
+ ctrmv.f ctbmv.f ctpmv.f ctrsv.f ctbsv.f ctpsv.f
+ cgerc.f cgeru.f cher.f chpr.f cher2.f chpr2.f)
+
+set(DBLAS2 dgemv.f dgbmv.f dsymv.f dsbmv.f dspmv.f
+ dtrmv.f dtbmv.f dtpmv.f dtrsv.f dtbsv.f dtpsv.f
+ dger.f dsyr.f dspr.f dsyr2.f dspr2.f)
+
+set(ZBLAS2 zgemv.f zgbmv.f zhemv.f zhbmv.f zhpmv.f
+ ztrmv.f ztbmv.f ztpmv.f ztrsv.f ztbsv.f ztpsv.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.
+#---------------------------------------------------------
+set(SBLAS3 sgemm.f ssymm.f ssyrk.f ssyr2k.f strmm.f strsm.f )
+
+set(CBLAS3 cgemm.f csymm.f csyrk.f csyr2k.f ctrmm.f ctrsm.f
+ chemm.f cherk.f cher2k.f)
+
+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})
+endif()
+if(BLAS_DOUBLE)
+ set(ALLOBJ ${DBLAS1} ${ALLBLAS}
+ ${DBLAS2} ${DBLAS3})
+endif()
+if(BLAS_COMPLEX)
+ set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX}
+ ${ALLBLAS} ${CBLAS2})
+endif()
+if(BLAS_COMPLEX16)
+ set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX}
+ ${ALLBLAS} ${ZBLAS2} ${ZBLAS3})
+endif()
+
+
+add_library(blas ${ALLOBJ})
+if(UNIX)
+ target_link_libraries(blas m)
+endif()
+target_link_libraries(blas)
diff --git a/BLAS/TESTING/CMakeLists.txt b/BLAS/TESTING/CMakeLists.txt
new file mode 100644
index 00000000..9e81501a
--- /dev/null
+++ b/BLAS/TESTING/CMakeLists.txt
@@ -0,0 +1,63 @@
+#######################################################################
+# This makefile creates the test programs for the BLAS 1 routines.
+# The test files are grouped as follows:
+# SBLAT1 -- Single precision real test routines
+# CBLAT1 -- Single precision complex test routines
+# DBLAT1 -- Double precision real test routines
+# ZBLAT1 -- Double precision complex test routines
+#
+# Test programs can be generated for all or some of the four different
+# precisions. To create the test programs, 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 all four test programs.
+# The executable files which are created are called
+# ../xblat1s, ../xblat1d, ../xblat1c, and ../xblat1z
+#
+# To remove the object files after the executable files have been
+# created, enter
+# make clean
+# To force the source files to be recompiled, enter, for example,
+# make single FRC=FRC
+#
+#######################################################################
+
+macro(add_blas_test name src)
+ get_filename_component(baseNAME ${src} NAME_WE)
+ set(TEST_INPUT "${LAPACK_SOURCE_DIR}/BLAS/${baseNAME}.in")
+ add_executable(${name} ${src})
+ get_target_property(TEST_LOC ${name} LOCATION)
+ target_link_libraries(${name} blas)
+ if(EXISTS "${TEST_INPUT}")
+ add_test(${name} "${CMAKE_COMMAND}"
+ -DTEST=${TEST_LOC}
+ -DINPUT=${TEST_INPUT}
+ -DINTDIR=${CMAKE_CFG_INTDIR}
+ -P "${LAPACK_SOURCE_DIR}/TESTING/runtest.cmake")
+ else()
+ add_test(${name} "${CMAKE_COMMAND}"
+ -DTEST=${TEST_LOC}
+ -DINTDIR=${CMAKE_CFG_INTDIR}
+ -P "${LAPACK_SOURCE_DIR}/TESTING/runtest.cmake")
+ endif()
+endmacro(add_blas_test)
+
+add_blas_test(xblat1s sblat1.f)
+add_blas_test(xblat1c cblat1.f)
+add_blas_test(xblat1d dblat1.f)
+add_blas_test(xblat1z zblat1.f)
+
+add_blas_test(xblat2s sblat2.f sblat2.in)
+add_blas_test(xblat2c cblat2.f )
+add_blas_test(xblat2d dblat2.f)
+add_blas_test(xblat2z zblat2.f)
+
+add_blas_test(xblat3s sblat3.f)
+add_blas_test(xblat3c cblat3.f)
+add_blas_test(xblat3d dblat3.f)
+add_blas_test(xblat3z zblat3.f)
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..c4af0d60
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,33 @@
+cmake_minimum_required(VERSION 2.6)
+project(LAPACK Fortran)
+set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_INT_ETIME.f)
+set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_INT_ETIME.f)
+enable_testing()
+include(CTest)
+enable_testing()
+set(CMAKE_MODULE_PATH ${LAPACK_SOURCE_DIR} ${CMAKE_MODULE_PATH})
+include(CheckTimeFunction)
+CHECK_TIME_FUNCTION(INT_CPU_TIME TIME_FUNC)
+CHECK_TIME_FUNCTION(EXT_ETIME TIME_FUNC)
+CHECK_TIME_FUNCTION(EXT_ETIME_ TIME_FUNC)
+CHECK_TIME_FUNCTION(INT_ETIME TIME_FUNC)
+message(STATUS "--> Will use second_${TIME_FUNC}.f and dsecnd_${TIME_FUNC}.f as timing function.")
+
+set(SECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/second_${TIME_FUNC}.f)
+set(DSECOND_SRC ${LAPACK_SOURCE_DIR}/INSTALL/dsecnd_${TIME_FUNC}.f)
+
+
+add_subdirectory(BLAS)
+add_subdirectory(SRC)
+add_subdirectory(TESTING)
+
+set(LAPACK_VERSION 3.2.1)
+set(CPACK_PACKAGE_VERSION_MAJOR 3)
+set(CPACK_PACKAGE_VERSION_MINOR 2)
+set(CPACK_PACKAGE_VERSION_PATCH 1)
+include(CPack)
+export(TARGETS blas FILE lapack-targets.cmake)
+configure_file(${LAPACK_SOURCE_DIR}/lapack-config-version.cmake.in
+ ${LAPACK_BINARY_DIR}/lapack-config-version.cmake @ONLY)
+configure_file(${LAPACK_SOURCE_DIR}/lapack-config.cmake.in
+ ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
new file mode 100644
index 00000000..a1274964
--- /dev/null
+++ b/CTestConfig.cmake
@@ -0,0 +1,13 @@
+## This file should be placed in the root directory of your project.
+## Then modify the CMakeLists.txt file in the root directory of your
+## project to incorporate the testing dashboard.
+## # The following are required to uses Dart and the Cdash dashboard
+## ENABLE_TESTING()
+## INCLUDE(CTest)
+set(CTEST_PROJECT_NAME "LAPACK")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "my.cdash.org")
+set(CTEST_DROP_LOCATION "/submit.php?project=LAPACK")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/CheckTimeFunction.cmake b/CheckTimeFunction.cmake
new file mode 100644
index 00000000..22d73b27
--- /dev/null
+++ b/CheckTimeFunction.cmake
@@ -0,0 +1,27 @@
+# - Check if the Fortran function exists.
+# CHECK_TIME_FUNCTION(FUNCTION VARIABLE TYPE)
+# - macro which checks if the Fortran function exists
+# FUNCTION - the name of the Fortran function
+# VARIABLE - variable to store the result
+#
+
+macro(CHECK_TIME_FUNCTION FUNCTION VARIABLE)
+
+ execute_process(COMMAND ${CMAKE_Fortran_COMPILER} -o secondtst second_${FUNCTION}.f secondtst.f
+ WORKING_DIRECTORY ${LAPACK_SOURCE_DIR}/INSTALL
+ RESULT_VARIABLE RES
+ OUTPUT_VARIABLE OUT
+ ERROR_VARIABLE ERR
+ )
+
+ if(${RES} EQUAL 0)
+ set(${VARIABLE} ${FUNCTION} CACHE INTERNAL "Have Fortran function ${FUNCTION}")
+ message(STATUS "Looking for Fortran ${FUNCTION} - found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Fortran ${FUNCTION} exists. ${OUT} \n\n")
+ else(${RES} EQUAL 0)
+ message(STATUS "Looking for Fortran ${FUNCTION} - not found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Fortran ${FUNCTION} does not exist. \n ${ERR} \n")
+ endif(${RES} EQUAL 0)
+endmacro(CHECK_TIME_FUNCTION)
diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt
new file mode 100644
index 00000000..f5d21ffd
--- /dev/null
+++ b/SRC/CMakeLists.txt
@@ -0,0 +1,380 @@
+#######################################################################
+# 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
+# SXLASRC -- Single precision real LAPACK routines using extra
+# precision.
+# CLASRC -- Single precision complex LAPACK routines
+# CXLASRC -- Single precision complex LAPACK routines using extra
+# precision.
+# DLASRC -- Double precision real LAPACK routines
+# DXLASRC -- Double precision real LAPACK routines using extra
+# precision.
+# ZLASRC -- Double precision complex LAPACK routines
+# ZXLASRC -- Double precision complex LAPACK routines using extra
+# precision.
+#
+# 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
+# installation guide, LAPACK Working Note 41, for instructions.
+#
+#######################################################################
+
+set(ALLAUX ilaenv.f ieeeck.f lsamen.f iparmq.f
+ ilaprec.f ilatrans.f ilauplo.f iladiag.f chla_transtype.f
+ ../INSTALL/ilaver.f ../INSTALL/lsame.f) # xerbla.f xerbla_array.f
+
+set(ALLXAUX )
+
+set(SCLAUX
+ sbdsdc.f
+ sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f
+ slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f
+ slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f
+ slagts.f slamrg.f slanst.f
+ slapy2.f slapy3.f slarnv.f
+ slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f
+ slarrk.f slarrr.f slaneg.f
+ slartg.f slaruv.f slas2.f slascl.f
+ slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f
+ slasd7.f slasd8.f slasda.f slasdq.f slasdt.f
+ slaset.f slasq1.f slasq2.f slasq3.f slasq4.f slasq5.f slasq6.f
+ slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f
+ ssteqr.f ssterf.f slaisnan.f sisnan.f
+ ../INSTALL/slamch.f ${SECOND_SRC})
+
+set(DZLAUX
+ dbdsdc.f
+ dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f
+ dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f
+ dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f
+ dlagts.f dlamrg.f dlanst.f
+ dlapy2.f dlapy3.f dlarnv.f
+ dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f
+ dlarrk.f dlarrr.f dlaneg.f
+ dlartg.f dlaruv.f dlas2.f dlascl.f
+ dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f
+ dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f
+ dlaset.f dlasq1.f dlasq2.f dlasq3.f dlasq4.f dlasq5.f dlasq6.f
+ dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f
+ dsteqr.f dsterf.f dlaisnan.f disnan.f
+ ../INSTALL/dlamch.f ${DSECOND_SRC})
+
+set(SLASRC
+ sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f
+ sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f
+ sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f
+ sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f
+ sgels.f sgelsd.f sgelss.f sgelsx.f sgelsy.f sgeql2.f sgeqlf.f
+ sgeqp3.f sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f
+ sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvx.f sgetc2.f sgetf2.f
+ sgetrf.f sgetri.f
+ sgetrs.f sggbak.f sggbal.f sgges.f sggesx.f sggev.f sggevx.f
+ sggglm.f sgghrd.f sgglse.f sggqrf.f
+ sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f
+ sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f
+ shsein.f shseqr.f slabrd.f slacon.f slacn2.f
+ slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f
+ slahrd.f slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f
+ slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f
+ slansy.f slantb.f slantp.f slantr.f slanv2.f
+ slapll.f slapmt.f
+ slaqgb.f slaqge.f slaqp2.f slaqps.f slaqsb.f slaqsp.f slaqsy.f
+ slaqr0.f slaqr1.f slaqr2.f slaqr3.f slaqr4.f slaqr5.f
+ slaqtr.f slar1v.f slar2v.f ilaslr.f ilaslc.f
+ slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f
+ slarrv.f slartv.f slarfp.f
+ slarz.f slarzb.f slarzt.f slaswp.f slasy2.f slasyf.f
+ slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatzm.f
+ slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f
+ sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f
+ sorgrq.f sorgtr.f sorm2l.f sorm2r.f
+ sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f
+ 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 spotri.f spotrs.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
+ ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbgvd.f ssbgvx.f
+ ssbtrd.f sspcon.f sspev.f sspevd.f sspevx.f sspgst.f
+ sspgv.f sspgvd.f sspgvx.f ssprfs.f sspsv.f sspsvx.f ssptrd.f
+ ssptrf.f ssptri.f ssptrs.f sstegr.f sstein.f sstev.f sstevd.f sstevr.f
+ sstevx.f ssycon.f ssyev.f ssyevd.f ssyevr.f ssyevx.f ssygs2.f
+ ssygst.f ssygv.f ssygvd.f ssygvx.f ssyrfs.f ssysv.f ssysvx.f
+ ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f
+ stbrfs.f stbtrs.f stgevc.f stgex2.f stgexc.f stgsen.f
+ stgsja.f stgsna.f stgsy2.f stgsyl.f stpcon.f stprfs.f stptri.f
+ stptrs.f
+ strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f
+ strti2.f strtri.f strtrs.f stzrqf.f stzrzf.f sstemr.f
+ slansf.f spftrf.f spftri.f spftrs.f ssfrk.f stfsm.f stftri.f stfttp.f
+ stfttr.f stpttf.f stpttr.f strttf.f strttp.f
+ sgejsv.f sgesvj.f sgsvj0.f sgsvj1.f
+ sgeequb.f ssyequb.f spoequb.f sgbequb.f)
+
+set(SXLASRC sgesvxx.f sgerfsx.f sla_gerfsx_extended.f sla_geamv.f
+ sla_gercond.f sla_rpvgrw.f ssysvxx.f ssyrfsx.f
+ sla_syrfsx_extended.f sla_syamv.f sla_syrcond.f sla_syrpvgrw.f
+ sposvxx.f sporfsx.f sla_porfsx_extended.f sla_porcond.f
+ sla_porpvgrw.f sgbsvxx.f sgbrfsx.f sla_gbrfsx_extended.f
+ sla_gbamv.f sla_gbrcond.f sla_gbrpvgrw.f sla_lin_berr.f slarscl2.f
+ slascl2.f sla_wwaddw.f)
+
+set(CLASRC
+ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f
+ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f
+ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f
+ cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f
+ cgels.f cgelsd.f cgelss.f cgelsx.f cgelsy.f cgeql2.f cgeqlf.f cgeqp3.f
+ cgeqpf.f cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f
+ cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvx.f cgetc2.f cgetf2.f cgetrf.f
+ cgetri.f cgetrs.f
+ cggbak.f cggbal.f cgges.f cggesx.f cggev.f cggevx.f cggglm.f
+ cgghrd.f cgglse.f cggqrf.f cggrqf.f
+ cggsvd.f cggsvp.f
+ cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f cgtts2.f chbev.f
+ chbevd.f chbevx.f chbgst.f chbgv.f chbgvd.f chbgvx.f chbtrd.f
+ checon.f cheev.f cheevd.f cheevr.f cheevx.f chegs2.f chegst.f
+ chegv.f chegvd.f chegvx.f cherfs.f chesv.f chesvx.f chetd2.f
+ chetf2.f chetrd.f
+ chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f
+ chpevx.f chpgst.f chpgv.f chpgvd.f chpgvx.f chprfs.f chpsv.f
+ chpsvx.f
+ chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f
+ clacgv.f clacon.f clacn2.f clacp2.f clacpy.f clacrm.f clacrt.f cladiv.f
+ claed0.f claed7.f claed8.f
+ claein.f claesy.f claev2.f clags2.f clagtm.f
+ clahef.f clahqr.f
+ clahrd.f clahr2.f claic1.f clals0.f clalsa.f clalsd.f clangb.f clange.f clangt.f
+ clanhb.f clanhe.f
+ clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f
+ clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f
+ claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f
+ claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f
+ claqsp.f claqsy.f clar1v.f clar2v.f ilaclr.f ilaclc.f
+ clarf.f clarfb.f clarfg.f clarft.f clarfp.f
+ clarfx.f clargv.f clarnv.f clarrv.f clartg.f clartv.f
+ clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f
+ claswp.f clasyf.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f
+ clatzm.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 cpotri.f cpotrs.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
+ cspsvx.f csptrf.f csptri.f csptrs.f csrscl.f cstedc.f
+ cstegr.f cstein.f csteqr.f csycon.f csymv.f
+ csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f
+ csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgex2.f
+ ctgexc.f ctgsen.f ctgsja.f ctgsna.f ctgsy2.f ctgsyl.f ctpcon.f
+ ctprfs.f ctptri.f
+ ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f
+ ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f ctzrzf.f cung2l.f cung2r.f
+ cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f
+ cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f
+ cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f
+ cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f
+ chfrk.f ctfttp.f clanhf.f cpftrf.f cpftri.f cpftrs.f ctfsm.f ctftri.f
+ ctfttr.f ctpttf.f ctpttr.f ctrttf.f ctrttp.f
+ cgeequb.f cgbequb.f csyequb.f cpoequb.f cheequb.f)
+
+set(CXLASRC cgesvxx.f cgerfsx.f cla_gerfsx_extended.f cla_geamv.f
+ cla_gercond_c.f cla_gercond_x.f cla_rpvgrw.f
+ csysvxx.f csyrfsx.f cla_syrfsx_extended.f cla_syamv.f
+ cla_syrcond_c.f cla_syrcond_x.f cla_syrpvgrw.f
+ cposvxx.f cporfsx.f cla_porfsx_extended.f
+ cla_porcond_c.f cla_porcond_x.f cla_porpvgrw.f
+ cgbsvxx.f cgbrfsx.f cla_gbrfsx_extended.f cla_gbamv.f
+ cla_gbrcond_c.f cla_gbrcond_x.f cla_gbrpvgrw.f
+ chesvxx.f cherfsx.f cla_herfsx_extended.f cla_heamv.f
+ cla_hercond_c.f cla_hercond_x.f cla_herpvgrw.f
+ cla_lin_berr.f clarscl2.f clascl2.f cla_wwaddw.f)
+
+set(DLASRC
+ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f
+ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f
+ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f
+ dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f
+ dgels.f dgelsd.f dgelss.f dgelsx.f dgelsy.f dgeql2.f dgeqlf.f
+ dgeqp3.f dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f
+ dgesc2.f dgesdd.f dgesv.f dgesvd.f dgesvx.f dgetc2.f dgetf2.f
+ dgetrf.f dgetri.f
+ dgetrs.f dggbak.f dggbal.f dgges.f dggesx.f dggev.f dggevx.f
+ dggglm.f dgghrd.f dgglse.f dggqrf.f
+ dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f
+ dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f
+ dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f
+ dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f
+ dlahrd.f dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f
+ dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f
+ dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f
+ dlapll.f dlapmt.f
+ dlaqgb.f dlaqge.f dlaqp2.f dlaqps.f dlaqsb.f dlaqsp.f dlaqsy.f
+ dlaqr0.f dlaqr1.f dlaqr2.f dlaqr3.f dlaqr4.f dlaqr5.f
+ dlaqtr.f dlar1v.f dlar2v.f iladlr.f iladlc.f
+ dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f
+ dlarrv.f dlartv.f dlarfp.f
+ dlarz.f dlarzb.f dlarzt.f dlaswp.f dlasy2.f dlasyf.f
+ dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlatzm.f dlauu2.f
+ dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f
+ dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f
+ dorgrq.f dorgtr.f dorm2l.f dorm2r.f
+ dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f
+ dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f
+ dpbstf.f dpbsv.f dpbsvx.f
+ dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f
+ dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dpstrf.f dpstf2.f
+ dppcon.f dppequ.f
+ dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f
+ dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f dptts2.f drscl.f
+ dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbgvd.f dsbgvx.f
+ dsbtrd.f dspcon.f dspev.f dspevd.f dspevx.f dspgst.f
+ dspgv.f dspgvd.f dspgvx.f dsprfs.f dspsv.f dspsvx.f dsptrd.f
+ dsptrf.f dsptri.f dsptrs.f dstegr.f dstein.f dstev.f dstevd.f dstevr.f
+ dstevx.f dsycon.f dsyev.f dsyevd.f dsyevr.f
+ dsyevx.f dsygs2.f dsygst.f dsygv.f dsygvd.f dsygvx.f dsyrfs.f
+ dsysv.f dsysvx.f
+ dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f
+ dtbrfs.f dtbtrs.f dtgevc.f dtgex2.f dtgexc.f dtgsen.f
+ dtgsja.f dtgsna.f dtgsy2.f dtgsyl.f dtpcon.f dtprfs.f dtptri.f
+ dtptrs.f
+ dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f
+ dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f dtzrzf.f dstemr.f
+ dsgesv.f dsposv.f dlag2s.f slag2d.f dlat2s.f
+ dlansf.f dpftrf.f dpftri.f dpftrs.f dsfrk.f dtfsm.f dtftri.f dtfttp.f
+ dtfttr.f dtpttf.f dtpttr.f dtrttf.f dtrttp.f
+ dgejsv.f dgesvj.f dgsvj0.f dgsvj1.f
+ dgeequb.f dsyequb.f dpoequb.f dgbequb.f)
+
+set(DXLASRC dgesvxx.f dgerfsx.f dla_gerfsx_extended.f dla_geamv.f
+ dla_gercond.f dla_rpvgrw.f dsysvxx.f dsyrfsx.f
+ dla_syrfsx_extended.f dla_syamv.f dla_syrcond.f dla_syrpvgrw.f
+ dposvxx.f dporfsx.f dla_porfsx_extended.f dla_porcond.f
+ dla_porpvgrw.f dgbsvxx.f dgbrfsx.f dla_gbrfsx_extended.f
+ dla_gbamv.f dla_gbrcond.f dla_gbrpvgrw.f dla_lin_berr.f dlarscl2.f
+ dlascl2.f dla_wwaddw.f)
+
+set(ZLASRC
+ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f
+ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f
+ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f
+ zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f
+ zgels.f zgelsd.f zgelss.f zgelsx.f zgelsy.f zgeql2.f zgeqlf.f zgeqp3.f
+ zgeqpf.f zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f
+ zgesc2.f zgesdd.f zgesv.f zgesvd.f zgesvx.f zgetc2.f zgetf2.f zgetrf.f
+ zgetri.f zgetrs.f
+ zggbak.f zggbal.f zgges.f zggesx.f zggev.f zggevx.f zggglm.f
+ zgghrd.f zgglse.f zggqrf.f zggrqf.f
+ zggsvd.f zggsvp.f
+ zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zgtts2.f zhbev.f
+ zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbgvd.f zhbgvx.f zhbtrd.f
+ zhecon.f zheev.f zheevd.f zheevr.f zheevx.f zhegs2.f zhegst.f
+ zhegv.f zhegvd.f zhegvx.f zherfs.f zhesv.f zhesvx.f zhetd2.f
+ zhetf2.f zhetrd.f
+ zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f
+ zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f
+ zhpsvx.f
+ zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f
+ zlacgv.f zlacon.f zlacn2.f zlacp2.f zlacpy.f zlacrm.f zlacrt.f zladiv.f
+ zlaed0.f zlaed7.f zlaed8.f
+ zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f
+ zlahef.f zlahqr.f
+ zlahrd.f zlahr2.f zlaic1.f zlals0.f zlalsa.f zlalsd.f zlangb.f zlange.f
+ zlangt.f zlanhb.f
+ zlanhe.f
+ zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f
+ zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f
+ zlaqhb.f zlaqhe.f zlaqhp.f zlaqp2.f zlaqps.f zlaqsb.f
+ zlaqr0.f zlaqr1.f zlaqr2.f zlaqr3.f zlaqr4.f zlaqr5.f
+ zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f ilazlr.f ilazlc.f
+ zlarcm.f zlarf.f zlarfb.f
+ zlarfg.f zlarft.f zlarfp.f
+ zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f
+ zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f
+ zlassq.f zlaswp.f zlasyf.f
+ zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f zlatzm.f zlauu2.f
+ zlauum.f zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f
+ zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f
+ zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zpstrf.f zpstf2.f
+ zppcon.f zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f
+ zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f zptts2.f
+ zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f
+ zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrscl.f zstedc.f
+ zstegr.f zstein.f zsteqr.f zsycon.f zsymv.f
+ zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f
+ zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgex2.f
+ ztgexc.f ztgsen.f ztgsja.f ztgsna.f ztgsy2.f ztgsyl.f ztpcon.f
+ ztprfs.f ztptri.f
+ ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f
+ ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f ztzrzf.f zung2l.f
+ zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f
+ zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f
+ zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f
+ zunmtr.f zupgtr.f
+ zupmtr.f izmax1.f dzsum1.f zstemr.f
+ zcgesv.f zcposv.f zlag2c.f clag2z.f zlat2c.f
+ zhfrk.f ztfttp.f zlanhf.f zpftrf.f zpftri.f zpftrs.f ztfsm.f ztftri.f
+ ztfttr.f ztpttf.f ztpttr.f ztrttf.f ztrttp.f
+ zgeequb.f zgbequb.f zsyequb.f zpoequb.f zheequb.f)
+
+set(ZXLASRC zgesvxx.f zgerfsx.f zla_gerfsx_extended.f zla_geamv.f
+ zla_gercond_c.f zla_gercond_x.f zla_rpvgrw.f zsysvxx.f zsyrfsx.f
+ zla_syrfsx_extended.f zla_syamv.f zla_syrcond_c.f zla_syrcond_x.f
+ zla_syrpvgrw.f zposvxx.f zporfsx.f zla_porfsx_extended.f
+ zla_porcond_c.f zla_porcond_x.f zla_porpvgrw.f zgbsvxx.f zgbrfsx.f
+ zla_gbrfsx_extended.f zla_gbamv.f zla_gbrcond_c.f zla_gbrcond_x.f
+ zla_gbrpvgrw.f zhesvxx.f zherfsx.f zla_herfsx_extended.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( USEXBLAS)
+ set(ALLXOBJ ${SXLASRC} ${DXLASRC} ${CXLASRC} ${ZXLASRC} ${ALLXAUX})
+endif()
+
+set(ALLOBJ ${SLASRC} ${DLASRC} ${CLASRC} ${ZLASRC} ${SCLAUX} ${DZLAUX}
+ ${ALLAUX})
+if(BUILD_SINGLE)
+set(ALLOBJ ${SLASRC} ${ALLAUX}
+ ${SCLAUX})
+endif()
+if(BUILD_DOUBLE)
+ set(ALLOBJ ${DLASRC} ${ALLAUX} ${DZLAUX})
+endif()
+if(BUILD_COMPLEX)
+ set(ALLOBJ ${CLASRC} ${ALLAUX} ${SCLAUX})
+endif()
+if(BUILD_COMPLEX16)
+ set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX})
+endif()
+add_library(lapack ${ALLOBJ} ${ALLXOBJ})
+target_link_libraries(lapack blas)
+
diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt
new file mode 100644
index 00000000..37022d99
--- /dev/null
+++ b/TESTING/CMakeLists.txt
@@ -0,0 +1,296 @@
+if(MSVC_VERSION)
+# string(REPLACE "/STACK:10000000" "/STACK:900000000000000000"
+# CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+ string(REGEX REPLACE "(.*)/STACK:(.*) (.*)" "\\1/STACK:900000000000000000 \\3"
+ CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+endif()
+add_subdirectory(MATGEN)
+add_subdirectory(LIN)
+add_subdirectory(EIG)
+macro(add_lapack_test output input target)
+ set(TEST_INPUT "${LAPACK_SOURCE_DIR}/TESTING/${input}")
+ set(TEST_OUTPUT "${LAPACK_BINARY_DIR}/TESTING/${output}")
+ get_target_property(TEST_LOC ${target} LOCATION)
+ string(REPLACE "." "_" input_name ${input})
+ set(testName "${target}_${input_name}")
+ if(EXISTS "${TEST_INPUT}")
+ add_test(${testName} "${CMAKE_COMMAND}"
+ -DTEST=${TEST_LOC}
+ -DINPUT=${TEST_INPUT}
+ -DOUTPUT=${TEST_OUTPUT}
+ -DINTDIR=${CMAKE_CFG_INTDIR}
+ -P "${LAPACK_SOURCE_DIR}/TESTING/runtest.cmake")
+ endif()
+endmacro(add_lapack_test)
+
+add_lapack_test(stest.out stest.in xlintsts)
+
+add_lapack_test(ctest.out ctest.in xlintstc)
+#
+# ======== DOUBLE LIN TESTS ===========================
+
+add_lapack_test(dtest.out dtest.in xlintstd)
+
+#
+# ======== COMPLEX16 LIN TESTS ========================
+
+add_lapack_test(ztest.out ztest.in xlintstz)
+
+#
+# ======== SINGLE-DOUBLE PROTO LIN TESTS ==============
+
+add_lapack_test(dstest.out dstest.in xlintstds)
+
+#
+# ======== COMPLEX-COMPLEX16 LIN TESTS ========================
+
+add_lapack_test(zctest.out zctest.in xlintstzc)
+
+#
+# ======== SINGLE RFP LIN TESTS ========================
+
+add_lapack_test(stest_rfp.out stest_rfp.in xlintstrfs)
+
+#
+# ======== COMPLEX16 RFP LIN TESTS ========================
+
+add_lapack_test(dtest_rfp.out dtest_rfp.in xlintstrfd)
+
+#
+# ======== COMPLEX16 RFP LIN TESTS ========================
+
+add_lapack_test(ctest_rfp.out ctest_rfp.in xlintstrfc)
+
+#
+# ======== COMPLEX16 RFP LIN TESTS ========================
+
+add_lapack_test(ztest_rfp.out ztest_rfp.in xlintstrfz)
+
+#
+#
+# ======== SINGLE EIG TESTS ===========================
+#
+
+add_lapack_test(snep.out nep.in xeigtsts)
+
+
+add_lapack_test(ssep.out sep.in xeigtsts)
+
+
+add_lapack_test(ssvd.out svd.in xeigtsts)
+
+
+add_lapack_test(sec.out sec.in xeigtsts)
+
+
+add_lapack_test(sed.out sed.in xeigtsts)
+
+
+add_lapack_test(sgg.out sgg.in xeigtsts)
+
+
+add_lapack_test(sgd.out sgd.in xeigtsts)
+
+
+add_lapack_test(ssb.out ssb.in xeigtsts)
+
+
+add_lapack_test(ssg.out ssg.in xeigtsts)
+
+
+add_lapack_test(sbal.out sbal.in xeigtsts)
+
+
+add_lapack_test(sbak.out sbak.in xeigtsts)
+
+
+add_lapack_test(sgbal.out sgbal.in xeigtsts)
+
+
+add_lapack_test(sgbak.out sgbak.in xeigtsts)
+
+
+add_lapack_test(sbb.out sbb.in xeigtsts)
+
+
+add_lapack_test(sglm.out glm.in xeigtsts)
+
+
+add_lapack_test(sgqr.out gqr.in xeigtsts)
+
+
+add_lapack_test(sgsv.out gsv.in xeigtsts)
+
+
+add_lapack_test(slse.out lse.in xeigtsts)
+
+#
+# ======== COMPLEX EIG TESTS ===========================
+
+add_lapack_test(cnep.out nep.in xeigtstc)
+
+
+add_lapack_test(csep.out sep.in xeigtstc)
+
+
+add_lapack_test(csvd.out svd.in xeigtstc)
+
+
+add_lapack_test(cec.out cec.in xeigtstc)
+
+
+add_lapack_test(ced.out ced.in xeigtstc)
+
+
+add_lapack_test(cgg.out cgg.in xeigtstc)
+
+
+add_lapack_test(cgd.out cgd.in xeigtstc)
+
+
+add_lapack_test(csb.out csb.in xeigtstc)
+
+
+add_lapack_test(csg.out csg.in xeigtstc)
+
+
+add_lapack_test(cbal.out cbal.in xeigtstc)
+
+
+add_lapack_test(cbak.out cbak.in xeigtstc)
+
+
+add_lapack_test(cgbal.out cgbal.in xeigtstc)
+
+
+add_lapack_test(cgbak.out cgbak.in xeigtstc)
+
+
+add_lapack_test(cbb.out cbb.in xeigtstc)
+
+
+add_lapack_test(cglm.out glm.in xeigtstc)
+
+
+add_lapack_test(cgqr.out gqr.in xeigtstc)
+
+
+add_lapack_test(cgsv.out gsv.in xeigtstc)
+
+
+add_lapack_test(clse.out lse.in xeigtstc)
+
+#
+# ======== DOUBLE EIG TESTS ===========================
+
+add_lapack_test(dnep.out nep.in xeigtstd)
+
+
+add_lapack_test(dsep.out sep.in xeigtstd)
+
+
+add_lapack_test(dsvd.out svd.in xeigtstd)
+
+
+add_lapack_test(dec.out dec.in xeigtstd)
+
+
+add_lapack_test(ded.out ded.in xeigtstd)
+
+
+add_lapack_test(dgg.out dgg.in xeigtstd)
+
+
+add_lapack_test(dgd.out dgd.in xeigtstd)
+
+
+add_lapack_test(dsb.out dsb.in xeigtstd)
+
+
+add_lapack_test(dsg.out dsg.in xeigtstd)
+
+
+add_lapack_test(dbal.out dbal.in xeigtstd)
+
+
+add_lapack_test(dbak.out dbak.in xeigtstd)
+
+
+add_lapack_test(dgbal.out dgbal.in xeigtstd)
+
+
+add_lapack_test(dgbak.out dgbak.in xeigtstd)
+
+
+add_lapack_test(dbb.out dbb.in xeigtstd)
+
+
+add_lapack_test(dglm.out glm.in xeigtstd)
+
+
+add_lapack_test(dgqr.out gqr.in xeigtstd)
+
+
+add_lapack_test(dgsv.out gsv.in xeigtstd)
+
+
+add_lapack_test(dlse.out lse.in xeigtstd)
+
+#
+# ======== COMPLEX16 EIG TESTS ===========================
+
+add_lapack_test(znep.out nep.in xeigtstz)
+
+
+add_lapack_test(zsep.out sep.in xeigtstz)
+
+
+add_lapack_test(zsvd.out svd.in xeigtstz)
+
+
+add_lapack_test(zec.out zec.in xeigtstz)
+
+
+add_lapack_test(zed.out zed.in xeigtstz)
+
+
+add_lapack_test(zgg.out zgg.in xeigtstz)
+
+
+add_lapack_test(zgd.out zgd.in xeigtstz)
+
+
+add_lapack_test(zsb.out zsb.in xeigtstz)
+
+
+add_lapack_test(zsg.out zsg.in xeigtstz)
+
+
+add_lapack_test(zbal.out zbal.in xeigtstz)
+
+
+add_lapack_test(zbak.out zbak.in xeigtstz)
+
+
+add_lapack_test(zgbal.out zgbal.in xeigtstz)
+
+
+add_lapack_test(zgbak.out zgbak.in xeigtstz)
+
+
+add_lapack_test(zbb.out zbb.in xeigtstz)
+
+
+add_lapack_test(zglm.out glm.in xeigtstz)
+
+
+add_lapack_test(zgqr.out gqr.in xeigtstz)
+
+
+add_lapack_test(zgsv.out gsv.in xeigtstz)
+
+
+add_lapack_test(zlse.out lse.in xeigtstz)
+
+# ==============================================================================
+
diff --git a/TESTING/EIG/CMakeLists.txt b/TESTING/EIG/CMakeLists.txt
new file mode 100644
index 00000000..7f9ac9f5
--- /dev/null
+++ b/TESTING/EIG/CMakeLists.txt
@@ -0,0 +1,135 @@
+########################################################################
+# This is the makefile for the eigenvalue test program from LAPACK.
+# 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
+# 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
+ alahdg.f
+ alasum.f
+ alasvm.f
+ alareq.f
+ ilaenv.f
+ xerbla.f
+ xlaenv.f
+ chkxer.f)
+
+set(SCIGTST slafts.f slahd2.f slasum.f slatb9.f sstech.f sstect.f
+ ssvdch.f ssvdct.f ssxt1.f)
+
+set(SEIGTST schkee.f
+ sbdt01.f sbdt02.f sbdt03.f
+ schkbb.f schkbd.f schkbk.f schkbl.f schkec.f
+ schkgg.f schkgk.f schkgl.f schkhs.f schksb.f schkst.f
+ sckglm.f sckgqr.f sckgsv.f scklse.f
+ sdrges.f sdrgev.f sdrgsx.f sdrgvx.f
+ sdrvbd.f sdrves.f sdrvev.f sdrvgg.f sdrvsg.f
+ sdrvst.f sdrvsx.f sdrvvx.f
+ serrbd.f serrec.f serred.f serrgg.f serrhs.f serrst.f
+ sget02.f sget10.f sget22.f sget23.f sget24.f sget31.f
+ sget32.f sget33.f sget34.f sget35.f sget36.f
+ sget37.f sget38.f sget39.f sget51.f sget52.f sget53.f
+ sget54.f sglmts.f sgqrts.f sgrqts.f sgsvts.f
+ shst01.f slarfy.f slarhs.f slatm4.f slctes.f slctsx.f slsets.f sort01.f
+ sort03.f ssbt21.f ssgt01.f sslect.f sspt21.f sstt21.f
+ sstt22.f ssyt21.f ssyt22.f)
+
+set(CEIGTST cchkee.f
+ cbdt01.f cbdt02.f cbdt03.f
+ cchkbb.f cchkbd.f cchkbk.f cchkbl.f cchkec.f
+ cchkgg.f cchkgk.f cchkgl.f cchkhb.f cchkhs.f cchkst.f
+ cckglm.f cckgqr.f cckgsv.f ccklse.f
+ cdrges.f cdrgev.f cdrgsx.f cdrgvx.f
+ cdrvbd.f cdrves.f cdrvev.f cdrvgg.f cdrvsg.f
+ cdrvst.f cdrvsx.f cdrvvx.f
+ cerrbd.f cerrec.f cerred.f cerrgg.f cerrhs.f cerrst.f
+ cget02.f cget10.f cget22.f cget23.f cget24.f
+ cget35.f cget36.f cget37.f cget38.f cget51.f cget52.f
+ cget54.f cglmts.f cgqrts.f cgrqts.f cgsvts.f
+ chbt21.f chet21.f chet22.f chpt21.f chst01.f
+ clarfy.f clarhs.f clatm4.f clctes.f clctsx.f clsets.f csbmv.f
+ csgt01.f cslect.f
+ cstt21.f cstt22.f cunt01.f cunt03.f)
+
+set(DZIGTST dlafts.f dlahd2.f dlasum.f dlatb9.f dstech.f dstect.f
+ dsvdch.f dsvdct.f dsxt1.f)
+
+set(DEIGTST dchkee.f
+ dbdt01.f dbdt02.f dbdt03.f
+ dchkbb.f dchkbd.f dchkbk.f dchkbl.f dchkec.f
+ dchkgg.f dchkgk.f dchkgl.f dchkhs.f dchksb.f dchkst.f
+ dckglm.f dckgqr.f dckgsv.f dcklse.f
+ ddrges.f ddrgev.f ddrgsx.f ddrgvx.f
+ ddrvbd.f ddrves.f ddrvev.f ddrvgg.f ddrvsg.f
+ ddrvst.f ddrvsx.f ddrvvx.f
+ derrbd.f derrec.f derred.f derrgg.f derrhs.f derrst.f
+ dget02.f dget10.f dget22.f dget23.f dget24.f dget31.f
+ dget32.f dget33.f dget34.f dget35.f dget36.f
+ dget37.f dget38.f dget39.f dget51.f dget52.f dget53.f
+ dget54.f dglmts.f dgqrts.f dgrqts.f dgsvts.f
+ dhst01.f dlarfy.f dlarhs.f dlatm4.f dlctes.f dlctsx.f dlsets.f dort01.f
+ dort03.f dsbt21.f dsgt01.f dslect.f dspt21.f dstt21.f
+ dstt22.f dsyt21.f dsyt22.f)
+
+set(ZEIGTST zchkee.f
+ zbdt01.f zbdt02.f zbdt03.f
+ zchkbb.f zchkbd.f zchkbk.f zchkbl.f zchkec.f
+ zchkgg.f zchkgk.f zchkgl.f zchkhb.f zchkhs.f zchkst.f
+ zckglm.f zckgqr.f zckgsv.f zcklse.f
+ zdrges.f zdrgev.f zdrgsx.f zdrgvx.f
+ zdrvbd.f zdrves.f zdrvev.f zdrvgg.f zdrvsg.f
+ zdrvst.f zdrvsx.f zdrvvx.f
+ zerrbd.f zerrec.f zerred.f zerrgg.f zerrhs.f zerrst.f
+ zget02.f zget10.f zget22.f zget23.f zget24.f
+ zget35.f zget36.f zget37.f zget38.f zget51.f zget52.f
+ zget54.f zglmts.f zgqrts.f zgrqts.f zgsvts.f
+ zhbt21.f zhet21.f zhet22.f zhpt21.f zhst01.f
+ zlarfy.f zlarhs.f zlatm4.f zlctes.f zlctsx.f zlsets.f zsbmv.f
+ zsgt01.f zslect.f
+ zstt21.f zstt22.f zunt01.f zunt03.f)
+
+macro(add_eig_executable name )
+ add_executable(${name} ${ARGN})
+ target_link_libraries(${name} tmglib lapack )
+endmacro(add_eig_executable)
+
+add_eig_executable(xeigtsts ${SEIGTST} ${SCIGTST} ${AEIGTST}
+ ${SECOND_SRC} )
+
+add_eig_executable(xeigtstc ${CEIGTST} ${SCIGTST} ${AEIGTST}
+ ${SECOND_SRC} )
+
+add_eig_executable(xeigtstd ${DEIGTST} ${DZIGTST} ${AEIGTST}
+ ${DSECOND_SRC} )
+
+add_eig_executable(xeigtstz ${ZEIGTST} ${DZIGTST} ${AEIGTST}
+ ${DSECOND_SRC} )
diff --git a/TESTING/LIN/CMakeLists.txt b/TESTING/LIN/CMakeLists.txt
new file mode 100644
index 00000000..41f06866
--- /dev/null
+++ b/TESTING/LIN/CMakeLists.txt
@@ -0,0 +1,223 @@
+set(ALINTST
+ aladhd.f alaerh.f alaesm.f alahd.f alareq.f
+ alasum.f alasvm.f chkxer.f icopy.f ilaenv.f xlaenv.f xerbla.f)
+
+set(SCLNTST slaord.f)
+
+set(DZLNTST dlaord.f )
+
+set(SLINTST schkaa.f
+ schkeq.f schkgb.f schkge.f schkgt.f
+ schklq.f schkpb.f schkpo.f schkps.f schkpp.f
+ schkpt.f schkq3.f schkql.f schkqp.f schkqr.f schkrq.f
+ schksp.f schksy.f schktb.f schktp.f schktr.f
+ schktz.f
+ sdrvgt.f sdrvls.f sdrvpb.f
+ sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy.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
+ 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
+ sgtt05.f slaptm.f slarhs.f slatb4.f slatb5.f slattb.f slattp.f
+ slattr.f slavsp.f slavsy.f slqt01.f slqt02.f
+ slqt03.f spbt01.f spbt02.f spbt05.f spot01.f
+ spot02.f spot03.f spot05.f spst01.f sppt01.f
+ sppt02.f sppt03.f sppt05.f sptt01.f sptt02.f
+ sptt05.f sqlt01.f sqlt02.f sqlt03.f sqpt01.f
+ sqrt01.f sqrt02.f sqrt03.f sqrt11.f sqrt12.f
+ sqrt13.f sqrt14.f sqrt15.f sqrt16.f sqrt17.f
+ srqt01.f srqt02.f srqt03.f srzt01.f srzt02.f
+ sspt01.f ssyt01.f
+ stbt02.f stbt03.f stbt05.f stbt06.f stpt01.f
+ stpt02.f stpt03.f stpt05.f stpt06.f strt01.f
+ strt02.f strt03.f strt05.f strt06.f
+ stzt01.f stzt02.f sgennd.f)
+
+if(USEXBLAS)
+ list(APPEND SLINTST sdrvgex.f serrgex.f sdrvgbx.f sdrvpox.f sebchvxx.f)
+else()
+ list(APPEND SLINTST sdrvge.f serrge.f sdrvgb.f sdrvpo.f)
+endif()
+
+set(CLINTST cchkaa.f
+ cchkeq.f cchkgb.f cchkge.f cchkgt.f
+ cchkhe.f cchkhp.f cchklq.f cchkpb.f
+ cchkpo.f cchkps.f cchkpp.f cchkpt.f cchkq3.f cchkql.f cchkqp.f
+ cchkqr.f cchkrq.f cchksp.f cchksy.f cchktb.f
+ cchktp.f cchktr.f cchktz.f
+ cdrvgt.f cdrvhe.f cdrvhp.f
+ cdrvls.f cdrvpb.f cdrvpp.f cdrvpt.f
+ cdrvsp.f cdrvsy.f
+ cerrgt.f cerrhe.f cerrlq.f
+ cerrls.f cerrps.f cerrql.f cerrqp.f
+ cerrqr.f cerrrq.f cerrsy.f cerrtr.f cerrtz.f
+ cerrvx.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
+ cgtt05.f chet01.f chpt01.f claipd.f claptm.f clarhs.f clatb4.f clatb5.f
+ clatsp.f clatsy.f clattb.f clattp.f clattr.f
+ clavhe.f clavhp.f clavsp.f clavsy.f clqt01.f
+ clqt02.f clqt03.f cpbt01.f cpbt02.f cpbt05.f
+ cpot01.f cpot02.f cpot03.f cpot05.f cpst01.f
+ cppt01.f cppt02.f cppt03.f cppt05.f cptt01.f
+ cptt02.f cptt05.f cqlt01.f cqlt02.f cqlt03.f
+ cqpt01.f cqrt01.f cqrt02.f cqrt03.f cqrt11.f
+ cqrt12.f cqrt13.f cqrt14.f cqrt15.f cqrt16.f
+ cqrt17.f crqt01.f crqt02.f crqt03.f crzt01.f crzt02.f
+ csbmv.f cspt01.f
+ cspt02.f cspt03.f csyt01.f csyt02.f csyt03.f
+ ctbt02.f ctbt03.f ctbt05.f ctbt06.f ctpt01.f
+ ctpt02.f ctpt03.f ctpt05.f ctpt06.f ctrt01.f
+ ctrt02.f ctrt03.f ctrt05.f ctrt06.f
+ ctzt01.f ctzt02.f sget06.f cgennd.f)
+
+if(USEXBLAS)
+ list(APPEND
+ CLINTST cdrvgex.f cdrvgbx.f cerrgex.f cdrvpox.f cerrpox.f cebchvxx.f)
+else()
+ list(APPEND CLINTST cdrvge.f cdrvgb.f cerrge.f cdrvpo.f cerrpo.f)
+endif()
+
+set(DLINTST dchkaa.f
+ dchkeq.f dchkgb.f dchkge.f dchkgt.f
+ dchklq.f dchkpb.f dchkpo.f dchkps.f dchkpp.f
+ dchkpt.f dchkq3.f dchkql.f dchkqp.f dchkqr.f dchkrq.f
+ dchksp.f dchksy.f dchktb.f dchktp.f dchktr.f
+ dchktz.f
+ ddrvgt.f ddrvls.f ddrvpb.f
+ ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy.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
+ 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
+ dgtt05.f dlaptm.f dlarhs.f dlatb4.f dlatb5.f dlattb.f dlattp.f
+ dlattr.f dlavsp.f dlavsy.f dlqt01.f dlqt02.f
+ dlqt03.f dpbt01.f dpbt02.f dpbt05.f dpot01.f
+ dpot02.f dpot03.f dpot05.f dpst01.f dppt01.f
+ dppt02.f dppt03.f dppt05.f dptt01.f dptt02.f
+ dptt05.f dqlt01.f dqlt02.f dqlt03.f dqpt01.f
+ dqrt01.f dqrt02.f dqrt03.f dqrt11.f dqrt12.f
+ dqrt13.f dqrt14.f dqrt15.f dqrt16.f dqrt17.f
+ drqt01.f drqt02.f drqt03.f drzt01.f drzt02.f
+ dspt01.f dsyt01.f
+ dtbt02.f dtbt03.f dtbt05.f dtbt06.f dtpt01.f
+ dtpt02.f dtpt03.f dtpt05.f dtpt06.f dtrt01.f
+ dtrt02.f dtrt03.f dtrt05.f dtrt06.f
+ dtzt01.f dtzt02.f dgennd.f)
+
+if(USEXBLAS)
+ list(APPEND
+ DLINTST ddrvgex.f ddrvgbx.f derrgex.f ddrvpox.f derrpox.f debchvxx.f)
+else()
+ list(APPEND
+ DLINTST ddrvge.f ddrvgb.f derrge.f ddrvpo.f derrpo.f)
+endif()
+
+set(ZLINTST zchkaa.f
+ zchkeq.f zchkgb.f zchkge.f zchkgt.f
+ zchkhe.f zchkhp.f zchklq.f zchkpb.f
+ zchkpo.f zchkps.f zchkpp.f zchkpt.f zchkq3.f zchkql.f zchkqp.f
+ zchkqr.f zchkrq.f zchksp.f zchksy.f zchktb.f
+ zchktp.f zchktr.f zchktz.f
+ zdrvgt.f zdrvhe.f zdrvhp.f
+ zdrvls.f zdrvpb.f zdrvpp.f zdrvpt.f
+ zdrvsp.f zdrvsy.f
+ zerrgt.f zerrhe.f zerrlq.f
+ zerrls.f zerrps.f zerrql.f zerrqp.f
+ zerrqr.f zerrrq.f zerrsy.f zerrtr.f zerrtz.f
+ zerrvx.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 zhpt01.f zlaipd.f zlaptm.f zlarhs.f zlatb4.f zlatb5.f
+ zlatsp.f zlatsy.f zlattb.f zlattp.f zlattr.f
+ zlavhe.f zlavhp.f zlavsp.f zlavsy.f zlqt01.f
+ zlqt02.f zlqt03.f zpbt01.f zpbt02.f zpbt05.f
+ zpot01.f zpot02.f zpot03.f zpot05.f zpst01.f
+ zppt01.f zppt02.f zppt03.f zppt05.f zptt01.f
+ zptt02.f zptt05.f zqlt01.f zqlt02.f zqlt03.f
+ zqpt01.f zqrt01.f zqrt02.f zqrt03.f zqrt11.f
+ zqrt12.f zqrt13.f zqrt14.f zqrt15.f zqrt16.f
+ zqrt17.f zrqt01.f zrqt02.f zrqt03.f zrzt01.f zrzt02.f
+ zsbmv.f zspt01.f
+ zspt02.f zspt03.f zsyt01.f zsyt02.f zsyt03.f
+ ztbt02.f ztbt03.f ztbt05.f ztbt06.f ztpt01.f
+ ztpt02.f ztpt03.f ztpt05.f ztpt06.f ztrt01.f
+ ztrt02.f ztrt03.f ztrt05.f ztrt06.f
+ ztzt01.f ztzt02.f dget06.f zgennd.f)
+
+if(USEXBLAS)
+ list(APPEND
+ ZLINTST zdrvgex.f zdrvgbx.f zerrgex.f zdrvpox.f zerrpox.f zebchvxx.f)
+else()
+ list(APPEND
+ ZLINTST zdrvge.f zdrvgb.f zerrge.f zdrvpo.f zerrpo.f)
+endif()
+
+set(DSLINTST dchkab.f
+ ddrvab.f ddrvac.f derrab.f derrac.f dget08.f
+ alaerh.f alahd.f aladhd.f alareq.f
+ chkxer.f dlarhs.f dlatb4.f xerbla.f
+ dget02.f dpot06.f)
+
+set(ZCLINTST zchkab.f
+ zdrvab.f zdrvac.f zerrab.f zerrac.f zget08.f
+ alaerh.f alahd.f aladhd.f alareq.f
+ chkxer.f zget02.f zlarhs.f zlatb4.f
+ zsbmv.f xerbla.f zpot06.f zlaipd.f)
+
+set(SLINTSTRFP schkrfp.f sdrvrfp.f sdrvrf1.f sdrvrf2.f sdrvrf3.f sdrvrf4.f serrrfp.f
+ slatb4.f slarhs.f sget04.f spot01.f spot03.f spot02.f
+ chkxer.f xerbla.f alaerh.f aladhd.f alahd.f alasvm.f )
+
+set(DLINTSTRFP dchkrfp.f ddrvrfp.f ddrvrf1.f ddrvrf2.f ddrvrf3.f ddrvrf4.f derrrfp.f
+ dlatb4.f dlarhs.f dget04.f dpot01.f dpot03.f dpot02.f
+ chkxer.f xerbla.f alaerh.f aladhd.f alahd.f alasvm.f )
+
+set(CLINTSTRFP cchkrfp.f cdrvrfp.f cdrvrf1.f cdrvrf2.f cdrvrf3.f cdrvrf4.f cerrrfp.f
+ claipd.f clatb4.f clarhs.f csbmv.f cget04.f cpot01.f cpot03.f cpot02.f
+ chkxer.f xerbla.f alaerh.f aladhd.f alahd.f alasvm.f )
+
+set(ZLINTSTRFP zchkrfp.f zdrvrfp.f zdrvrf1.f zdrvrf2.f zdrvrf3.f zdrvrf4.f zerrrfp.f
+ zlatb4.f zlaipd.f zlarhs.f zsbmv.f zget04.f zpot01.f zpot03.f zpot02.f
+ chkxer.f xerbla.f alaerh.f aladhd.f alahd.f alasvm.f )
+
+macro(add_lin_executable name )
+ add_executable(${name} ${ARGN})
+ target_link_libraries(${name} tmglib lapack)
+endmacro(add_lin_executable)
+
+add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST}
+ ${SECOND_SRC} )
+
+add_lin_executable(xlintstc ${ALINTST} ${CLINTST} ${SCLNTST}
+ ${SECOND_SRC} )
+
+add_lin_executable(xlintstd ${ALINTST} ${DLINTST} ${DZLNTST}
+ ${DSECOND_SRC})
+add_lin_executable(xlintstz ${ALINTST} ${ZLINTST} ${DZLNTST}
+ ${DSECOND_SRC})
+
+add_lin_executable(xlintstds ${DSLINTST}
+ ${SECOND_SRC}
+ ${DSECOND_SRC} )
+add_lin_executable(xlintstzc ${ZCLINTST}
+ ${SECOND_SRC}
+ ${DSECOND_SRC} )
+
+add_lin_executable(xlintstrfs ${SLINTSTRFP}
+ ${SECOND_SRC})
+
+add_lin_executable(xlintstrfd ${DLINTSTRFP}
+ ${DSECOND_SRC})
+
+add_lin_executable(xlintstrfc ${CLINTSTRFP}
+ ${SECOND_SRC})
+add_lin_executable(xlintstrfz ${ZLINTSTRFP}
+ ${DSECOND_SRC})
+
diff --git a/TESTING/MATGEN/CMakeLists.txt b/TESTING/MATGEN/CMakeLists.txt
new file mode 100644
index 00000000..884019b6
--- /dev/null
+++ b/TESTING/MATGEN/CMakeLists.txt
@@ -0,0 +1,69 @@
+#######################################################################
+# 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
+# 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 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)
+
+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)
+
+set(DZATGEN dlatm1.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)
+
+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(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN}
+ ${DZATGEN})
+if(BUILD_SINGLE)
+ set(ALLOBJ $(SMATGEN) $(SCATGEN))
+endif()
+if(BUILD_DOUBLE)
+ set(ALLOBJ $(DMATGEN) $(DZATGEN))
+endif()
+if(BUILD_COMPLEX)
+ set(ALLOBJ $(CMATGEN) $(SCATGEN))
+endif()
+if(BUILD_COMPLEX16)
+ set(ALLOBJ $(ZMATGEN) $(DZATGEN))
+endif()
+add_library(tmglib ${ALLOBJ} )
+
diff --git a/TESTING/runtest.cmake b/TESTING/runtest.cmake
new file mode 100644
index 00000000..49fd9ade
--- /dev/null
+++ b/TESTING/runtest.cmake
@@ -0,0 +1,31 @@
+# Replace INTDIR with the value of $ENV{CMAKE_CONFIG_TYPE} that is set
+# by ctest when -C Debug|Releaes|etc is given, and INDIR is passed
+# in from the main cmake run and is the variable that is used
+# by the build system to specify the build directory
+if(NOT "${INTDIR}" STREQUAL ".")
+ set(TEST_ORIG "${TEST}")
+ string(REPLACE "${INTDIR}" "$ENV{CMAKE_CONFIG_TYPE}" TEST "${TEST}")
+ if("$ENV{CMAKE_CONFIG_TYPE}" STREQUAL "")
+ if(NOT EXISTS "${TEST}")
+ message("Warning: CMAKE_CONFIG_TYPE not defined did you forget the -C option for ctest?")
+ message(FATAL_ERROR "Could not find test executable: ${TEST_ORIG}")
+ endif()
+ endif()
+endif()
+set(ARGS )
+if(DEFINED OUTPUT)
+ set(ARGS OUTPUT_FILE "${OUTPUT}" ERROR_FILE "${OUTPUT}.err")
+endif()
+if(DEFINED INPUT)
+ list(APPEND ARGS INPUT_FILE "${INPUT}")
+endif()
+message("Running: ${TEST}")
+message("ARGS= ${ARGS}")
+execute_process(COMMAND "${TEST}"
+ ${ARGS}
+ RESULT_VARIABLE RET)
+# if the test does not return 0, then fail it
+if(NOT ${RET} EQUAL 0)
+ message(FATAL_ERROR "Test ${TEST} returned ${RET}")
+endif()
+message( "Test ${TEST} returned ${RET}") \ No newline at end of file
diff --git a/cmake_install.cmake b/cmake_install.cmake
new file mode 100644
index 00000000..0317b845
--- /dev/null
+++ b/cmake_install.cmake
@@ -0,0 +1,39 @@
+# Install script for directory: /Users/julie/Documents/Boulot/lapack-dev/lapack/trunk
+
+# Set the install prefix
+IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local")
+ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ IF(BUILD_TYPE)
+ STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ ELSE(BUILD_TYPE)
+ SET(CMAKE_INSTALL_CONFIG_NAME "")
+ ENDIF(BUILD_TYPE)
+ MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+
+# Set the component getting installed.
+IF(NOT CMAKE_INSTALL_COMPONENT)
+ IF(COMPONENT)
+ MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
+ SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ ELSE(COMPONENT)
+ SET(CMAKE_INSTALL_COMPONENT)
+ ENDIF(COMPONENT)
+ENDIF(NOT CMAKE_INSTALL_COMPONENT)
+
+IF(CMAKE_INSTALL_COMPONENT)
+ SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+ELSE(CMAKE_INSTALL_COMPONENT)
+ SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+ENDIF(CMAKE_INSTALL_COMPONENT)
+
+FILE(WRITE "/Users/julie/Documents/Boulot/lapack-dev/lapack/trunk/${CMAKE_INSTALL_MANIFEST}" "")
+FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
+ FILE(APPEND "/Users/julie/Documents/Boulot/lapack-dev/lapack/trunk/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
+ENDFOREACH(file)
diff --git a/lapack-config-version.cmake.in b/lapack-config-version.cmake.in
new file mode 100644
index 00000000..2caeb4ab
--- /dev/null
+++ b/lapack-config-version.cmake.in
@@ -0,0 +1,8 @@
+set(PACKAGE_VERSION "@LAPACK_VERSION@")
+if(NOT ${PACKAGE_FIND_VERSION} VERSION_GREATER ${PACKAGE_VERSION})
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if(${PACKAGE_FIND_VERSION} VERSION_EQUAL ${PACKAGE_VERSION})
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
+
diff --git a/lapack-config.cmake.in b/lapack-config.cmake.in
new file mode 100644
index 00000000..8d60cc88
--- /dev/null
+++ b/lapack-config.cmake.in
@@ -0,0 +1 @@
+include("@LAPACK_BINARY_DIR@/lapack-targets.cmake")