]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
tests: do not test undef symbols across shlibs on AIX.
authorMichael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
Fri, 21 Nov 2014 19:03:26 +0000 (19:03 +0000)
committerGary V. Vaughan <gary@gnu.org>
Fri, 21 Nov 2014 19:04:28 +0000 (19:04 +0000)
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>
tests/template.at

index a5bfcef4bc50c519ecf232f08f5ed4cb71dd78a1..f40852c4acd4aa9aba318dc5190595d0497a8ef2 100644 (file)
@@ -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])