gcc/config/ld-symbolic.m4

46 lines
1.7 KiB
Plaintext
Raw Normal View History

dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl Set SYMBOLIC_LDFLAGS to -Bsymbolic-functions for GNU linker if it
dnl is supported.
AC_DEFUN([ACX_PROG_LD_GNU_SYMBOLIC],
[AC_CACHE_CHECK([if the GNU linker ($LD) supports -Bsymbolic-functions],
acl_cv_prog_gnu_ld_symbolic, [
acl_cv_prog_gnu_ld_symbolic=no
AC_REQUIRE([AC_LIB_PROG_LD_GNU])
if test x"$with_gnu_ld" = x"yes"; then
if $LD --help 2>&1 </dev/null | grep Bsymbolic-functions 1>&5; then
acl_cv_prog_gnu_ld_symbolic=yes
fi
fi])
if test x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then
SYMBOLIC_LDFLAGS="-Wl,-Bsymbolic-functions"
else
SYMBOLIC_LDFLAGS=''
fi
])
dnl Set DYNAMIC_LIST_CPP_NEW_LDFLAGS to --dynamic-list-cpp-new for GNU
dnl linker if it is supported.
AC_DEFUN([ACX_PROG_LD_GNU_DYNAMIC_LIST_CPP_NEW],
[AC_CACHE_CHECK([if the GNU linker ($LD) supports --dynamic-list-cpp-new],
acl_cv_prog_gnu_ld_dynamic_list_cpp_new, [
acl_cv_prog_gnu_ld_dynamic_list_cpp_new=no
AC_REQUIRE([ACX_PROG_LD_GNU_SYMBOLIC])
if test x"$with_gnu_ld" = x"yes" -a \
x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then
if $LD --help 2>&1 </dev/null | grep dynamic-list-cpp-new 1>&5; then
acl_cv_prog_gnu_ld_dynamic_list_cpp_new=yes
fi
fi])
if test x"$acl_cv_prog_gnu_ld_dynamic_list_cpp_new" = x"yes"; then
DYNAMIC_LIST_CPP_NEW_LDFLAGS="$SYMBOLIC_LDFLAGS -Wl,--dynamic-list-cpp-new"
else
DYNAMIC_LIST_CPP_NEW_LDFLAGS=''
fi
])