From 1cd472b63ba333245e3b97a2f585940bda7f47c2 Mon Sep 17 00:00:00 2001 From: Olaf Flebbe Date: Mon, 24 May 2010 22:32:47 +0200 Subject: [PATCH] add configure test for ld flag --as-needed. A linker bug may break underlinked readline libs. --- source3/configure.in | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/source3/configure.in b/source3/configure.in index 74a2479..fc141f3 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1697,6 +1697,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]) @@ -1710,6 +1711,22 @@ for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do test x"$ld_as_needed_flag_found" = xyes && break done +# check wether a libreadline triggers a bug in ld with --as-needed +# i.e. RHEL5 + +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 -- 1.6.0.2