summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-01-03 15:21:54 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2015-01-04 16:14:23 -0800
commit498a1b6bc7d70f944ca0f939e1bc470889fdce76 (patch)
tree75a13f7c9dd0f8d4ad95345f09428b478024177d /m4
parentd44c524ba7dfa9c0f7e10148e61e8bda9551c52e (diff)
downloadgnulib-498a1b6bc7d70f944ca0f939e1bc470889fdce76.tar.gz
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
Diffstat (limited to 'm4')
-rw-r--r--m4/ld-version-script.m445
1 files changed, 20 insertions, 25 deletions
diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4
index f6fe6b88e0..211d67b963 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])
])