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