Corrected fortran compiler name variables.
authorHank Anderson <hank.p.anderson@gmail.com>
Tue, 3 Feb 2015 20:21:22 +0000 (14:21 -0600)
committerHank Anderson <hank.p.anderson@gmail.com>
Tue, 3 Feb 2015 20:21:22 +0000 (14:21 -0600)
Fixed some typos.

Updated c_check to set ARCH and BINARY64/32.

Added version variables.

CMakeLists.txt
cmake/arch.cmake
cmake/c_check.cmake
cmake/cc.cmake
cmake/f_check.cmake
cmake/fc.cmake
cmake/prebuild.cmake
cmake/system.cmake

index 6629294..0869e6f 100644 (file)
@@ -4,6 +4,10 @@
 
 cmake_minimum_required(VERSION 2.8.4)
 project(OpenBLAS)
+set(OpenBLAS_MAJOR_VERSION 0)
+set(OpenBLAS_MINOR_VERSION 2)
+set(OpenBLAS_PATCH_VERSION 13)
+set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
 
 # is this necessary? lapack-netlib has its own fortran checks in its CMakeLists.txt
 #enable_language(Fortran)
index b32c8b6..5848c24 100644 (file)
@@ -12,7 +12,7 @@ if (${ARCH} STREQUAL "x86" OR ${ARCH} STREQUAL "x86_64")
   endif ()\r
 \r
   if (NOT NO_EXPRECISION)\r
-    if (${Fortran_COMPILER_NAME} MATCHES "gfortran.*")\r
+    if (${CMAKE_Fortran_COMPILER} MATCHES "gfortran.*")\r
       # N.B. I'm not sure if CMake differentiates between GCC and LSB -hpa\r
       if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB")\r
         set(EXPRECISION        1)\r
@@ -86,7 +86,7 @@ if (${ARCH} STREQUAL "ia64")
   set(NO_BINARY_MODE 1)\r
   set(BINARY_DEFINED 1)\r
 \r
-  if (${Fortran_COMPILER_NAME} MATCHES "gfortran.*")\r
+  if (${CMAKE_Fortran_COMPILER} MATCHES "gfortran.*")\r
     if (${CMAKE_C_COMPILER} STREQUAL "GNU")\r
       # EXPRECISION    = 1\r
       # CCOMMON_OPT    += -DEXPRECISION\r
index 2fbfd57..961bb00 100644 (file)
@@ -4,6 +4,26 @@
 ##              This is triggered by prebuild.cmake and runs before any of the code is built.
 ##              Creates config.h and Makefile.conf.
 
+# CMake vars set by this file:
+# OSNAME (use CMAKE_SYSTEM_NAME)
+# ARCH
+# C_COMPILER (use CMAKE_C_COMPILER)
+# BINARY32
+# BINARY64
+# FU
+# CROSS_SUFFIX
+# CROSS
+# CEXTRALIB
+
+# Defines set by this file:
+# OS_
+# ARCH_
+# C_
+# __32BIT__
+# __64BIT__
+# FUNDERSCORE
+# PTHREAD_CREATE_FUNC
+
 # N.B. c_check (and ctest.c) is not cross-platform, so instead try to use CMake variables.
 
 # TODO: detect NEED_FU
@@ -23,17 +43,25 @@ if (NOT DEFINED BINARY)
   endif ()
 endif ()
 
+if (BINARY EQUAL 64)
+  set(BINARY64 1)
+else ()
+  set(BINARY32 1)
+endif ()
+
 # CMake docs define these:
 # CMAKE_SYSTEM_PROCESSOR - The name of the CPU CMake is building for.
 # CMAKE_HOST_SYSTEM_PROCESSOR - The name of the CPU CMake is running on.
-set(HOST_ARCH ${CMAKE_SYSTEM_PROCESSOR})
-if (${HOST_ARCH} STREQUAL "AMD64")
-  set(HOST_ARCH "X86_64")
+#
+# TODO: CMAKE_SYSTEM_PROCESSOR doesn't seem to be correct - instead get it from the compiler a la c_check
+set(ARCH ${CMAKE_SYSTEM_PROCESSOR})
+if (${ARCH} STREQUAL "AMD64")
+  set(ARCH "X86_64")
 endif ()
 
 # If you are using a 32-bit compiler on a 64-bit system CMAKE_SYSTEM_PROCESSOR will be wrong
