123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # ld-version-script.m4 serial 3
- dnl Copyright (C) 2008-2012 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([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
- 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
- AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
- ])
|