]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
Build: Use only the generic symbol versioning with NVIDIA HPC Compiler.
authorLasse Collin <lasse.collin@tukaani.org>
Fri, 15 Mar 2024 15:15:50 +0000 (17:15 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Fri, 15 Mar 2024 16:04:10 +0000 (18:04 +0200)
This does the previous commit with CMake.

AC_EGREP_CPP uses AC_REQUIRE so the outermost if-commands must
be changed to AS_IF to ensure that things wont break some day.
See 5a5bd7f871818029d5ccbe189f087f591258c294.

configure.ac

index 7ab0e187fa73d219474f908d5433cf4394b53f0e..f7d3de0bb0a216132530aed2218fd84b27b81b7f 100644 (file)
@@ -709,13 +709,13 @@ fi
 # --with-pic and --without-pic though. As long as neither --with-pic nor
 # --without-pic is used then we can use #ifdef PIC to detect if the file is
 # being built for a shared library.
-if test "x$enable_symbol_versions" = xno ; then
+AS_IF([test "x$enable_symbol_versions" = xno], [
        enable_symbol_versions=no
        AC_MSG_RESULT([no])
-elif test "x$enable_shared" = xno ; then
+], [test "x$enable_shared" = xno], [
        enable_symbol_versions=no
        AC_MSG_RESULT([no (not building a shared library)])
-else
+], [
        # "yes" means that symbol version are to be used but we need to
        # autodetect which variant to use.
        if test "x$enable_symbol_versions" = xyes ; then
@@ -730,7 +730,15 @@ else
                                enable_symbol_versions=generic
                                ;;
                        *-linux*)
-                               enable_symbol_versions=linux
+                               # NVIDIA HPC Compiler doesn't support symbol
+                               # versioning but the linker script can still
+                               # be used.
+                               AC_EGREP_CPP([use_generic_symbol_versioning],
+                                       [#ifdef __NVCOMPILER
+                                       use_generic_symbol_versioning
+                                       #endif],
+                                       [enable_symbol_versions=generic],
+                                       [enable_symbol_versions=linux])
                                ;;
                        *)
                                enable_symbol_versions=generic
@@ -774,7 +782,7 @@ else
                AC_MSG_ERROR([unknown symbol versioning variant '$enable_symbol_versions'])
        fi
        AC_MSG_RESULT([yes ($enable_symbol_versions)])
-fi
+])
 
 AM_CONDITIONAL([COND_SYMVERS_LINUX],
        [test "x$enable_symbol_versions" = xlinux])