-if (${HOST_ARCH} STREQUAL "X86_64" AND BINARY EQUAL 32)
-  set(HOST_ARCH X86)
+if (${ARCH} STREQUAL "X86_64" AND BINARY EQUAL 32)
+  set(ARCH X86)
 endif ()
 
 set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
@@ -43,7 +71,7 @@ endif ()
 
 file(WRITE ${TARGET_CONF}
   "#define OS_${HOST_OS}\t1\n"
-  "#define ARCH_${HOST_ARCH}\t1\n"
+  "#define ARCH_${ARCH}\t1\n"
   "#define C_${COMPILER_ID}\t1\n"
   "#define __${BINARY}BIT__\t1\n"
   "#define FUNDERSCORE\t${NEED_FU}\n")
index 0cae8f9..28daa72 100644 (file)
@@ -6,8 +6,8 @@
 if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang")\r
 \r
   set(CCOMMON_OPT "${CCOMMON_OPT} -Wall")\r
-  COMMON_PROF += -fno-inline\r
-  NO_UNINITIALIZED_WARN =  -Wno-uninitialized\r
+  set(COMMON_PROF "${COMMON_PROF} -fno-inline")\r
+  set(NO_UNINITIALIZED_WARN "-Wno-uninitialized")\r
 \r
   if (QUIET_MAKE)\r
     set(CCOMMON_OPT "${CCOMMON_OPT} ${NO_UNINITIALIZED_WARN} -Wno-unused")\r
@@ -89,8 +89,8 @@ if (${CMAKE_C_COMPILER} STREQUAL "OPEN64")
     else ()\r
       set(CCOMMON_OPT "${CCOMMON_OPT} -m64")\r
     endif ()\r
-  endif\r
-endif\r
+  endif ()\r
+endif ()\r
 \r
 if (${CMAKE_C_COMPILER} STREQUAL "SUN")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -w")\r
index a291430..6c1dbdf 100644 (file)
@@ -7,8 +7,20 @@
 ##              This is triggered by prebuild.cmake and runs before any of the code is built.
 ##              Appends Fortran information to config.h and Makefile.conf.
 
+# CMake vars set by this file:
+# F_COMPILER
+# FC
+# BU
+# NOFORTRAN
+# NEED2UNDERSCORES
+# FEXTRALIB
 
-if (NOT ${ONLY_CBLAS})
+# Defines set by this file:
+# BUNDERSCORE
+# NEEDBUNDERSCORE
+# NEED2UNDERSCORES
+
+if (NOT ONLY_CBLAS)
   # N.B. f_check is not cross-platform, so instead try to use CMake variables
   # run f_check (appends to TARGET files)
 #  message(STATUS "Running f_check...")
@@ -30,6 +42,7 @@ else ()
   #When we only build CBLAS, we set NOFORTRAN=2
   set(NOFORTRAN 2)
   set(NO_FBLAS 1)
+  #set(F_COMPILER GFORTRAN) # CMake handles the fortran compiler
   set(BU "_")
   file(APPEND ${TARGET_CONF}
     "#define BUNDERSCORE _\n"
index 727098d..61f0e01 100644 (file)
@@ -3,7 +3,7 @@
 ## Description: Ported from portion of OpenBLAS/Makefile.system\r
 ##              Sets Fortran related variables.\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "G77")\r
+if (${CMAKE_Fortran_COMPILER} 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
@@ -15,7 +15,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "G77")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "G95")\r
+if (${CMAKE_Fortran_COMPILER} 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
@@ -27,7 +27,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "G95")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "GFORTRAN")\r
+if (${CMAKE_Fortran_COMPILER} 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
@@ -58,7 +58,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "GFORTRAN")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "INTEL")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "INTEL")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_INTEL")\r
   if (INTERFACE64)\r
     set(FCOMMON_OPT "${FCOMMON_OPT} -i8")\r
