summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-08-07 10:13:07 -0400
committerBrad King <brad.king@kitware.com>2009-08-07 10:13:07 -0400
commit115ecc5750deff688d580b48223d865ef8c9bf4c (patch)
treefe5b5f1bb49130caf43ae1bbd4afbcdfaa377b3d
parent34c6588b6ed7219543e0155e501205ea3048684e (diff)
downloadcmake-115ecc5750deff688d580b48223d865ef8c9bf4c.tar.gz
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.
-rw-r--r--Modules/CMakeCCompilerId.c.in8
-rw-r--r--Modules/CMakeCXXCompilerId.cpp.in8
-rw-r--r--Modules/CMakeFortranCompilerId.F.in8
-rw-r--r--Modules/Compiler/VisualAge-C.cmake2
-rw-r--r--Modules/Compiler/VisualAge-CXX.cmake2
-rw-r--r--Modules/Compiler/VisualAge-Fortran.cmake3
-rw-r--r--Modules/Compiler/XL-C.cmake1
-rw-r--r--Modules/Compiler/XL-CXX.cmake1
-rw-r--r--Modules/Compiler/XL-Fortran.cmake2
-rw-r--r--Modules/Platform/Linux-VisualAge-C.cmake3
-rw-r--r--Modules/Platform/Linux-VisualAge-Fortran.cmake3
-rw-r--r--Modules/Platform/Linux-XL-C.cmake2
-rw-r--r--Modules/Platform/Linux-XL-Fortran.cmake2
13 files changed, 34 insertions, 11 deletions
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index 7a0a39de1e..a999e8db57 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/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"
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 77a6247c3d..2c8aa3c3c2 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/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"
diff --git a/Modules/CMakeFortranCompilerId.F.in b/Modules/CMakeFortranCompilerId.F.in
index 63d3e438d1..51f4e91d04 100644
--- a/Modules/CMakeFortranCompilerId.F.in
+++ b/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)
diff --git a/Modules/Compiler/VisualAge-C.cmake b/Modules/Compiler/VisualAge-C.cmake
index 3120478e60..40b609e9a8 100644
--- a/Modules/Compiler/VisualAge-C.cmake
+++ b/Modules/Compiler/VisualAge-C.cmake
@@ -1 +1 @@
-SET(CMAKE_C_VERBOSE_FLAG "-V")
+include(Compiler/XL-C)
diff --git a/Modules/Compiler/VisualAge-CXX.cmake b/Modules/Compiler/VisualAge-CXX.cmake
index 618ff5ade2..2509b43967 100644
--- a/Modules/Compiler/VisualAge-CXX.cmake
+++ b/Modules/Compiler/VisualAge-CXX.cmake
@@ -1 +1 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-V")
+include(Compiler/XL-CXX)
diff --git a/Modules/Compiler/VisualAge-Fortran.cmake b/Modules/Compiler/VisualAge-Fortran.cmake
index 49d6bb2f3a..3ef3178d9f 100644
--- a/Modules/Compiler/VisualAge-Fortran.cmake
+++ b/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)
diff --git a/Modules/Compiler/XL-C.cmake b/Modules/Compiler/XL-C.cmake
new file mode 100644
index 0000000000..3120478e60
--- /dev/null
+++ b/Modules/Compiler/XL-C.cmake
@@ -0,0 +1 @@
+SET(CMAKE_C_VERBOSE_FLAG "-V")
diff --git a/Modules/Compiler/XL-CXX.cmake b/Modules/Compiler/XL-CXX.cmake
new file mode 100644
index 0000000000..618ff5ade2
--- /dev/null
+++ b/Modules/Compiler/XL-CXX.cmake
@@ -0,0 +1 @@
+SET(CMAKE_CXX_VERBOSE_FLAG "-V")
diff --git a/Modules/Compiler/XL-Fortran.cmake b/Modules/Compiler/XL-Fortran.cmake
new file mode 100644
index 0000000000..49d6bb2f3a
--- /dev/null
+++ b/Modules/Compiler/XL-Fortran.cmake
@@ -0,0 +1,2 @@
+SET(CMAKE_Fortran_VERBOSE_FLAG "-V")
+SET(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
diff --git a/Modules/Platform/Linux-VisualAge-C.cmake b/Modules/Platform/Linux-VisualAge-C.cmake
index 295226bbe7..0622b63c3d 100644
--- a/Modules/Platform/Linux-VisualAge-C.cmake
+++ b/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)
diff --git a/Modules/Platform/Linux-VisualAge-Fortran.cmake b/Modules/Platform/Linux-VisualAge-Fortran.cmake
index 295226bbe7..1939a8a2f0 100644
--- a/Modules/Platform/Linux-VisualAge-Fortran.cmake
+++ b/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)
diff --git a/Modules/Platform/Linux-XL-C.cmake b/Modules/Platform/Linux-XL-C.cmake
new file mode 100644
index 0000000000..08370e246b
--- /dev/null
+++ b/Modules/Platform/Linux-XL-C.cmake
@@ -0,0 +1,2 @@
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
diff --git a/Modules/Platform/Linux-XL-Fortran.cmake b/Modules/Platform/Linux-XL-Fortran.cmake
new file mode 100644
index 0000000000..08370e246b
--- /dev/null
+++ b/Modules/Platform/Linux-XL-Fortran.cmake
@@ -0,0 +1,2 @@
+SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")