]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* tests/dryrun.test: We cannot rely on setting LIBTOOL, because
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 7 Apr 1999 00:33:38 +0000 (00:33 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Wed, 7 Apr 1999 00:33:38 +0000 (00:33 +0000)
automake may use sub-makes, and the setting will not be propagated
to them on some makes.  Instead, create a dry version of libtool
and switch between it and the original one before and after dry
runs.
* tests/Makefile.am (CLEANFILES): Added libtool-*, created by
dryrun.test.

ChangeLog
tests/Makefile.am
tests/dryrun.test

index 91da56a4153b9c91b0bf5183fcf95726a137db68..d691cd791d127ed30b12eba3104a8aa343d9ff5b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 1999-04-06  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
+       * tests/dryrun.test: We cannot rely on setting LIBTOOL, because
+       automake may use sub-makes, and the setting will not be propagated
+       to them on some makes.  Instead, create a dry version of libtool
+       and switch between it and the original one before and after dry
+       runs.
+       * tests/Makefile.am (CLEANFILES): Added libtool-*, created by
+       dryrun.test.
+
        * tests/dryrun.test: Use cmp instead of diff.
        (before, after): Create them within ../tests.
        (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, 
index dac35b836ced4f42d99eff9ed36dd3f3fe1ae70b..9f88de0498e893c722c0b770b64dab01f4593687 100644 (file)
@@ -40,7 +40,7 @@ TESTS_ENVIRONMENT = CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
 
 EXTRA_DIST = defs $(TESTS)
 
-CLEANFILES = before after # created by dryrun.test
+CLEANFILES = before after libtool-* # created by dryrun.test
 
 # We need to remove any files that the above tests created.
 clean-local:
index c1c56943f310cafdbafb155f34d48b0d550fff62..58d2abd989d11ce79d969538198dfa1cd73c204a 100755 (executable)
@@ -21,35 +21,51 @@ cd ../mdemo || exit 1
 
 before=../tests/before
 after=../tests/after
-libtool=${LIBTOOL-${SHELL-/bin/sh}\ ${top_builddir-.}/libtool}
+normal=../tests/libtool-normal
+dry=../tests/libtool-dry
+stat=
 
 echo "= Running $make clean in ../mdemo"
 $make clean || exit 1
 
 $make main.o || exit 1
-mkdir .libs
-rm -f $before $after
+
+eval `$libtool --config | grep "^objdir="`
+
+mkdir $objdir
+rm -f $before $after $normal $dry
+sed 's/run=/run=:/' < libtool > $dry
+chmod +x $dry
 
 echo "= Making object files in ../mdemo"
-ls -l . .libs > $before
-$make LIBTOOL="$libtool -n" foo1.lo foo2.lo || exit 1
-ls -l . .libs > $after
+ls -l . $objdir > $before
+mv libtool $normal && mv $dry libtool
+$make foo1.lo foo2.lo || stat=$?
+mv libtool $dry && mv $normal libtool
+test -n "$stat" && exit $stat
+ls -l . $objdir > $after
 cmp $before $after > /dev/null || exit 1
 # Now really make them
 $make foo1.lo foo2.lo || exit 1
 
 echo "= Making libraries in ../mdemo"
-ls -l . .libs > $before
-$make LIBTOOL="$libtool -n" foo1.la libfoo2.la || exit 1
-ls -l . .libs > $after
+ls -l . $objdir > $before
+mv libtool $normal && mv $dry libtool
+$make foo1.la libfoo2.la || stat=$?
+mv libtool $dry && mv $normal libtool
+test -n "$stat" && exit $stat
+ls -l . $objdir > $after
 cmp $before $after > /dev/null || exit 1
 # Now really make them
 $make foo1.la libfoo2.la || exit 1
 
 echo "= Making programs in ../mdemo"
-ls -l . .libs > $before
-$make LIBTOOL="$libtool -n" mdemo mdemo.static || exit 1
-ls -l . .libs > $after
+ls -l . $objdir > $before
+mv libtool $normal && mv $dry libtool
+$make mdemo mdemo.static || stat=$?
+mv libtool $dry && mv $normal libtool
+test -n "$stat" && exit $stat
+ls -l . $objdir > $after
 cmp $before $after > /dev/null || exit 1
 # Now really make them
 $make mdemo mdemo.static || exit 1
@@ -58,31 +74,37 @@ echo "= Running $make install in ../mdemo"
 # Libtool does not create these directories
 mkdir $prefix/bin
 mkdir $prefix/lib
-ls -l . .libs > $before
+ls -l . $objdir > $before
 ls -lR $prefix >> $before
-$make LIBTOOL="$libtool -n" install || exit 1
-ls -l . .libs > $after
+mv libtool $normal && mv $dry libtool
+$make install || stat=$?
+mv libtool $dry && mv $normal libtool
+test -n "$stat" && exit $stat
+ls -l . $objdir > $after
 ls -lR $prefix >> $after
 cmp $before $after > /dev/null || exit 1
 # Now really run it
 $make install || exit 1
 
 echo "= Running $make uninstall in ../mdemo"
-ls -l . .libs > $before
+ls -l . $objdir > $before
 ls -lR $prefix >> $before
 # Libtool does not uninstall the programs, save them
 cp $prefix/bin/mdemo mdemo.sav
 cp $prefix/bin/mdemo.static mdemo.static.sav
-$make LIBTOOL="$libtool -n" uninstall || exit 1
+mv libtool $normal && mv $dry libtool
+$make uninstall || stat=$?
+mv libtool $dry && mv $normal libtool
+test -n "$stat" && exit $stat
 # Restore them
 mv mdemo.sav $prefix/bin/mdemo
 mv mdemo.static.sav $prefix/bin/mdemo.static
-ls -l . .libs > $after
+ls -l . $objdir > $after
 ls -lR $prefix >> $after
 cmp $before $after > /dev/null || exit 1
 # Now really run it
 $make uninstall || exit 1
 
-rm -f $before $after
+rm -f $before $after $dry
 
 exit 0