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