Added fc.cmake (forgot it in last commit).
authorHank Anderson <hank.p.anderson@gmail.com>
Tue, 3 Feb 2015 19:08:59 +0000 (13:08 -0600)
committerHank Anderson <hank.p.anderson@gmail.com>
Tue, 3 Feb 2015 19:08:59 +0000 (13:08 -0600)
Moved a couple C compiler ifs from Makefile.system into cc.cmake.

cmake/cc.cmake
cmake/fc.cmake [new file with mode: 0644]

index b6ce0e2..0cae8f9 100644 (file)
@@ -64,3 +64,40 @@ if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE")
   endif ()\r
 endif ()\r
 \r
+if (${CMAKE_C_COMPILER} STREQUAL "OPEN64")\r
+\r
+  if (${ARCH} STREQUAL "mips64")\r
+\r
+    if (NOT BINARY64)\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -n32")\r
+    else ()\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -n64")\r
+    endif ()\r
+\r
+    if (${CORE} STREQUAL "LOONGSON3A")\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static")\r
+    endif ()\r
+\r
+    if (${CORE} STREQUAL "LOONGSON3B")\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static")\r
+    endif ()\r
+\r
+  else ()\r
+\r
+    if (BINARY64)\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -m32")\r
+    else ()\r
+      set(CCOMMON_OPT "${CCOMMON_OPT} -m64")\r
+    endif ()\r
+  endif\r
+endif\r
+\r
+if (${CMAKE_C_COMPILER} STREQUAL "SUN")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -w")\r
+  if (${ARCH} STREQUAL "x86")\r
+    set(CCOMMON_OPT "${CCOMMON_OPT} -m32")\r
+  else ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+  endif ()\r
+endif ()\r
+\r
diff --git a/cmake/fc.cmake b/cmake/fc.cmake
new file mode 100644 (file)
index 0000000..727098d
--- /dev/null
@@ -0,0 +1,193 @@
+##\r
+## Author: Hank Anderson <hank@statease.com>\r
+## Description: Ported from portion of OpenBLAS/Makefile.system\r
+##              Sets Fortran related variables.\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "G77")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G77")\r
+  set(FCOMMON_OPT "${FCOMMON_OPT} -Wall")\r
+  if (NOT NO_BINARY_MODE)\r
+    if (BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+    endif ()\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "G95")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_G95")\r
+  set(FCOMMON_OPT "${FCOMMON_OPT} -Wall")\r
+  if (NOT NO_BINARY_MODE)\r
+    if (BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+    endif ()\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "GFORTRAN")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT")\r
+  set(FCOMMON_OPT "${FCOMMON_OPT} -Wall")\r
+  #Don't include -lgfortran, when NO_LAPACK=1 or lsbcc\r
+  if (NOT NO_LAPACK)\r
+    set(EXTRALIB "{EXTRALIB} -lgfortran")\r
+  endif ()\r
+  if (NO_BINARY_MODE)\r
+    if (${ARCH} STREQUAL "mips64")\r
+      if (BINARY64)\r
+        set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64")\r
+      else ()\r
+        set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32")\r
+      endif ()\r
+    endif ()\r
+  else ()\r
+    if (BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+      if (INTERFACE64)\r
+        set(FCOMMON_OPT "${FCOMMON_OPT} -fdefault-integer-8")\r
+      endif ()\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+    endif ()\r
+  endif ()\r
+\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "INTEL")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_INTEL")\r
+  if (INTERFACE64)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -i8")\r
+  endif ()\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -openmp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "FUJITSU")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FUJITSU")\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -openmp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "IBM")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_IBM")\r
+  # FCOMMON_OPT        += -qarch=440\r
+  if (BINARY64)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -q64")\r
+    if (INTERFACE64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -qintsize=8")\r
+    endif ()\r
+  else ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -q32")\r
+  endif ()\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -openmp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "PGI")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PGI")\r
+  set(COMMON_PROF "${COMMON_PROF} -DPGICOMPILER")\r
+  if (BINARY64)\r
+    if (INTERFACE64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -i8")\r
+    endif ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7-64")\r
+  else ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -tp p7")\r
+  endif ()\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -mp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "PATHSCALE")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PATHSCALE")\r
+  if (BINARY64)\r
+    if (INTERFACE64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -i8")\r
+    endif ()\r
+  endif ()\r
+\r
+  if (NOT ${ARCH} STREQUAL "mips64")\r
+    if (NOT BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+    endif ()\r
+  else ()\r
+    if (BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=64")\r
+    else ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=n32")\r
+    endif ()\r
+  endif ()\r
+\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -mp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "OPEN64")\r
+\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_OPEN64")\r
+  if (BINARY64)\r
+    if (INTERFACE64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -i8")\r
+    endif ()\r
+  endif ()\r
+\r
+  if (${ARCH} STREQUAL "mips64")\r
+\r
+    if (NOT BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -n32")\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -n64")\r
+    endif ()\r
+\r
+    if (${CORE} STREQUAL "LOONGSON3A")\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static")\r
+    endif ()\r
+\r
+    if (${CORE} STREQUAL "LOONGSON3B")\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -loongson3 -static")\r
+    endif ()\r
+  else ()\r
+    if (NOT BINARY64)\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+    else ()\r
+      set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+    endif ()\r
+  endif ()\r
+\r
+  if (USE_OPENMP)\r
+    set(FEXTRALIB "${FEXTRALIB} -lstdc++")\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -mp")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} "SUN")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_SUN")\r
+  if (${ARCH} STREQUAL "x86")\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
+  else ()\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -m64")\r
+  endif ()\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -xopenmp=parallel")\r
+  endif ()\r
+endif ()\r
+\r
+if (${Fortran_COMPILER_NAME} STREQUAL "COMPAQ")\r
+  set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_COMPAQ")\r
+  if (USE_OPENMP)\r
+    set(FCOMMON_OPT "${FCOMMON_OPT} -openmp")\r
+  endif ()\r
+endif ()\r
+\r