aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure27
-rw-r--r--configure.ac18
-rw-r--r--rpkid/Makefile.in2
3 files changed, 45 insertions, 2 deletions
diff --git a/configure b/configure
index 8dac5494..27f74dba 100755
--- a/configure
+++ b/configure
@@ -615,6 +615,7 @@ PYTHON
SORT
AWK
XSLTPROC
+POW_LDFLAGS
LD_STATIC_FLAG
EGREP
GREP
@@ -3714,6 +3715,32 @@ freebsd*) LD_STATIC_FLAG='-static';;
esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler and linker support -Wl,-Bsymbolic" >&5
+$as_echo_n "checking whether compiler and linker support -Wl,-Bsymbolic... " >&6; }
+old_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main (int argc, char *argv[]) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ linker_supports_Bsymbolic=yes
+else
+ linker_supports_Bsymbolic=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $linker_supports_Bsymbolic" >&5
+$as_echo "$linker_supports_Bsymbolic" >&6; }
+LDFLAGS="$old_LDFLAGS"
+unset old_LDFLAGS
+if test $linker_supports_Bsymbolic = yes
+then
+ POW_LDFLAGS='-Wl,-Bsymbolic'
+else
+ POW_LDFLAGS=''
+fi
+
# Extract the first word of "xsltproc", so it can be a program name with args.
set dummy xsltproc; ac_word=$2
diff --git a/configure.ac b/configure.ac
index e88ef987..2158c102 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,9 +74,25 @@ case $host_os in
freebsd*) LD_STATIC_FLAG='-static';;
*) LD_STATIC_FLAG='';;
esac
-
AC_SUBST(LD_STATIC_FLAG)
+AC_MSG_CHECKING([whether compiler and linker support -Wl,-Bsymbolic])
+old_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
+AC_LINK_IFELSE([AC_LANG_SOURCE([[int main (int argc, char *argv[]) { return 0; }]])],
+ [linker_supports_Bsymbolic=yes],
+ [linker_supports_Bsymbolic=no])
+AC_MSG_RESULT([$linker_supports_Bsymbolic])
+LDFLAGS="$old_LDFLAGS"
+unset old_LDFLAGS
+if test $linker_supports_Bsymbolic = yes
+then
+ POW_LDFLAGS='-Wl,-Bsymbolic'
+else
+ POW_LDFLAGS=''
+fi
+AC_SUBST(POW_LDFLAGS)
+
AC_PATH_PROG([XSLTPROC], [xsltproc])
AC_PATH_PROG([AWK], [awk])
AC_PATH_PROG([SORT], [sort])
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in
index 05a845ff..285ce7d9 100644
--- a/rpkid/Makefile.in
+++ b/rpkid/Makefile.in
@@ -9,7 +9,7 @@ SECRET_KEY = @SECRET_KEY@
WEBUSER = @WEBUSER@
CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = @LDFLAGS@ @POW_LDFLAGS@
LIBS = @LIBS@
prefix = @prefix@