|
@@ -117,13 +117,13 @@ endif () |
|
|
unset(ARFLAGS) |
|
|
unset(ARFLAGS) |
|
|
set(CPP "${COMPILER} -E") |
|
|
set(CPP "${COMPILER} -E") |
|
|
set(AR "${CROSS_SUFFIX}ar") |
|
|
set(AR "${CROSS_SUFFIX}ar") |
|
|
set(AS "$(CROSS_SUFFIX)as") |
|
|
|
|
|
set(LD "$(CROSS_SUFFIX)ld") |
|
|
|
|
|
set(RANLIB "$(CROSS_SUFFIX)ranlib") |
|
|
|
|
|
set(NM "$(CROSS_SUFFIX)nm") |
|
|
|
|
|
set(DLLWRAP "$(CROSS_SUFFIX)dllwrap") |
|
|
|
|
|
set(OBJCOPY "$(CROSS_SUFFIX)objcopy") |
|
|
|
|
|
set(OBJCONV "$(CROSS_SUFFIX)objconv") |
|
|
|
|
|
|
|
|
set(AS "${CROSS_SUFFIX}as") |
|
|
|
|
|
set(LD "${CROSS_SUFFIX}ld") |
|
|
|
|
|
set(RANLIB "${CROSS_SUFFIX}ranlib") |
|
|
|
|
|
set(NM "${CROSS_SUFFIX}nm") |
|
|
|
|
|
set(DLLWRAP "${CROSS_SUFFIX}dllwrap") |
|
|
|
|
|
set(OBJCOPY "${CROSS_SUFFIX}objcopy") |
|
|
|
|
|
set(OBJCONV "${CROSS_SUFFIX}objconv") |
|
|
|
|
|
|
|
|
# OS dependent settings |
|
|
# OS dependent settings |
|
|
include("${CMAKE_SOURCE_DIR}/cmake/os.cmake") |
|
|
include("${CMAKE_SOURCE_DIR}/cmake/os.cmake") |
|
@@ -137,3 +137,193 @@ include("${CMAKE_SOURCE_DIR}/cmake/cc.cmake") |
|
|
# Fortran Compiler dependent settings |
|
|
# Fortran Compiler dependent settings |
|
|
include("${CMAKE_SOURCE_DIR}/cmake/fc.cmake") |
|
|
include("${CMAKE_SOURCE_DIR}/cmake/fc.cmake") |
|
|
|
|
|
|
|
|
|
|
|
if (BINARY64) |
|
|
|
|
|
if (INTERFACE64) |
|
|
|
|
|
# CCOMMON_OPT += -DUSE64BITINT |
|
|
|
|
|
endif () |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NEED_PIC) |
|
|
|
|
|
if (${CMAKE_C_COMPILER} STREQUAL "IBM") |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -qpic=large") |
|
|
|
|
|
else () |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -fPIC") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (${Fortran_COMPILER_NAME} STREQUAL "SUN") |
|
|
|
|
|
set(FCOMMON_OPT "${FCOMMON_OPT} -pic") |
|
|
|
|
|
else () |
|
|
|
|
|
set(FCOMMON_OPT "${FCOMMON_OPT} -fPIC") |
|
|
|
|
|
endif () |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (DYNAMIC_ARCH) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_ARCH") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_LAPACK) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_LAPACK") |
|
|
|
|
|
#Disable LAPACK C interface |
|
|
|
|
|
set(NO_LAPACKE 1) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_LAPACKE) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_LAPACKE") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_AVX) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (${ARCH} STREQUAL "x86") |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_AVX2) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX2") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (SMP) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DSMP_SERVER") |
|
|
|
|
|
|
|
|
|
|
|
if (${ARCH} STERQUAL "mips64") |
|
|
|
|
|
if (NOT ${CORE} STREQUAL "LOONGSON3B") |
|
|
|
|
|
set(USE_SIMPLE_THREADED_LEVEL3 1) |
|
|
|
|
|
endif () |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (USE_OPENMP) |
|
|
|
|
|
# USE_SIMPLE_THREADED_LEVEL3 = 1 |
|
|
|
|
|
# NO_AFFINITY = 1 |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_OPENMP") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (BIGNUMA) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DBIGNUMA") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_WARMUP) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_WARMUP") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (CONSISTENT_FPCSR) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DCONSISTENT_FPCSR") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
# Only for development |
|
|
|
|
|
# set(CCOMMON_OPT "${CCOMMON_OPT} -DPARAMTEST") |
|
|
|
|
|
# set(CCOMMON_OPT "${CCOMMON_OPT} -DPREFETCHTEST") |
|
|
|
|
|
# set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_SWITCHING") |
|
|
|
|
|
# set(USE_PAPI 1) |
|
|
|
|
|
|
|
|
|
|
|
if (USE_PAPI) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_PAPI") |
|
|
|
|
|
set(EXTRALIB "${EXTRALIB} -lpapi -lperfctr") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (DYNAMIC_THREADS) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_THREADS") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_CPU_NUMBER=${NUM_THREADS}") |
|
|
|
|
|
|
|
|
|
|
|
if (USE_SIMPLE_THREADED_LEVEL3) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_SIMPLE_THREADED_LEVEL3") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (DEFINED LIBNAMESUFFIX) |
|
|
|
|
|
set(LIBPREFIX "libopenblas_${LIBNAMESUFFIX}") |
|
|
|
|
|
else () |
|
|
|
|
|
set(LIBPREFIX "libopenblas") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT DEFINED SYMBOLPREFIX) |
|
|
|
|
|
set(SYMBOLPREFIX "") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT DEFINED SYMBOLSUFFIX) |
|
|
|
|
|
set(SYMBOLSUFFIX "") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
set(KERNELDIR "${CMAKE_SOURCE_DIR}/kernel/${ARCH}") |
|
|
|
|
|
|
|
|
|
|
|
# TODO: nead to convert these Makefiles |
|
|
|
|
|
# include ${CMAKE_SOURCE_DIR}/cmake/${ARCH}.cmake |
|
|
|
|
|
|
|
|
|
|
|
# TODO: Need to figure out how to get $(*F) in cmake |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DASMNAME=${FU}$(*F) -DASMFNAME=${FU}$(*F)${BU} -DNAME=$(*F)${BU} -DCNAME=$(*F) -DCHAR_NAME=\"$(*F)${BU}\" -DCHAR_CNAME=\"$(*F)\"") |
|
|
|
|
|
|
|
|
|
|
|
if (${CORE} STREQUAL "PPC440") |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_QALLOC") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (${CORE} STREQUAL "PPC440FP2") |
|
|
|
|
|
set(STATIC_ALLOCATION 1) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
|
|
|
|
|
set(NO_AFFINITY 1) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT ${ARCH} STREQUAL "x86_64" AND NOT ${ARCH} STREQUAL "x86" AND NOT ${CORE} STREQUAL "LOONGSON3B") |
|
|
|
|
|
set(NO_AFFINITY 1) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NO_AFFINITY) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DNO_AFFINITY") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (FUNCTION_PROFILE) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DFUNCTION_PROFILE") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (HUGETLB_ALLOCATION) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_HUGETLB") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (DEFINED HUGETLBFILE_ALLOCATION) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_HUGETLBFILE -DHUGETLB_FILE_NAME=${HUGETLBFILE_ALLOCATION})") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (STATIC_ALLOCATION) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_STATIC") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (DEVICEDRIVER_ALLOCATION) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DALLOC_DEVICEDRIVER -DDEVICEDRIVER_NAME=\"/dev/mapper\"") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (MIXED_MEMORY_ALLOCATION) |
|
|
|
|
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DMIXED_MEMORY_ALLOCATION") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (${OSNAME} STREQUAL "SunOS") |
|
|
|
|
|
set(TAR gtar) |
|
|
|
|
|
set(PATCH gpatch) |
|
|
|
|
|
set(GREP ggrep) |
|
|
|
|
|
else () |
|
|
|
|
|
set(TAR tar) |
|
|
|
|
|
set(PATCH patch) |
|
|
|
|
|
set(GREP grep) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT DEFINED MD5SUM) |
|
|
|
|
|
set(MD5SUM md5sum) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
set(AWK awk) |
|
|
|
|
|
|
|
|
|
|
|
set(REVISION "-r${VERSION}") |
|
|
|
|
|
string(REGEX MATCH "[0-9]+\\." MAJOR_VERSION "${VERSION}") |
|
|
|
|
|
|
|
|
|
|
|
if (DEBUG) |
|
|
|
|
|
set(COMMON_OPT "${COMMON_OPT} -g") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
if (NOT DEFINED COMMON_OPT) |
|
|
|
|
|
set(COMMON_OPT "-O2") |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
|
|
|