From 24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3 Mon Sep 17 00:00:00 2001
From: Rolf Eike Beer <eike@sf-mail.de>
Date: Wed, 25 Jan 2017 21:53:40 +0100
Subject: GNUC: also check __GNUG__ define when checking for g++

At least the scratchbox compiler for the N900, which basically is a gcc 4.2,
sets only __GNUG__ in C++ mode, but not __GNUC__. It does indeed set
__GNUC_MINOR__ and __GNUC_PATCHLEVEL__. Extend the compiler detection code for
GNU compilers in C++ mode to look at __GNUG__ in case __GNUC__ is absent.
---
 Modules/Compiler/GNU-C-DetermineCompiler.cmake   | 11 +++++++++++
 Modules/Compiler/GNU-CXX-DetermineCompiler.cmake | 15 +++++++++++++++
 Modules/Compiler/GNU-DetermineCompiler.cmake     | 11 -----------
 3 files changed, 26 insertions(+), 11 deletions(-)
 create mode 100644 Modules/Compiler/GNU-C-DetermineCompiler.cmake
 create mode 100644 Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
 delete mode 100644 Modules/Compiler/GNU-DetermineCompiler.cmake

diff --git a/Modules/Compiler/GNU-C-DetermineCompiler.cmake b/Modules/Compiler/GNU-C-DetermineCompiler.cmake
new file mode 100644
index 0000000..6ddc566
--- /dev/null
+++ b/Modules/Compiler/GNU-C-DetermineCompiler.cmake
@@ -0,0 +1,11 @@
+
+set(_compiler_id_pp_test "defined(__GNUC__)")
+
+set(_compiler_id_version_compute "
+# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
+# endif")
diff --git a/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake b/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
new file mode 100644
index 0000000..c25b147
--- /dev/null
+++ b/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
@@ -0,0 +1,15 @@
+
+set(_compiler_id_pp_test "defined(__GNUC__) || defined(__GNUG__)")
+
+set(_compiler_id_version_compute "
+# if defined(__GNUC__)
+#  define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
+# else
+#  define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+#  define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
+# endif")
diff --git a/Modules/Compiler/GNU-DetermineCompiler.cmake b/Modules/Compiler/GNU-DetermineCompiler.cmake
deleted file mode 100644
index 6ddc566..0000000
--- a/Modules/Compiler/GNU-DetermineCompiler.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-
-set(_compiler_id_pp_test "defined(__GNUC__)")
-
-set(_compiler_id_version_compute "
-# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
-# if defined(__GNUC_MINOR__)
-#  define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
-# endif
-# if defined(__GNUC_PATCHLEVEL__)
-#  define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
-# endif")
-- 
cgit v0.12