diff --git a/ChangeLog b/ChangeLog index 08bac8a9..21affb58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2001-04-05 Gary V. Vaughan + * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. + * tests/depdemo-dups.test: Removed, as part of the patch + reversion below. + * ltmain.in: Revert my change from 2001-03-31. Although it + was technically correct, it opens a whole can of worms we don't + want to deal with right now. + From Ahmed Masud * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle for self opening. diff --git a/ltmain.in b/ltmain.in index c93aec8e..6d6d215c 100644 --- a/ltmain.in +++ b/ltmain.in @@ -2062,7 +2062,26 @@ compiler." eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do - new_libs="$deplib $new_libs" + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + *) + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac done tmp_libs= for deplib in $new_libs; do diff --git a/tests/Makefile.am b/tests/Makefile.am index 4eb4cb8c..7c410f03 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -5,14 +5,14 @@ AUTOMAKE_OPTIONS = gnits TESTS = cdemo-static.test cdemo-make.test cdemo-exec.test \ demo-static.test demo-make.test demo-exec.test \ demo-inst.test demo-unst.test \ - depdemo-static.test depdemo-make.test depdemo-dups.test \ + depdemo-static.test depdemo-make.test \ depdemo-exec.test depdemo-inst.test depdemo-unst.test \ mdemo-static.test mdemo-make.test mdemo-exec.test \ mdemo-inst.test mdemo-unst.test \ cdemo-conf.test cdemo-make.test cdemo-exec.test \ demo-conf.test demo-make.test demo-exec.test \ demo-inst.test demo-unst.test deplibs.test \ - depdemo-conf.test depdemo-make.test depdemo-dups.test \ + depdemo-conf.test depdemo-make.test \ depdemo-exec.test depdemo-inst.test depdemo-unst.test \ mdemo-conf.test mdemo-make.test mdemo-exec.test \ mdemo-inst.test mdemo-unst.test dryrun.test \ @@ -20,12 +20,12 @@ TESTS = cdemo-static.test cdemo-make.test cdemo-exec.test \ demo-inst.test demo-unst.test \ demo-pic.test demo-make.test demo-exec.test \ demo-nopic.test demo-make.test demo-exec.test \ - depdemo-nofast.test depdemo-make.test depdemo-dups.test \ + depdemo-nofast.test depdemo-make.test \ depdemo-exec.test depdemo-inst.test depdemo-unst.test \ cdemo-shared.test cdemo-make.test cdemo-exec.test \ demo-shared.test demo-make.test demo-exec.test demo-inst.test \ hardcode.test build-relink.test noinst-link.test demo-unst.test \ - depdemo-shared.test depdemo-make.test depdemo-dups.test \ + depdemo-shared.test depdemo-make.test \ depdemo-exec.test depdemo-inst.test build-relink2.test \ depdemo-unst.test \ mdemo-shared.test mdemo-make.test mdemo-exec.test \ diff --git a/tests/depdemo-dups.test b/tests/depdemo-dups.test deleted file mode 100755 index ed527a21..00000000 --- a/tests/depdemo-dups.test +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# depdemo-dups.test - check that duplicate deplibs are not removed - -# Test script header. -need_prefix=no -if test -z "$srcdir"; then - srcdir=`echo "$0" | sed 's%/[^/]*$%%'` - test "$srcdir" = "$0" && srcdir=. - test "${VERBOSE+set}" != "set" && VERBOSE=yes -fi -. $srcdir/defs || exit 1 - -status=: - -# Check that things are built -if test -f ../depdemo/l2/libl2.la; then : -else - echo "You must run depdemo-make.test before $0" 1>&2 - exit 77 -fi - -# Change to our build directory. -cd ../depdemo || exit 1 - -# Try to link with a library, and explicitly name its deplibs -pwd=`pwd` -result=`$libtool -n --mode=link gcc -o something $pwd/l2/libl2.la $pwd/l1/libl1.la` || status=false - -$status || exit 1 - -echo "$result" -case "$result" in -*/libl1.*/libl1.*) ;; -*) - echo "$0: duplicate deplibs should not be removed." - exit 1 - ;; -esac -exit 0