From: Michael Haubenwallner Date: Fri, 21 Nov 2014 19:03:26 +0000 (+0000) Subject: tests: do not test undef symbols across shlibs on AIX. X-Git-Tag: v2.4.4~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=845ff0b76837a630eb54d23eb66912339b589a65;p=thirdparty%2Flibtool.git 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 --- diff --git a/tests/template.at b/tests/template.at index a5bfcef4b..f40852c4a 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])