]> Savannah Git Hosting - gnulib.git/commitdiff
lib-symbol-versions: cache script check
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 3 Jan 2015 23:21:54 +0000 (15:21 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 5 Jan 2015 00:14:23 +0000 (16:14 -0800)
* m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
Cache the check for linker version scripts.
From a suggestion by Christophe Curis in:
http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00011.html

ChangeLog
m4/ld-version-script.m4

index 938e031bed16176aa65b2500226b32f031a47fd6..9f5611d03bf96e6c64dc0f41266090b9c92f2198 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       lib-symbol-versions: cache script check
+       * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
+       Cache the check for linker version scripts.
+       From a suggestion by Christophe Curis in:
+       http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00011.html
+
 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
 
        maint: fix grammar nits in propername (trivial change)
index f6fe6b88e0aa5f418e5868e60a7e078ebe158b7d..211d67b96364d949662d8e5065fe791ab52bebf3 100644 (file)
@@ -1,4 +1,4 @@
-# ld-version-script.m4 serial 3
+# ld-version-script.m4 serial 4
 dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -18,20 +18,18 @@ dnl From Simon Josefsson
 AC_DEFUN([gl_LD_VERSION_SCRIPT],
 [
   AC_ARG_ENABLE([ld-version-script],
-    AS_HELP_STRING([--enable-ld-version-script],
-      [enable linker version script (default is enabled when possible)]),
-      [have_ld_version_script=$enableval], [])
-  if test -z "$have_ld_version_script"; then
-    AC_MSG_CHECKING([if LD -Wl,--version-script works])
-    save_LDFLAGS="$LDFLAGS"
-    LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
-    cat > conftest.map <<EOF
-foo
-EOF
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                   [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
-    if test "$accepts_syntax_errors" = no; then
-      cat > conftest.map <<EOF
+    [AS_HELP_STRING([--enable-ld-version-script],
+       [enable linker version script (default is enabled when possible)])],
+    [have_ld_version_script=$enableval],
+    [AC_CACHE_CHECK([if LD -Wl,--version-script works],
+       [gl_cv_sys_ld_version_script],
+       [gl_cv_sys_ld_version_script=no
+        save_LDFLAGS=$LDFLAGS
+        LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+        echo foo >conftest.map
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+          [],
+          [cat > conftest.map <<EOF
 VERS_1 {
         global: sym;
 };
@@ -40,14 +38,11 @@ VERS_2 {
         global: sym;
 } VERS_1;
 EOF
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                     [have_ld_version_script=yes], [have_ld_version_script=no])
-    else
-      have_ld_version_script=no
-    fi
-    rm -f conftest.map
-    LDFLAGS="$save_LDFLAGS"
-    AC_MSG_RESULT($have_ld_version_script)
-  fi
-  AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
+           AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+             [gl_cv_sys_ld_version_script=yes])])
+        rm -f conftest.map
+        LDFLAGS=$save_LDFLAGS])
+     have_ld_version_script=$gl_cv_sys_ld_version_script])
+  AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT],
+    [test "$have_ld_version_script" = yes])
 ])