lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 0e74982c 7/9: Transplant ascertainment of com


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 0e74982c 7/9: Transplant ascertainment of compiler version
Date: Tue, 28 Jun 2022 22:26:46 -0400 (EDT)

branch: master
commit 0e74982c2ddd771c6c611c0269a66523e3e61bc5
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Transplant ascertainment of compiler version
    
    Naturally this is the first makefile included by a compiler's main
    makefile. Version is typically
      $CXX -dumpversion
    so aliases like $CXX naturally belong here, too.
---
 compiler_clang.make         | 22 -------------------
 compiler_clang_version.make | 23 ++++++++++++++++++++
 compiler_gcc.make           | 52 ---------------------------------------------
 compiler_gcc_version.make   | 52 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 75 insertions(+), 74 deletions(-)

diff --git a/compiler_clang.make b/compiler_clang.make
index dc264a83..23431814 100644
--- a/compiler_clang.make
+++ b/compiler_clang.make
@@ -35,28 +35,6 @@ $(srcdir)/compiler_clang_version.make:: ;
 include $(srcdir)/compiler_clang_warnings.make
 $(srcdir)/compiler_clang_warnings.make:: ;
 
-# Aliases for tools used in targets elsewhere.
-
-AR      := ar
-CC      := clang
-CPP     := cpp
-CXX     := clang++
-LD      := clang++
-# For GNU/Linux, $(RC) is never invoked.
-RC      := windres
-
-# GNU tools (or workalikes) for special purposes.
-#
-# For testing physical closure and generating autodependencies, use
-# either GNU tools or closely compatible equivalents such as clang.
-# This obviates figuring out how other toolchains support these needs.
-#
-# Override these definitions to specify GNU tools when using an
-# incompatible toolchain.
-
-GNU_CPP := $(CPP)
-GNU_CXX := $(CXX)
-
 # EXTRA variables.
 #
 # /\w*EXTRA_/ variables such as $(EXTRA_LDFLAGS) are set by other
diff --git a/compiler_clang_version.make b/compiler_clang_version.make
index 4a8cf7f8..eaaabb41 100644
--- a/compiler_clang_version.make
+++ b/compiler_clang_version.make
@@ -22,3 +22,26 @@
 # Don't remake this makefile.
 
 $(srcdir)/compiler_clang_version.make:: ;
+
+# Aliases for tools used in targets elsewhere.
+
+AR      := ar
+CC      := clang
+CPP     := cpp
+CXX     := clang++
+LD      := clang++
+# For GNU/Linux, $(RC) is never invoked.
+RC      := windres
+
+# GNU tools (or workalikes) for special purposes.
+#
+# For testing physical closure and generating autodependencies, use
+# either GNU tools or closely compatible equivalents such as clang.
+# This obviates figuring out how other toolchains support these needs.
+#
+# Override these definitions to specify GNU tools when using an
+# incompatible toolchain.
+
+GNU_CPP := $(CPP)
+GNU_CXX := $(CXX)
+
diff --git a/compiler_gcc.make b/compiler_gcc.make
index 47cc0e07..d50f6028 100644
--- a/compiler_gcc.make
+++ b/compiler_gcc.make
@@ -35,28 +35,6 @@ $(srcdir)/compiler_gcc_version.make:: ;
 include $(srcdir)/compiler_gcc_warnings.make
 $(srcdir)/compiler_gcc_warnings.make:: ;
 
-# Aliases for tools used in targets elsewhere.
-
-AR      := $(gcc_proclitic)ar
-CC      := $(gcc_proclitic)gcc
-CPP     := $(gcc_proclitic)cpp
-CXX     := $(gcc_proclitic)g++
-LD      := $(gcc_proclitic)g++
-# For GNU/Linux, $(RC) is never invoked.
-RC      := $(gcc_proclitic)windres
-
-# GNU tools (or workalikes) for special purposes.
-#
-# For testing physical closure and generating autodependencies, use
-# either GNU tools or closely compatible equivalents such as clang.
-# This obviates figuring out how other toolchains support these needs.
-#
-# Override these definitions to specify GNU tools when using an
-# incompatible toolchain.
-
-GNU_CPP := $(CPP)
-GNU_CXX := $(CXX)
-
 
