--- /dev/null
+##\r
+## Author: Hank Anderson <hank@statease.com>\r
+## Created: 12/29/14\r
+## Last Modified: 12/29/14\r
+## Description: Ported from portion of OpenBLAS/Makefile.system\r
+## Detects the OS and sets appropriate variables.\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")\r
+ set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.2") # TODO: should be exported as an env var\r
+ set(MD5SUM "md5 -r")\r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")\r
+ set(MD5SUM "md5 -r")\r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")\r
+ set(MD5SUM "md5 -n")\r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")\r
+ set(EXTRALIB "${EXTRALIB} -lm")\r
+ set(NO_EXPRECISION 1)\r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "AIX")\r
+ set(EXTRALIB "${EXTRALIB} -lm")\r
+endif ()\r
+\r
+# TODO: this is probably meant for mingw, not other windows compilers\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")\r
+\r
+ set(NEED_PIC 0)\r
+ set(NO_EXPRECISION 1)\r
+\r
+ set(EXTRALIB "${EXTRALIB} -defaultlib:advapi32")\r
+\r
+ # probably not going to use these\r
+ set(SUFFIX "obj")\r
+ set(PSUFFIX "pobj")\r
+ set(LIBSUFFIX "a")\r
+\r
+ if (${CMAKE_C_COMPILER_ID} STREQUAL "Clang")\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI")\r
+ endif ()\r
+\r
+ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU")\r
+\r
+ # Test for supporting MS_ABI\r
+ # removed string parsing in favor of CMake's version comparison -hpa\r
+ execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)\r
+ if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7)\r
+ # GCC Version >=4.7\r
+ # It is compatible with MSVC ABI.\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -DMS_ABI")\r
+ endif ()\r
+ endif ()\r
+\r
+ # Ensure the correct stack alignment on Win32\r
+ # http://permalink.gmane.org/gmane.comp.lib.openblas.general/97\r
+ if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -mincoming-stack-boundary=2")\r
+ set(FCOMMON_OPT "${FCOMMON_OPT} -mincoming-stack-boundary=2")\r
+ endif ()\r
+ \r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Interix")\r
+ set(NEED_PIC 0)\r
+ set(NO_EXPRECISION 1)\r
+ \r
+ set(INTERIX_TOOL_DIR STREQUAL "/opt/gcc.3.3/i586-pc-interix3/bin")\r
+endif ()\r
+\r
+if (CYGWIN)\r
+ set(NEED_PIC 0)\r
+ set(NO_EXPRECISION 1)\r
+endif\r
+\r
+if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Interix")\r
+ if (SMP)\r
+ set(EXTRALIB "${EXTRALIB} -lpthread")\r
+ endif ()\r
+endif ()\r
+\r
+if (QUAD_PRECISION)\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -DQUAD_PRECISION")\r
+ set(NO_EXPRECISION 1)\r
+endif ()\r
+\r
+if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")\r
+ set(NO_EXPRECISION 1)\r
+endif ()\r
+\r
+if (UTEST_CHECK)\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -DUTEST_CHECK")\r
+ set(SANITY_CHECK 1)\r
+endif ()\r
+\r
+if (SANITY_CHECK)\r
+ # TODO: need some way to get $(*F) (target filename)\r
+ set(CCOMMON_OPT "${CCOMMON_OPT} -DSANITY_CHECK -DREFNAME=$(*F)f${BU}")\r
+endif\r
+\r