diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-01-03 15:21:54 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-01-04 16:14:23 -0800 |
commit | 498a1b6bc7d70f944ca0f939e1bc470889fdce76 (patch) | |
tree | 75a13f7c9dd0f8d4ad95345f09428b478024177d /m4 | |
parent | d44c524ba7dfa9c0f7e10148e61e8bda9551c52e (diff) | |
download | gnulib-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.m4 | 45 |
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]) ]) |