+2011-01-19 Peter O'Gorman <peter@pogma.com>
+
+ Don't let verbose linker messages influence test results.
+ * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore
+ stderr during tests for -flag unless it contains "flag".
+ * tests/darwin.at: Add test.
+ Reported by Jeremy Huddleston and also by David Fang.
+
2011-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> (tiny change)
Fix relink mode to use absolute path if hardcode_minus_L.
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
rm -rf libconftest.dylib*
rm -f conftest.*
fi])
+
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS="$save_LDFLAGS"
])
+
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
[lt_cv_ld_force_load=no
cat > conftest.c << _LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
_lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
# darwin.at - tests specific to Mac OS X
#
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
# Written by Peter O'Gorman, 2008
#
# This file is part of GNU Libtool.
AT_CHECK([grep 'Could not find object file' stderr],[1],[ignore],[ignore])
AT_CLEANUP
+
+AT_SETUP([darwin ld warnings changing configure results])
+
+AT_DATA([configure.ac],
+[[AC_INIT([ld-stderr], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE([foreign])
+AC_PROG_CC
+LT_INIT
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+]])
+
+AT_DATA([Makefile.am],[
+ACLOCAL_AMFLAGS = -I m4
+])
+LT_AT_LIBTOOLIZE([--copy --force])
+LT_AT_AUTORECONF([--force --install])
+LT_AT_CONFIGURE
+AT_CHECK([./libtool --config],[ignore],[stdout],[ignore])
+mv stdout expout
+LT_AT_CONFIGURE([LDFLAGS=-L/there/is/no/dir/here])
+AT_CHECK([./libtool --config],[ignore],[expout],[ignore])
+AT_CLEANUP