diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-11-24 14:02:25 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2014-12-06 21:29:18 +0100 |
commit | d1c1ebd928aec5001a6b4fcac67f93169747e15c (patch) | |
tree | 7402aec2acbf4216eac34a8ebf9a27814fe61a36 /aclocal.m4 | |
parent | fccdf01b7b6f2c03e7f04db75006797fccc073f0 (diff) | |
download | nettle-d1c1ebd928aec5001a6b4fcac67f93169747e15c.tar.gz |
Added symbol versioning for nettle and hogweed
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'aclocal.m4')
-rw-r--r-- | aclocal.m4 | 59 |
1 files changed, 59 insertions, 0 deletions
@@ -1211,3 +1211,62 @@ ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" ac_cv_type_intmax_t="$ac_cv_type_intmax_t" ]) ]) + +# ld-version-script.m4 serial 3 +dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# FIXME: The test below returns a false positive for mingw +# cross-compiles, 'local:' statements does not reduce number of +# exported symbols in a DLL. Use --disable-ld-version-script to work +# around the problem. + +# gl_LD_VERSION_SCRIPT +# -------------------- +# Check if LD supports linker scripts, and define automake conditional +# HAVE_LD_VERSION_SCRIPT if so. +AC_DEFUN([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 +VERS_1 { + global: sym; +}; + +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 + if test "$have_ld_version_script" = "yes";then + EXTRA_LINKER_FLAGS="-Wl,--version-script=\$(srcdir)/libnettle.map" + AC_SUBST(EXTRA_LINKER_FLAGS) + EXTRA_HOGWEED_LINKER_FLAGS="-Wl,--version-script=\$(srcdir)/libhogweed.map" + AC_SUBST(EXTRA_HOGWEED_LINKER_FLAGS) + fi +]) |