| @@ -117,13 +117,13 @@ endif () | |||
| unset(ARFLAGS) | |||
| set(CPP "${COMPILER} -E") | |||
| 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 | |||
| include("${CMAKE_SOURCE_DIR}/cmake/os.cmake") | |||
| @@ -137,3 +137,193 @@ include("${CMAKE_SOURCE_DIR}/cmake/cc.cmake") | |||
| # Fortran Compiler dependent settings | |||
| 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 () | |||