changeset 31128:1d819b308578

build: cache Java, g++, and gcc compiler version numbers in configure (bug #62715) * configure.ac: Use AC_CACHE_CHECK macro for "gcc_version", "gxx_version", "java_version" variables.
author Rik <rik@octave.org>
date Thu, 07 Jul 2022 11:59:37 -0700
parents 1077a1c277fb
children 441aa6226223
files configure.ac
diffstat 1 files changed, 24 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Wed Jul 06 22:03:13 2022 -0700
+++ b/configure.ac	Thu Jul 07 11:59:37 2022 -0700
@@ -403,16 +403,16 @@
 
 GXX_VERSION=
 if test "$GXX" = yes; then
-  AC_MSG_CHECKING([C++ compiler version number])
-  gxx_version=`$CXX -v 2>&1 | $GREP "^.*g.. version" | \
-    $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
-
-  AX_COMPARE_VERSION([$gxx_version], [lt], [4.1],
-    [warn_gxx_version="g++ version $gxx_version is likely to cause problems"
+  AC_CACHE_CHECK([g++ compiler version number],
+    [octave_cv_gxx_version],
+    [octave_cv_gxx_version=[`$CXX -v 2>&1 | $GREP "^.*g.. version" | $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`]
+  ])
+
+  AX_COMPARE_VERSION([$octave_cv_gxx_version], [lt], [4.1],
+    [warn_gxx_version="g++ version $octave_cv_gxx_version is likely to cause problems"
      OCTAVE_CONFIGURE_WARNING([warn_gxx_version])])
 
-  GXX_VERSION=$gxx_version
-  AC_MSG_RESULT([$GXX_VERSION])
+  GXX_VERSION=$octave_cv_gxx_version
 fi
 AC_SUBST(GXX_VERSION)
 
@@ -431,16 +431,16 @@
 
 GCC_VERSION=
 if test "$GCC" = yes; then
-  AC_MSG_CHECKING([C compiler version number])
-  gcc_version=`$CC -v 2>&1 | $GREP "^.*gcc version" | \
-    $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
-
-  AX_COMPARE_VERSION([$gcc_version], [lt], [3],
-    [warn_gcc_version="gcc version $gcc_version is likely to cause problems"
+  AC_CACHE_CHECK([gcc compiler version number],
+    [octave_cv_gcc_version],
+    [octave_cv_gcc_version=[`$CC -v 2>&1 | $GREP "^.*gcc version" | $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`]
+  ])
+
+  AX_COMPARE_VERSION([$octave_cv_gcc_version], [lt], [3],
+    [warn_gcc_version="gcc version $octave_cv_gcc_version is likely to cause problems"
      OCTAVE_CONFIGURE_WARNING([warn_gcc_version])])
 
-  GCC_VERSION=$gcc_version
-  AC_MSG_RESULT([$GCC_VERSION])
+  GCC_VERSION=$octave_cv_gcc_version
 fi
 AC_SUBST(GCC_VERSION)
 
@@ -2443,11 +2443,14 @@
   fi
 
   ## Check Java version is recent enough.
-  AC_MSG_CHECKING([for Java version])
-  java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`]
-  AC_MSG_RESULT([$java_version])
-  java_major=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
-  java_minor=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
+  AC_CACHE_CHECK([for Java version],
+    [octave_cv_java_version],
+    [octave_cv_java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`]
+  ])
+
+  java_major=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
+  java_minor=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
+
   if test $java_major -gt 1 || (test $java_major -eq 1 && test $java_minor -ge 5); then
     :  # Version is OK.  Do nothing.
   else