################################################################################
 
 # EXTRA variables.
@@ -91,36 +69,6 @@ ifeq (safestdlib,$(build_type))
 
 endif
 
-# Compiler version.
-
-# $(subst): workaround for debian, whose MinGW-w64 identifies its
-# version 7.x.0 as "7.x-win32".
-
-ifeq (gcc,$(LMI_COMPILER))
-  gcc_version   := $(subst -win32,.0,$(shell $(CXX)     -dumpversion))
-endif
-
-# These are defined even for toolchains other than gcc.
-
-gnu_cpp_version := $(subst -win32,.0,$(shell $(GNU_CPP) -dumpversion))
-gnu_cxx_version := $(subst -win32,.0,$(shell $(GNU_CXX) -dumpversion))
-
-ifeq      (10,$(gnu_cpp_version))
-else ifeq (10.0,$(gnu_cpp_version))
-else ifeq (11,$(gnu_cpp_version))
-else ifeq (11.0,$(gnu_cpp_version))
-else
-  $(warning Untested $(GNU_CPP) version '$(gnu_cpp_version)')
-endif
-
-ifeq      (10,$(gnu_cxx_version))
-else ifeq (10.0,$(gnu_cxx_version))
-else ifeq (11,$(gnu_cxx_version))
-else ifeq (11.0,$(gnu_cxx_version))
-else
-  $(warning Untested $(GNU_CXX) version '$(gnu_cxx_version)')
-endif
-
 
################################################################################
 
 # Overriding options--simply expanded, and empty by default.
diff --git a/compiler_gcc_version.make b/compiler_gcc_version.make
index ab4c73a8..7fdad5fb 100644
--- a/compiler_gcc_version.make
+++ b/compiler_gcc_version.make
@@ -22,3 +22,55 @@
 # Don't remake this makefile.
 
 $(srcdir)/compiler_gcc_version.make:: ;
+
+# Aliases for tools used in targets elsewhere.
+
+AR      := $(gcc_proclitic)ar
+CC      := $(gcc_proclitic)gcc
+CPP     := $(gcc_proclitic)cpp
+CXX     := $(gcc_proclitic)g++
+LD      := $(gcc_proclitic)g++
+# For GNU/Linux, $(RC) is never invoked.
+RC      := $(gcc_proclitic)windres
+
+# GNU tools (or workalikes) for special purposes.
+#
+# For testing physical closure and generating autodependencies, use
+# either GNU tools or closely compatible equivalents such as clang.
+# This obviates figuring out how other toolchains support these needs.
+#
+# Override these definitions to specify GNU tools when using an
+# incompatible toolchain.
+
+GNU_CPP := $(CPP)
+GNU_CXX := $(CXX)
+
+# Compiler version.
+
+# $(subst): workaround for debian, whose MinGW-w64 identifies its
+# version 7.x.0 as "7.x-win32".
+
+ifeq (gcc,$(LMI_COMPILER))
+  gcc_version   := $(subst -win32,.0,$(shell $(CXX)     -dumpversion))
+endif
+
+# These are defined even for toolchains other than gcc.
+
+gnu_cpp_version := $(subst -win32,.0,$(shell $(GNU_CPP) -dumpversion))
+gnu_cxx_version := $(subst -win32,.0,$(shell $(GNU_CXX) -dumpversion))
+
+ifeq      (10,$(gnu_cpp_version))
+else ifeq (10.0,$(gnu_cpp_version))
+else ifeq (11,$(gnu_cpp_version))
+else ifeq (11.0,$(gnu_cpp_version))
+else
+  $(warning Untested $(GNU_CPP) version '$(gnu_cpp_version)')
+endif
+
+ifeq      (10,$(gnu_cxx_version))
+else ifeq (10.0,$(gnu_cxx_version))
+else ifeq (11,$(gnu_cxx_version))
+else ifeq (11.0,$(gnu_cxx_version))
+else
+  $(warning Untested $(GNU_CXX) version '$(gnu_cxx_version)')
+endif



reply via email to

[Prev in Thread] Current Thread [Next in Thread]