summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorChristian Persch <chpe@gnome.org>2011-12-11 21:28:25 +0100
committerChristian Persch <chpe@gnome.org>2011-12-11 21:28:25 +0100
commitfb4164470b49e80f5419ec8188b64d23221ea222 (patch)
tree0cf6a61f872fa7498781292d072711923ca9d6f3 /configure.in
parent27108d9d98ec7af7926a6fcd9346f38925ce10fe (diff)
downloadlibcroco-fb4164470b49e80f5419ec8188b64d23221ea222.tar.gz
Use -Bsymbolic-functions when available
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 2f975cd..5edf3a4 100644
--- a/configure.in
+++ b/configure.in
@@ -170,6 +170,32 @@ AC_SUBST(LDFLAGS)
AC_SUBST(CFLAGS)
AC_PROG_MAKE_SET
+
+##########################################################
+# Check for -Bsymbolic-functions linker flag used to avoid
+# intra-library PLT jumps, if available.
+##########################################################
+
+AC_ARG_ENABLE([Bsymbolic],
+ [AS_HELP_STRING([--disable-Bsymbolic],
+ [disable linking with -Bsymbolic])],
+ [],[enable_Bsymbolic=yes])
+
+BSYMBOLIC_LDFLAG=
+if test "$enable_Bsymbolic" != "no"; then
+ CC_CHECK_LDFLAGS(["-Wl,-Bsymbolic-functions"],
+ [BSYMBOLIC_LDFLAG="-Wl,-Bsymbolic-functions"],
+ [if test "$enable_Bsymbolic" = "auto"; then
+ AC_MSG_WARN([-Bsymbolic not supported by ld; disabling])
+ enable_Bsymbolic=no
+ else
+ AC_MSG_ERROR([-Bsymbolic requested but not supported by ld. Use --disable-Bsymbolic to disable])
+ fi])
+fi
+
+AC_SUBST([BSYMBOLIC_LDFLAG])
+
+##########################################
AC_OUTPUT([
Makefile
libcroco.pc