| @@ -1,115 +1,115 @@ | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets various variables based on architecture. | |||
| if (${ARCH} STREQUAL "x86" OR ${ARCH} STREQUAL "x86_64") | |||
| if (${ARCH} STREQUAL "x86") | |||
| if (NOT BINARY) | |||
| set(NO_BINARY_MODE 1) | |||
| endif () | |||
| endif () | |||
| if (NOT NO_EXPRECISION) | |||
| if (${F_COMPILER} MATCHES "GFORTRAN") | |||
| # N.B. I'm not sure if CMake differentiates between GCC and LSB -hpa | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB") | |||
| set(EXPRECISION 1) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DEXPRECISION -m128bit-long-double") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m128bit-long-double") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| set(EXPRECISION 1) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DEXPRECISION") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m128bit-long-double") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Intel") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -wd981") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| message(WARNING "Clang doesn't support OpenMP yet.") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Intel") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -openmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| set(CEXTRALIB "${CEXTRALIB} -lstdc++") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (DYNAMIC_ARCH) | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(DYNAMIC_CORE "KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO") | |||
| endif () | |||
| if (${ARCH} STREQUAL "x86_64") | |||
| set(DYNAMIC_CORE "PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO") | |||
| if (NOT NO_AVX) | |||
| set(DYNAMIC_CORE "${DYNAMIC_CORE} SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER") | |||
| endif () | |||
| if (NOT NO_AVX2) | |||
| set(DYNAMIC_CORE "${DYNAMIC_CORE} HASWELL") | |||
| endif () | |||
| endif () | |||
| if (NOT DYNAMIC_CORE) | |||
| unset(DYNAMIC_ARCH) | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "ia64") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| if (${F_COMPILER} MATCHES "GFORTRAN") | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU") | |||
| # EXPRECISION = 1 | |||
| # CCOMMON_OPT += -DEXPRECISION | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "mips64") | |||
| set(NO_BINARY_MODE 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "alpha") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "arm") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "arm64") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets various variables based on architecture. | |||
| if (${ARCH} STREQUAL "x86" OR ${ARCH} STREQUAL "x86_64") | |||
| if (${ARCH} STREQUAL "x86") | |||
| if (NOT BINARY) | |||
| set(NO_BINARY_MODE 1) | |||
| endif () | |||
| endif () | |||
| if (NOT NO_EXPRECISION) | |||
| if (${F_COMPILER} MATCHES "GFORTRAN") | |||
| # N.B. I'm not sure if CMake differentiates between GCC and LSB -hpa | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB") | |||
| set(EXPRECISION 1) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DEXPRECISION -m128bit-long-double") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m128bit-long-double") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| set(EXPRECISION 1) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DEXPRECISION") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m128bit-long-double") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Intel") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -wd981") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| message(WARNING "Clang doesn't support OpenMP yet.") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "Intel") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -openmp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| set(CEXTRALIB "${CEXTRALIB} -lstdc++") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (DYNAMIC_ARCH) | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(DYNAMIC_CORE "KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO") | |||
| endif () | |||
| if (${ARCH} STREQUAL "x86_64") | |||
| set(DYNAMIC_CORE "PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO") | |||
| if (NOT NO_AVX) | |||
| set(DYNAMIC_CORE "${DYNAMIC_CORE} SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER") | |||
| endif () | |||
| if (NOT NO_AVX2) | |||
| set(DYNAMIC_CORE "${DYNAMIC_CORE} HASWELL") | |||
| endif () | |||
| endif () | |||
| if (NOT DYNAMIC_CORE) | |||
| unset(DYNAMIC_ARCH) | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "ia64") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| if (${F_COMPILER} MATCHES "GFORTRAN") | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU") | |||
| # EXPRECISION = 1 | |||
| # CCOMMON_OPT += -DEXPRECISION | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "mips64") | |||
| set(NO_BINARY_MODE 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "alpha") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "arm") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "arm64") | |||
| set(NO_BINARY_MODE 1) | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| @@ -1,103 +1,103 @@ | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets C related variables. | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -Wall") | |||
| set(COMMON_PROF "${COMMON_PROF} -fno-inline") | |||
| set(NO_UNINITIALIZED_WARN "-Wno-uninitialized") | |||
| if (QUIET_MAKE) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} ${NO_UNINITIALIZED_WARN} -Wno-unused") | |||
| endif () | |||
| if (NO_BINARY_MODE) | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64") | |||
| endif () | |||
| if (${OSNAME} STREQUAL "AIX") | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| endif () | |||
| if (NOT BINARY_DEFINED) | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -n32") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -n64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "SUN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -w") | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets C related variables. | |||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -Wall") | |||
| set(COMMON_PROF "${COMMON_PROF} -fno-inline") | |||
| set(NO_UNINITIALIZED_WARN "-Wno-uninitialized") | |||
| if (QUIET_MAKE) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} ${NO_UNINITIALIZED_WARN} -Wno-unused") | |||
| endif () | |||
| if (NO_BINARY_MODE) | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64") | |||
| endif () | |||
| if (${OSNAME} STREQUAL "AIX") | |||
| set(BINARY_DEFINED 1) | |||
| endif () | |||
| endif () | |||
| if (NOT BINARY_DEFINED) | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -n32") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -n64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| else () | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_C_COMPILER} STREQUAL "SUN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -w") | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| @@ -1,193 +1,193 @@ | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets Fortran related variables. | |||
| if (${F_COMPILER} STREQUAL "G77") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G77") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| if (NOT NO_BINARY_MODE) | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "G95") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G95") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| if (NOT NO_BINARY_MODE) | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "GFORTRAN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc | |||
| if (NOT NO_LAPACK) | |||
| set(EXTRALIB "{EXTRALIB} -lgfortran") | |||
| endif () | |||
| if (NO_BINARY_MODE) | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8") | |||
| endif () | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "INTEL") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_INTEL") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "FUJITSU") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FUJITSU") | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "IBM") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_IBM") | |||
| # FCOMMON_OPT += -qarch=440 | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -q64") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -qintsize=8") | |||
| endif () | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -q32") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "PGI") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PGI") | |||
| set(COMMON_PROF "${COMMON_PROF} -DPGICOMPILER") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7-64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "PATHSCALE") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PATHSCALE") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| endif () | |||
| if (NOT ${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "OPEN64") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_OPEN64") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -n32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -n64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| else () | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FEXTRALIB "${FEXTRALIB} -lstdc++") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "SUN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_SUN") | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -xopenmp=parallel") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "COMPAQ") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_COMPAQ") | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Sets Fortran related variables. | |||
| if (${F_COMPILER} STREQUAL "G77") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G77") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| if (NOT NO_BINARY_MODE) | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "G95") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G95") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| if (NOT NO_BINARY_MODE) | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "GFORTRAN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -Wall") | |||
| #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc | |||
| if (NOT NO_LAPACK) | |||
| set(EXTRALIB "{EXTRALIB} -lgfortran") | |||
| endif () | |||
| if (NO_BINARY_MODE) | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8") | |||
| endif () | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "INTEL") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_INTEL") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "FUJITSU") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FUJITSU") | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "IBM") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_IBM") | |||
| # FCOMMON_OPT += -qarch=440 | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -q64") | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -qintsize=8") | |||
| endif () | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -q32") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "PGI") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PGI") | |||
| set(COMMON_PROF "${COMMON_PROF} -DPGICOMPILER") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7-64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "PATHSCALE") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PATHSCALE") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| endif () | |||
| if (NOT ${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| else () | |||
| if (BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "OPEN64") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_OPEN64") | |||
| if (BINARY64) | |||
| if (INTERFACE64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -i8") | |||
| endif () | |||
| endif () | |||
| if (${ARCH} STREQUAL "mips64") | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -n32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -n64") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3A") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| if (${CORE} STREQUAL "LOONGSON3B") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static") | |||
| endif () | |||
| else () | |||
| if (NOT BINARY64) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FEXTRALIB "${FEXTRALIB} -lstdc++") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mp") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "SUN") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_SUN") | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m32") | |||
| else () | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -m64") | |||
| endif () | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -xopenmp=parallel") | |||
| endif () | |||
| endif () | |||
| if (${F_COMPILER} STREQUAL "COMPAQ") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_COMPAQ") | |||
| if (USE_OPENMP) | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -openmp") | |||
| endif () | |||
| endif () | |||
| @@ -1,102 +1,102 @@ | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Detects the OS and sets appropriate variables. | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") | |||
| set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.2") # TODO: should be exported as an env var | |||
| set(MD5SUM "md5 -r") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") | |||
| set(MD5SUM "md5 -r") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD") | |||
| set(MD5SUM "md5 -n") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") | |||
| set(EXTRALIB "${EXTRALIB} -lm") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "AIX") | |||
| set(EXTRALIB "${EXTRALIB} -lm") | |||
| endif () | |||
| # TODO: this is probably meant for mingw, not other windows compilers | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| set(EXTRALIB "${EXTRALIB} -defaultlib:advapi32") | |||
| # probably not going to use these | |||
| set(SUFFIX "obj") | |||
| set(PSUFFIX "pobj") | |||
| set(LIBSUFFIX "a") | |||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "Clang") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU") | |||
| # Test for supporting MS_ABI | |||
| # removed string parsing in favor of CMake's version comparison -hpa | |||
| execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) | |||
| if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7) | |||
| # GCC Version >=4.7 | |||
| # It is compatible with MSVC ABI. | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI") | |||
| endif () | |||
| endif () | |||
| # Ensure the correct stack alignment on Win32 | |||
| # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97 | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mincoming-stack-boundary=2") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mincoming-stack-boundary=2") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Interix") | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| set(INTERIX_TOOL_DIR STREQUAL "/opt/gcc.3.3/i586-pc-interix3/bin") | |||
| endif () | |||
| if (CYGWIN) | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Interix") | |||
| if (SMP) | |||
| set(EXTRALIB "${EXTRALIB} -lpthread") | |||
| endif () | |||
| endif () | |||
| if (QUAD_PRECISION) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DQUAD_PRECISION") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (UTEST_CHECK) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DUTEST_CHECK") | |||
| set(SANITY_CHECK 1) | |||
| endif () | |||
| if (SANITY_CHECK) | |||
| # TODO: need some way to get $(*F) (target filename) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DSANITY_CHECK -DREFNAME=$(*F)f${BU}") | |||
| endif () | |||
| ## | |||
| ## Author: Hank Anderson <hank@statease.com> | |||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | |||
| ## Detects the OS and sets appropriate variables. | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") | |||
| set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.2") # TODO: should be exported as an env var | |||
| set(MD5SUM "md5 -r") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") | |||
| set(MD5SUM "md5 -r") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD") | |||
| set(MD5SUM "md5 -n") | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") | |||
| set(EXTRALIB "${EXTRALIB} -lm") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "AIX") | |||
| set(EXTRALIB "${EXTRALIB} -lm") | |||
| endif () | |||
| # TODO: this is probably meant for mingw, not other windows compilers | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| set(EXTRALIB "${EXTRALIB} -defaultlib:advapi32") | |||
| # probably not going to use these | |||
| set(SUFFIX "obj") | |||
| set(PSUFFIX "pobj") | |||
| set(LIBSUFFIX "a") | |||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "Clang") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI") | |||
| endif () | |||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU") | |||
| # Test for supporting MS_ABI | |||
| # removed string parsing in favor of CMake's version comparison -hpa | |||
| execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) | |||
| if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7) | |||
| # GCC Version >=4.7 | |||
| # It is compatible with MSVC ABI. | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI") | |||
| endif () | |||
| endif () | |||
| # Ensure the correct stack alignment on Win32 | |||
| # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97 | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mincoming-stack-boundary=2") | |||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mincoming-stack-boundary=2") | |||
| endif () | |||
| endif () | |||
| if (${CMAKE_SYSTEM_NAME} STREQUAL "Interix") | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| set(INTERIX_TOOL_DIR STREQUAL "/opt/gcc.3.3/i586-pc-interix3/bin") | |||
| endif () | |||
| if (CYGWIN) | |||
| set(NEED_PIC 0) | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Interix") | |||
| if (SMP) | |||
| set(EXTRALIB "${EXTRALIB} -lpthread") | |||
| endif () | |||
| endif () | |||
| if (QUAD_PRECISION) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DQUAD_PRECISION") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (${ARCH} STREQUAL "x86") | |||
| set(NO_EXPRECISION 1) | |||
| endif () | |||
| if (UTEST_CHECK) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DUTEST_CHECK") | |||
| set(SANITY_CHECK 1) | |||
| endif () | |||
| if (SANITY_CHECK) | |||
| # TODO: need some way to get $(*F) (target filename) | |||
| set(CCOMMON_OPT "${CCOMMON_OPT} -DSANITY_CHECK -DREFNAME=$(*F)f${BU}") | |||
| endif () | |||