Thanks, how about the attached patch instead? It simplifies things while
implementing the caching.
>From 06667ae6c086f78ca577080f749801b19a5b5011 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Sat, 3 Jan 2015 15:21:54 -0800
Subject: [PATCH] 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
---
ChangeLog | 8 ++++++++
m4/ld-version-script.m4 | 45 ++++++++++++++++++++-------------------------
2 files changed, 28 insertions(+), 25 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ab1f7da..55813e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-03 Paul Eggert <[email protected]>
+
+ 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-02 Ludovic Courtès <[email protected]>
Suggested by Paul Eggert <[email protected]>.
diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4
index f6fe6b8..211d67b 100644
--- a/m4/ld-version-script.m4
+++ b/m4/ld-version-script.m4
@@ -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])
])
--
2.1.0