@@ -68,14 +68,14 @@ if (${Fortran_COMPILER_NAME} STREQUAL "INTEL")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "FUJITSU")\r
+if (${CMAKE_Fortran_COMPILER} 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
+if (${CMAKE_Fortran_COMPILER} STREQUAL "IBM")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_IBM")\r
   # FCOMMON_OPT        += -qarch=440\r
   if (BINARY64)\r
@@ -91,7 +91,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "IBM")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "PGI")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "PGI")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PGI")\r
   set(COMMON_PROF "${COMMON_PROF} -DPGICOMPILER")\r
   if (BINARY64)\r
@@ -107,7 +107,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "PGI")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "PATHSCALE")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "PATHSCALE")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_PATHSCALE")\r
   if (BINARY64)\r
     if (INTERFACE64)\r
@@ -134,7 +134,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "PATHSCALE")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "OPEN64")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "OPEN64")\r
 \r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_OPEN64")\r
   if (BINARY64)\r
@@ -172,7 +172,7 @@ if (${Fortran_COMPILER_NAME} STREQUAL "OPEN64")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} "SUN")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "SUN")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_SUN")\r
   if (${ARCH} STREQUAL "x86")\r
     set(FCOMMON_OPT "${FCOMMON_OPT} -m32")\r
@@ -184,7 +184,7 @@ if (${Fortran_COMPILER_NAME} "SUN")
   endif ()\r
 endif ()\r
 \r
-if (${Fortran_COMPILER_NAME} STREQUAL "COMPAQ")\r
+if (${CMAKE_Fortran_COMPILER} STREQUAL "COMPAQ")\r
   set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_COMPAQ")\r
   if (USE_OPENMP)\r
     set(FCOMMON_OPT "${FCOMMON_OPT} -openmp")\r
index 8e05647..6312a51 100644 (file)
@@ -6,19 +6,10 @@
 ##              Next it runs f_check and appends some fortran information to the files.
 ##              Finally it runs getarch and getarch_2nd for even more environment information.
 
-# List of vars set by this file and included files:
-# OSNAME
-# ARCH
-# C_COMPILER
-# BINARY32
-# BINARY64
-# CEXTRALIB
-# F_COMPILER
-# FC
-# BU
-# CORE <- REQUIRED
+# CMake vars set by this file:
+# CORE
 # LIBCORE
-# NUM_CORES <- REQUIRED
+# NUM_CORES
 # HAVE_MMX
 # HAVE_SSE
 # HAVE_SSE2
index ad4a6f3..f85d13f 100644 (file)
@@ -150,7 +150,7 @@ if (NEED_PIC)
     set(CCOMMON_OPT "${CCOMMON_OPT} -fPIC")
   endif ()
 
-  if (${Fortran_COMPILER_NAME} STREQUAL "SUN")
+  if (${CMAKE_Fortran_COMPILER} STREQUAL "SUN")
     set(FCOMMON_OPT "${FCOMMON_OPT} -pic")
   else ()
     set(FCOMMON_OPT "${FCOMMON_OPT} -fPIC")
@@ -186,7 +186,7 @@ endif ()
 if (SMP)
   set(CCOMMON_OPT "${CCOMMON_OPT} -DSMP_SERVER")
 
-  if (${ARCH} STERQUAL "mips64")
+  if (${ARCH} STREQUAL "mips64")
     if (NOT ${CORE} STREQUAL "LOONGSON3B")
       set(USE_SIMPLE_THREADED_LEVEL3 1)
     endif ()
@@ -299,7 +299,7 @@ if (MIXED_MEMORY_ALLOCATION)
   set(CCOMMON_OPT "${CCOMMON_OPT} -DMIXED_MEMORY_ALLOCATION")
 endif ()
 
-if (${OSNAME} STREQUAL "SunOS")
+if (${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
   set(TAR      gtar)
   set(PATCH    gpatch)
   set(GREP ggrep)
@@ -315,8 +315,8 @@ endif ()
 
 set(AWK awk)
 
-set(REVISION "-r${VERSION}")
-string(REGEX MATCH "[0-9]+\\." MAJOR_VERSION "${VERSION}")
+set(REVISION "-r${OpenBLAS_VERSION}")
+set(MAJOR_VERSION ${OpenBLAS_MAJOR_VERSION})
 
 if (DEBUG)
   set(COMMON_OPT "${COMMON_OPT} -g")