Mercurial > octave
comparison configure.ac @ 31123: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 | c4f52c6c5944 |
comparison
equal
deleted
inserted
replaced
31122:1077a1c277fb | 31123:1d819b308578 |
---|---|
401 | 401 |
402 ### Check version number when using g++. | 402 ### Check version number when using g++. |
403 | 403 |
404 GXX_VERSION= | 404 GXX_VERSION= |
405 if test "$GXX" = yes; then | 405 if test "$GXX" = yes; then |
406 AC_MSG_CHECKING([C++ compiler version number]) | 406 AC_CACHE_CHECK([g++ compiler version number], |
407 gxx_version=`$CXX -v 2>&1 | $GREP "^.*g.. version" | \ | 407 [octave_cv_gxx_version], |
408 $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'` | 408 [octave_cv_gxx_version=[`$CXX -v 2>&1 | $GREP "^.*g.. version" | $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`] |
409 | 409 ]) |
410 AX_COMPARE_VERSION([$gxx_version], [lt], [4.1], | 410 |
411 [warn_gxx_version="g++ version $gxx_version is likely to cause problems" | 411 AX_COMPARE_VERSION([$octave_cv_gxx_version], [lt], [4.1], |
412 [warn_gxx_version="g++ version $octave_cv_gxx_version is likely to cause problems" | |
412 OCTAVE_CONFIGURE_WARNING([warn_gxx_version])]) | 413 OCTAVE_CONFIGURE_WARNING([warn_gxx_version])]) |
413 | 414 |
414 GXX_VERSION=$gxx_version | 415 GXX_VERSION=$octave_cv_gxx_version |
415 AC_MSG_RESULT([$GXX_VERSION]) | |
416 fi | 416 fi |
417 AC_SUBST(GXX_VERSION) | 417 AC_SUBST(GXX_VERSION) |
418 | 418 |
419 ## Workaround for broken STL algorithm library. | 419 ## Workaround for broken STL algorithm library. |
420 OCTAVE_CHECK_BROKEN_STL_ALGO_H | 420 OCTAVE_CHECK_BROKEN_STL_ALGO_H |
429 ### Check version number when using gcc. | 429 ### Check version number when using gcc. |
430 dnl It might be different from the g++ version number. | 430 dnl It might be different from the g++ version number. |
431 | 431 |
432 GCC_VERSION= | 432 GCC_VERSION= |
433 if test "$GCC" = yes; then | 433 if test "$GCC" = yes; then |
434 AC_MSG_CHECKING([C compiler version number]) | 434 AC_CACHE_CHECK([gcc compiler version number], |
435 gcc_version=`$CC -v 2>&1 | $GREP "^.*gcc version" | \ | 435 [octave_cv_gcc_version], |
436 $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'` | 436 [octave_cv_gcc_version=[`$CC -v 2>&1 | $GREP "^.*gcc version" | $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`] |
437 | 437 ]) |
438 AX_COMPARE_VERSION([$gcc_version], [lt], [3], | 438 |
439 [warn_gcc_version="gcc version $gcc_version is likely to cause problems" | 439 AX_COMPARE_VERSION([$octave_cv_gcc_version], [lt], [3], |
440 [warn_gcc_version="gcc version $octave_cv_gcc_version is likely to cause problems" | |
440 OCTAVE_CONFIGURE_WARNING([warn_gcc_version])]) | 441 OCTAVE_CONFIGURE_WARNING([warn_gcc_version])]) |
441 | 442 |
442 GCC_VERSION=$gcc_version | 443 GCC_VERSION=$octave_cv_gcc_version |
443 AC_MSG_RESULT([$GCC_VERSION]) | |
444 fi | 444 fi |
445 AC_SUBST(GCC_VERSION) | 445 AC_SUBST(GCC_VERSION) |
446 | 446 |
447 ## It seems that there are some broken inline assembly functions in GNU libc. | 447 ## It seems that there are some broken inline assembly functions in GNU libc. |
448 ## Since it is uncertain how to test whether Octave is linked against GNU libc, | 448 ## Since it is uncertain how to test whether Octave is linked against GNU libc, |
2441 warn_java="No javac compiler or jar executable found. Octave will not be able to call Java methods." | 2441 warn_java="No javac compiler or jar executable found. Octave will not be able to call Java methods." |
2442 break | 2442 break |
2443 fi | 2443 fi |
2444 | 2444 |
2445 ## Check Java version is recent enough. | 2445 ## Check Java version is recent enough. |
2446 AC_MSG_CHECKING([for Java version]) | 2446 AC_CACHE_CHECK([for Java version], |
2447 java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`] | 2447 [octave_cv_java_version], |
2448 AC_MSG_RESULT([$java_version]) | 2448 [octave_cv_java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`] |
2449 java_major=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`] | 2449 ]) |
2450 java_minor=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`] | 2450 |
2451 java_major=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`] | |
2452 java_minor=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`] | |
2453 | |
2451 if test $java_major -gt 1 || (test $java_major -eq 1 && test $java_minor -ge 5); then | 2454 if test $java_major -gt 1 || (test $java_major -eq 1 && test $java_minor -ge 5); then |
2452 : # Version is OK. Do nothing. | 2455 : # Version is OK. Do nothing. |
2453 else | 2456 else |
2454 warn_java="Java version is too old (< 1.5). Octave will not be able to call Java methods." | 2457 warn_java="Java version is too old (< 1.5). Octave will not be able to call Java methods." |
2455 break | 2458 break |