Hi Peter, * Peter Rosin wrote on Mon, Aug 30, 2010 at 03:25:30PM CEST: > The archive-in-archive.at test uses ar "blindly". It also assumes that > the "old archive" of libfoo.la is named libfoo.a, but both that's not > portable. See attached patch.
OK with nits below. I don't like that we don't have a decent abstraction for static libraries, but that again is something we *should* fix in Automake not Libtool IMVHO. (I'm not yet quite sure how exactly ...) Thanks, Ralf > --- a/tests/archive-in-archive.at > +++ b/tests/archive-in-archive.at missing copyright year update. > @@ -42,11 +42,15 @@ $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c > -o bar.lo bar.c > $LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ > -o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir > $LIBTOOL --mode=install cp libfoo.la $thisdir > +eval `$EGREP '^(old_library)=' < libfoo.la` > +libfoo=$old_library > AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS > $LDFLAGS \ > - -o libbar.la bar.lo ./libfoo.a -version-info 1:0:0 -rpath $thisdir], > + -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir], > [], [ignore], [ignore]) > AT_CHECK([$LIBTOOL --mode=install cp libbar.la $thisdir], [], [ignore], > [ignore]) > -AT_CHECK([ar -t libbar.a | grep libfoo.a],[1],[ignore],[ignore]) > -archive_contents=`ar -t libbar.a` > -AT_XFAIL_IF([case "$archive_contents" in *"libfoo.a"*) : ;; esac]) > +eval `$EGREP '^(old_library)=' < libbar.la` > +libbar=$old_library > +AT_CHECK([$AR -t $libbar | grep $libfoo],[1],[ignore],[ignore]) How about $FGREP? You' need to extract it from $LIBTOOL though. > +archive_contents=`$AR -t $libbar` > +AT_XFAIL_IF([case "$archive_contents" in *"$libfoo"*) : ;; esac]) This AT_XFAIL_IF it completely bogus at this point. The argument to AT_XFAIL_IF is, yes, surprisingly, evaluated *before* the rest of the test group is started. So all it does is AT_XFAIL_IF([case "$empty_var" in *"$another_empty_var"*) : ;; esac]) Please remove these two lines and instead add AT_XFAIL_IF([:]) dnl This is currently broken at the *beginning* of the test group (so readers are not confused) right after AT_SETUP, and adjust the log entry accordingly. > AT_CLEANUP