-
Notifications
You must be signed in to change notification settings - Fork 4
/
ld-symbolic.m4
45 lines (43 loc) · 1.7 KB
/
ld-symbolic.m4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
])