From: Ralf Wildenhues Date: Sat, 3 Dec 2005 11:52:36 +0000 (+0000) Subject: * tests/convenience.at: Updated to expose more corner cases. X-Git-Tag: release-2-1b~377 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8b078ce1595c76fe0c8aaa46663cb5e145c8818;p=thirdparty%2Flibtool.git * tests/convenience.at: Updated to expose more corner cases. --- diff --git a/ChangeLog b/ChangeLog index d7187b39c..199a08e69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2005-12-03 Ralf Wildenhues + * tests/convenience.at: Updated to expose more corner cases. + * doc/libtool.texi (Invoking libtoolize): Remove mention of the nonrecursive restriction to name the directory `libltdl'. diff --git a/tests/convenience.at b/tests/convenience.at index e2b101ad1..11e7eb704 100644 --- a/tests/convenience.at +++ b/tests/convenience.at @@ -17,184 +17,253 @@ # 02111-1307, USA. # Test that convenience archives work. +# for each TAG, test: +# - adding one or multiple convenience archives +# - with or without additional objects on the cmdline AT_SETUP([C convenience archives]) -echo 'int a(void) { return 1; }' > a.c -echo 'int b(void) { return 2; }' > b.c -echo 'int c(void) { return 3; }' > c.c -AT_DATA(main.c, -[[extern int a(void), b(void), c(void); -int main(void) { return a() + b() + c() != 6; } -]]) - -$LIBTOOL --mode=compile $CC $CFLAGS -c a.c -$LIBTOOL --mode=compile $CC $CFLAGS -c b.c -$LIBTOOL --mode=compile $CC $CFLAGS -c c.c -$LIBTOOL --mode=compile $CC $CFLAGS -c main.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libcee.la c.lo liba.la libb.la -rpath /notexist -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static main.lo libcee.la], +cat >main1.c <main2.c <main3.c < a$i.c + $LIBTOOL --mode=compile $CC $CFLAGS -c main$i.c + $LIBTOOL --mode=compile $CC $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libcee.la], +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], [0],[ignore],[ignore]) -LT_AT_EXEC_CHECK([./main_static]) -LT_AT_EXEC_CHECK([./main]) + +conv= +for i in 1 2 3; do + conv=$conv$i + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./main_static]) + LT_AT_EXEC_CHECK([./main]) +done AT_CLEANUP AT_SETUP([C++ convenience archives]) LT_AT_TAG([CXX]) -echo 'int a(void) { return 1; }' > a.cpp -echo 'int b(void) { return 2; }' > b.cpp -echo 'int c(void) { return 3; }' > c.cpp -AT_DATA(main.cpp, -[[extern int a(void), b(void), c(void); -int main(void) { return a() + b() + c() != 6; } -]]) - -$LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a.cpp -$LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c b.cpp -$LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c c.cpp -$LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main.cpp -$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba.la a.lo -$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o libb.la b.lo -$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o libcee.la c.lo liba.la libb.la -rpath /notexist -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static main.lo libcee.la], +cat >main1.cpp <main2.cpp <main3.cpp < a$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp + $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main main.lo libcee.la], +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], [0],[ignore],[ignore]) -LT_AT_EXEC_CHECK([./main_static]) -LT_AT_EXEC_CHECK([./main]) + +conv= +for i in 1 2 3; do + conv=$conv$i + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./main_static]) + LT_AT_EXEC_CHECK([./main]) +done AT_CLEANUP AT_SETUP([F77 convenience archives]) LT_AT_TAG([F77]) -AT_DATA([a.f], -[[ subroutine a - return +cat >main1.f <main2.f <main3.f <a$i.f <main1.f <main2.f <main3.f <a$i.f <foo1.java <foo2.java <foo3.java <A$i.java <