summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>2014-11-21 19:03:26 +0000
committerGary V. Vaughan <gary@gnu.org>2014-11-21 19:04:28 +0000
commit845ff0b76837a630eb54d23eb66912339b589a65 (patch)
tree19b451ae8e972703aaa5541c514abd097d8c701b /tests
parent8083d2b47b56808a65b1a2435f2c9801fcd4d312 (diff)
downloadlibtool-845ff0b76837a630eb54d23eb66912339b589a65.tar.gz
tests: do not test undef symbols across shlibs on AIX.
On AIX, undefined symbols across shared libraries can work only when the main program explicitly exports those symbols. As this is bad practice anyway and -no-undefined should be preferred, we skip this. * tests/template.at: Skip test with undef syms across libraries on AIX. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/template.at17
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/template.at b/tests/template.at
index a5bfcef4..f40852c4 100644
--- a/tests/template.at
+++ b/tests/template.at
@@ -129,10 +129,12 @@ LT_AT_TAG([CXX])
AT_KEYWORDS([libtool])
noskip=:
+withundef=:
# Mac OS X.
# The linker has issues with this test.
case $host in
*-darwin*) noskip=false ;;
+*-aix*) withundef=false ;;
esac
@@ -243,7 +245,7 @@ AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXE
[0], [ignore], [ignore])
LT_AT_EXEC_CHECK([./sub/main], [ignore])
# lib convenience
-if $noskip; then
+if $noskip && $withundef; then
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo],
[0], [ignore], [ignore])
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la],
@@ -254,11 +256,14 @@ fi
# both installed
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo],
[0], [ignore], [ignore])
-AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar],
- [0], [ignore], [ignore])
-AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la],
- [0], [ignore], [ignore])
-LT_AT_EXEC_CHECK([./sub/main])
+if $withundef; then
+ AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar],
+ [0], [ignore], [ignore])
+ AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la],
+ [0], [ignore], [ignore])
+ LT_AT_EXEC_CHECK([./sub/main])
+fi
+
# both convenience, libb depending on liba
AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo],
[0], [ignore], [ignore])