Use the '-z defs' linker option if supported to better catch undefined

symbols.
This commit is contained in:
Alexandre Julliard 2002-11-21 04:13:35 +00:00
parent 23b88efeeb
commit f2abe47d62
2 changed files with 53 additions and 0 deletions

46
configure vendored
View File

@ -10234,6 +10234,52 @@ echo "${ECHO_T}$ac_cv_c_dll_gnuelf" >&6
then
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
LDDLLFLAGS="-Wl,-Bsymbolic"
echo "$as_me:$LINENO: checking whether the linker accepts -z defs" >&5
echo $ECHO_N "checking whether the linker accepts -z defs... $ECHO_C" >&6
if test "${ac_cv_c_dll_zdefs+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS -fPIC -shared -Wl,-Bsymbolic,-z,defs"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_c_dll_zdefs="yes"
else
echo "$as_me: failed program was:" >&5
cat conftest.$ac_ext >&5
ac_cv_c_dll_zdefs="no"
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
CFLAGS=$ac_wine_try_cflags_saved
fi
echo "$as_me:$LINENO: result: $ac_cv_c_dll_zdefs" >&5
echo "${ECHO_T}$ac_cv_c_dll_zdefs" >&6
if test "$ac_cv_c_dll_zdefs" = "yes"
then
LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
fi
else
echo "$as_me:$LINENO: checking whether we can build a UnixWare (Solaris) dll" >&5
echo $ECHO_N "checking whether we can build a UnixWare (Solaris) dll... $ECHO_C" >&6

View File

@ -793,6 +793,13 @@ case $host_os in
then
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
LDDLLFLAGS="-Wl,-Bsymbolic"
AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
[WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
if test "$ac_cv_c_dll_zdefs" = "yes"
then
LDDLLFLAGS="$LDDLLFLAGS,-z,defs"
fi
else
AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll, ac_cv_c_dll_unixware,
[WINE_TRY_CFLAGS([-fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic],