summaryrefslogtreecommitdiff
path: root/Build/source/doc/buildinfo.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/doc/buildinfo.sh')
-rwxr-xr-xBuild/source/doc/buildinfo.sh19
1 files changed, 14 insertions, 5 deletions
diff --git a/Build/source/doc/buildinfo.sh b/Build/source/doc/buildinfo.sh
index 7784ae5061c..fe889022a8a 100755
--- a/Build/source/doc/buildinfo.sh
+++ b/Build/source/doc/buildinfo.sh
@@ -12,21 +12,30 @@ fi
printf 'UNAME\t"%s"\n' "`uname -a`"
-# /etc/issue often contains only placeholders, so don't bother.
+# /etc/issue often contains only placeholders, so don't bother with it.
+
+# Return version identification for $1, by calling it with --version.
+# gcc on Macs, when linked to cc, has a useless "Configured with:" as
+# the first line. Likely we'll need to generalize for other compilers.
+# We intentionally don't quote $1 in case CC was set to something like
+# "cc --someopt".
+compiler_version () {
+ $1 --version 2>&1 | grep -v '^Configured' | sed 1q
+}
printf 'MAKE\t"%s"\n' "${MAKE-make}"
printf 'MAKE-v\t"%s"\n' "`${MAKE-make} -v 2>&1 | sed 1q`"
# BSD make does not give version info with -v, but the
# first line of the usage message is sort of an identifier.
-# our configure defaults to using gcc and g++.
+# our configure defaults to using gcc and g++, so we will too.
printf 'CC\t"%s"\n' "${CC-gcc}"
printf 'CFLAGS\t"%s"\n' "${CFLAGS}"
-printf 'CC-v\t"%s"\n' "`${CC-gcc} --version 2>&1 | sed 1q`"
-#
+printf 'CC-v\t"%s"\n' "`compiler_version ${CC-gcc}`"
+#
printf 'CXX\t"%s"\n' "${CXX-g++}"
printf 'CXXFLAGS\t"%s"\n' "${CXXFLAGS}"
-printf 'CXX-v\t"%s"\n' "`${CXX-g++} --version 2>&1 | sed 1q`"
+printf 'CXX-v\t"%s"\n' "`compiler_version ${CXX-g++}`"
#
printf 'OBJCXX\t"%s"\n' "${OBJCXX-cc}"
printf 'OBJCXXFLAGS\t"%s"\n' "${OBJCXXFLAGS}"