[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
- [lmi-commits] [lmi] master updated (ceb0ac3b -> 01aa1fd4), Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 984ccf07 3/9: Expunge useless history, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master a3571e5d 4/9: Remove a dependency on an ancient gcc version, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master d20268b2 5/9: Remove another dependency on an ancient gcc version, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 2f9d615f 8/9: Move a definition, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 9f2184d3 1/9: Record some handy commands, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 7947ec4e 2/9: Distinguish dialect options from warnings, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 01aa1fd4 9/9: Factor out gcc warnings, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master be9c647f 6/9: Prepare for more transplantation, Greg Chicares, 2022/06/28
- [lmi-commits] [lmi] master 0e74982c 7/9: Transplant ascertainment of compiler version,
Greg Chicares <=