Mercurial > octave
changeset 32567:7714577c87dd stable
build: Update autoconf macros with changes from upstream.
* ax_blas.m4, ax_compare_version.m4, ax_cxx_compile_stdcxx.m4, ax_openmp.m4:
Update with changes from upstream:
https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=tree;hb=eb940c6cf25be8247f7efff4465fd1b770891c5b
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 10 Dec 2023 13:16:02 +0100 |
parents | b30c8691c2e1 |
children | 25fffec4ecfd |
files | m4/ax_blas.m4 m4/ax_compare_version.m4 m4/ax_cxx_compile_stdcxx.m4 m4/ax_openmp.m4 |
diffstat | 4 files changed, 39 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/m4/ax_blas.m4 Sun Dec 10 12:35:20 2023 +0100 +++ b/m4/ax_blas.m4 Sun Dec 10 13:16:02 2023 +0100 @@ -64,7 +64,7 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 17 +#serial 21 AU_ALIAS([ACX_BLAS], [AX_BLAS]) AC_DEFUN([AX_BLAS], [ @@ -111,6 +111,13 @@ LIBS="$save_LIBS" fi +# BLAS linked to by flexiblas? (Default on FC33+ and RHEL9+) + +if test $ax_blas_ok = no; then + AC_CHECK_LIB(flexiblas, $sgemm, [ax_blas_ok=yes + BLAS_LIBS="-lflexiblas"]) +fi + # BLAS in OpenBLAS library? (http://xianyi.github.com/OpenBLAS/) if test $ax_blas_ok = no; then AC_CHECK_LIB(openblas, $sgemm, [ax_blas_ok=yes @@ -175,9 +182,9 @@ # BLAS in Apple vecLib library? if test $ax_blas_ok = no; then - save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS" - AC_MSG_CHECKING([for $sgemm in -framework vecLib]) - AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes;BLAS_LIBS="-framework vecLib"]) + save_LIBS="$LIBS"; LIBS="-framework Accelerate $LIBS" + AC_MSG_CHECKING([for $sgemm in -framework Accelerate]) + AC_LINK_IFELSE([AC_LANG_CALL([], [$sgemm])], [ax_blas_ok=yes;BLAS_LIBS="-framework Accelerate"]) AC_MSG_RESULT($ax_blas_ok) LIBS="$save_LIBS" fi
--- a/m4/ax_compare_version.m4 Sun Dec 10 12:35:20 2023 +0100 +++ b/m4/ax_compare_version.m4 Sun Dec 10 13:16:02 2023 +0100 @@ -79,7 +79,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 11 +#serial 13 dnl ######################################################################### AC_DEFUN([AX_COMPARE_VERSION], [ @@ -146,7 +146,7 @@ ], [.+],[ AC_WARNING( - [illegal OP numeric parameter: $2]) + [invalid OP numeric parameter: $2]) ],[]) # Pad zeros at end of numbers to make same length. @@ -162,7 +162,7 @@ [ne],[ test "x$A" != "x$B" && ax_compare_version=true ],[ - AC_WARNING([illegal OP parameter: $2]) + AC_WARNING([invalid OP parameter: $2]) ]) ])
--- a/m4/ax_cxx_compile_stdcxx.m4 Sun Dec 10 12:35:20 2023 +0100 +++ b/m4/ax_cxx_compile_stdcxx.m4 Sun Dec 10 13:16:02 2023 +0100 @@ -43,7 +43,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 14 +#serial 18 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -104,9 +104,18 @@ dnl HP's aCC needs +std=c++11 according to: dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf dnl Cray's crayCC needs "-h std=c++11" + dnl MSVC needs -std:c++NN for C++17 and later (default is C++14) for alternative in ${ax_cxx_compile_alternatives}; do - for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}" MSVC; do + if test x"$switch" = xMSVC; then + dnl AS_TR_SH maps both `:` and `=` to `_` so -std:c++17 would collide + dnl with -std=c++17. We suffix the cache variable name with _MSVC to + dnl avoid this. + switch=-std:c++${alternative} + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_${switch}_MSVC]) + else + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + fi AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, $cachevar, [ac_save_CXX="$CXX" @@ -189,7 +198,11 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -480,7 +493,7 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -604,7 +617,7 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -970,7 +983,7 @@ } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER ]]) @@ -983,7 +996,7 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 202002L +#elif __cplusplus < 202002L && !defined _MSC_VER #error "This is not a C++20 compiler" @@ -1000,6 +1013,6 @@ } // namespace cxx20 -#endif // __cplusplus < 202002L +#endif // __cplusplus < 202002L && !defined _MSC_VER ]])
--- a/m4/ax_openmp.m4 Sun Dec 10 12:35:20 2023 +0100 +++ b/m4/ax_openmp.m4 Sun Dec 10 13:16:02 2023 +0100 @@ -67,10 +67,10 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 13 +#serial 14 AC_DEFUN([AX_OPENMP], [ -AC_PREREQ([2.59]) dnl for _AC_LANG_PREFIX +AC_PREREQ([2.69]) dnl for _AC_LANG_PREFIX AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown @@ -101,7 +101,7 @@ } int -main() +main(void) { int arr[100000]; omp_set_num_threads(2);