summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJavier Jardón <jjardon@gnome.org>2010-07-08 16:18:48 +0200
committerJavier Jardón <jjardon@gnome.org>2010-07-10 02:21:31 +0200
commite4e477161ae617a35528c0659f00284f4c80c372 (patch)
treed669ab32892469a9ca60d606abf0bff383affd18 /configure.ac
parent7e9d384fc029b97d17a8eff5ca0fd329010c770c (diff)
downloadgtk+-e4e477161ae617a35528c0659f00284f4c80c372.tar.gz
Add check for -Bsymbolic-functions linker flag
Based on a Glib patch by Ryan Lortie https://bugzilla.gnome.org/show_bug.cgi?id=623845
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac24
1 files changed, 22 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index e9195ac1f2..5b67a93bd8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1671,10 +1671,30 @@ if test x$gdk_working_wctype = xno; then
gdk_wc="\$gdk_wc
#define GDK_HAVE_BROKEN_WCTYPE 1"
fi
-
-
])
+dnl
+dnl Check for -Bsymbolic-functions linker flag used to avoid
+dnl intra-library PLT jumps, if available.
+dnl
+AC_ARG_ENABLE(Bsymbolic,
+ [AC_HELP_STRING([--disable-Bsymbolic],
+ [avoid linking with -Bsymbolic])],,
+ [SAVED_LDFLAGS="${LDFLAGS}"
+ AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
+ LDFLAGS=-Wl,-Bsymbolic-functions
+ AC_TRY_LINK([], [int main (void) { return 0; }],
+ AC_MSG_RESULT(yes)
+ enable_Bsymbolic=yes,
+ AC_MSG_RESULT(no)
+ enable_Bsymbolic=no)
+ LDFLAGS="${SAVED_LDFLAGS}"])
+
+if test "x${enable_Bsymbolic}" == "xyes"; then
+ GTK_LINK_FLAGS=-Wl,-Bsymbolic-functions
+fi
+AC_SUBST(GTK_LINK_FLAGS)
+
AC_CONFIG_FILES([
config.h.win32
gtk-zip.sh