Browse Source

Teach compiler id about VisualAge -> XL rebranding

IBM rebranded its VisualAge compiler to XL starting at version 8.0.  We
use the compiler id "XL" for newer versions and "VisualAge" for older
versions.  We now also recognize the "z/OS" compiler, which is distinct
from XL.
Brad King 16 years ago
parent
commit
115ecc5750

+ 7 - 1
Modules/CMakeCCompilerId.c.in

@@ -25,7 +25,13 @@
 # define COMPILER_ID "Compaq"
 
 #elif defined(__IBMC__)
-# define COMPILER_ID "VisualAge"
+# if defined(__COMPILER_VER__)
+#  define COMPILER_ID "zOS"
+# elif __IBMC__ >= 800
+#  define COMPILER_ID "XL"
+# else
+#  define COMPILER_ID "VisualAge"
+# endif
 
 #elif defined(__PGI)
 # define COMPILER_ID "PGI"

+ 7 - 1
Modules/CMakeCXXCompilerId.cpp.in

@@ -27,7 +27,13 @@
 # define COMPILER_ID "Compaq"
 
 #elif defined(__IBMCPP__)
-# define COMPILER_ID "VisualAge"
+# if defined(__COMPILER_VER__)
+#  define COMPILER_ID "zOS"
+# elif __IBMCPP__ >= 800
+#  define COMPILER_ID "XL"
+# else
+#  define COMPILER_ID "VisualAge"
+# endif
 
 #elif defined(__PGI)
 # define COMPILER_ID "PGI"

+ 7 - 1
Modules/CMakeFortranCompilerId.F.in

@@ -8,8 +8,14 @@
         PRINT *, 'INFO:compiler[SunPro]'
 #elif defined(__GNUC__)
         PRINT *, 'INFO:compiler[GNU]'
-#elif defined(__IBM__) || defined(__IBMC__)
+#elif defined(__IBMC__)
+# if defined(__COMPILER_VER__)
+        PRINT *, 'INFO:compiler[zOS]'
+# elif __IBMC__ >= 800
+        PRINT *, 'INFO:compiler[XL]'
+# else
         PRINT *, 'INFO:compiler[VisualAge]'
+# endif
 #elif defined(__PGI)
         PRINT *, 'INFO:compiler[PGI]'
 #elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)

+ 1 - 1
Modules/Compiler/VisualAge-C.cmake

@@ -1 +1 @@
-SET(CMAKE_C_VERBOSE_FLAG "-V")
+include(Compiler/XL-C)

+ 1 - 1
Modules/Compiler/VisualAge-CXX.cmake

@@ -1 +1 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-V")
+include(Compiler/XL-CXX)

+ 1 - 2
Modules/Compiler/VisualAge-Fortran.cmake

@@ -1,2 +1 @@
-SET(CMAKE_Fortran_VERBOSE_FLAG "-V")
-SET(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
+include(Compiler/XL-Fortran)

+ 1 - 0
Modules/Compiler/XL-C.cmake

@@ -0,0 +1 @@
+SET(CMAKE_C_VERBOSE_FLAG "-V")

+ 1 - 0
Modules/Compiler/XL-CXX.cmake

@@ -0,0 +1 @@
+SET(CMAKE_CXX_VERBOSE_FLAG "-V")

+ 2 - 0
Modules/Compiler/XL-Fortran.cmake

@@ -0,0 +1,2 @@
+SET(CMAKE_Fortran_VERBOSE_FLAG "-V")
+SET(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")

+ 1 - 2
Modules/Platform/Linux-VisualAge-C.cmake

@@ -1,2 +1 @@
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")        
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")  
+include(Platform/Linux-XL-C)

+ 1 - 2
Modules/Platform/Linux-VisualAge-Fortran.cmake

@@ -1,2 +1 @@
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")        
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")  
+include(Platform/Linux-XL-Fortran)

+ 2 - 0
Modules/Platform/Linux-XL-C.cmake

@@ -0,0 +1,2 @@
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")

+ 2 - 0
Modules/Platform/Linux-XL-Fortran.cmake

@@ -0,0 +1,2 @@
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")