summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlaf Flebbe <o.flebbe@science-computing.de>2010-05-25 13:22:56 +0200
committerSimo Sorce <idra@samba.org>2010-06-11 16:07:50 -0400
commit7aa8af144efc6d57f33b90ac856096aa7089468d (patch)
tree482ae60553641a0636073309fe14edf813c8c419
parentc65eb4852c2c401149b840884e76a21ff7cd37c7 (diff)
downloadsamba-7aa8af144efc6d57f33b90ac856096aa7089468d.tar.gz
samba-7aa8af144efc6d57f33b90ac856096aa7089468d.tar.bz2
samba-7aa8af144efc6d57f33b90ac856096aa7089468d.zip
check if LD_AS_NEEDED breaks linking with libreadline fixes #7209
Signed-off-by: Simo Sorce <idra@samba.org>
-rw-r--r--source3/configure.in20
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 3f04136fba..c3b594d55d 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1800,6 +1800,7 @@ fi
AC_MSG_RESULT($BLDSHARED)
+saved_before_as_needed_ldflags="$LDFLAGS"
for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
saved_ldflags="$LDFLAGS"
AC_MSG_CHECKING([if $flags works])
@@ -1813,6 +1814,25 @@ for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
test x"$ld_as_needed_flag_found" = xyes && break
done
+# check if we have to disable LD_AS_NEEDED_FLAG:
+# On some systems for a veriety of reasons linking with
+# -Wl,--as-needed -lreadline -lncurses fails
+# we have to retest, if these combination is detected before.
+# Bugzilla #7209
+
+if test x$ac_cv_lib_readline_rl_callback_handler_install = xyes ; then
+ if test x$ld_as_needed_flag_found = xyes ; then
+ AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG works with readline])
+ # try if check no fails
+ save_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+ AC_TRY_LINK([], [rl_callback_handler_install();], [AC_MSG_RESULT([yes])],[ AC_MSG_RESULT([no]); LDFLAGS="$saved_before_as_needed_ldflags"])
+ LIBS="$save_LIBS"
+ fi
+fi
+
+
+
# for historical reasons almost all linkers don't complain about unresolved
# symbols in shared libs. Except for the internal samba modules we want to get
# errors when we produce a shared lib with unresolved symbols. On some