]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
*** empty log message ***
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 20 Jan 1999 18:27:42 +0000 (18:27 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 20 Jan 1999 18:27:42 +0000 (18:27 +0000)
mail/ild.diff [new file with mode: 0644]

diff --git a/mail/ild.diff b/mail/ild.diff
new file mode 100644 (file)
index 0000000..df36c5e
--- /dev/null
@@ -0,0 +1,893 @@
+diff -ruNd libtool/Makefile.am libtool.new/Makefile.am
+--- libtool/Makefile.am        Tue Jan  5 19:15:23 1999
++++ libtool.new/Makefile.am    Sun Jan 10 15:38:50 1999
+@@ -2,7 +2,7 @@
+ ## Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+ AUTOMAKE_OPTIONS = gnits
+ SUBDIRS = . doc tests
+-DIST_SUBDIRS = $(SUBDIRS) demo libltdl mdemo
++DIST_SUBDIRS = $(SUBDIRS) demo depdemo libltdl mdemo
+ # We need to export these variables when we run ltconfig.
+ CFLAGS = @CFLAGS@
+@@ -62,6 +62,7 @@
+ ACINCLUDE_M4_LIST = \
+       $(srcdir)/acinclude.m4 \
+       $(srcdir)/demo/acinclude.m4 \
++      $(srcdir)/depdemo/acinclude.m4 \
+       $(srcdir)/libltdl/acinclude.m4 \
+       $(srcdir)/mdemo/acinclude.m4
+diff -ruNd libtool/demo/Makefile.am libtool.new/demo/Makefile.am
+--- libtool/demo/Makefile.am   Sat Jan  9 10:51:42 1999
++++ libtool.new/demo/Makefile.am       Sun Jan 10 15:38:50 1999
+@@ -24,11 +24,11 @@
+ # Build hell from main.c and libhello.la
+ hell_SOURCES = main.c
+-hell_LDADD = libhello.la
++hell_LDADD = -lhello
+ # Create an easier-to-debug version of hell.
+ hell_debug_SOURCES = main.c
+-hell_debug_LDADD = libhello.la
++hell_debug_LDADD = -lhello
+ hell_debug_LDFLAGS = -static
+ if BINARY_HELLDL
+diff -ruNd libtool/depdemo/Makefile.am libtool.new/depdemo/Makefile.am
+--- libtool/depdemo/Makefile.am        Sat Jan  9 10:51:43 1999
++++ libtool.new/depdemo/Makefile.am    Sun Jan 10 15:38:50 1999
+@@ -5,21 +5,20 @@
+ lib_LTLIBRARIES = libl1.la libl2.la libl3.la libl4.la
+ libl1_la_SOURCES = l1.c l1.h sysdep.h
+ libl2_la_SOURCES = l2.c l2.h sysdep.h
+-libl2_la_LIBADD = libl1.la
++libl2_la_LDFLAGS = -ll1
+ libl3_la_SOURCES = l3.c l3.h sysdep.h
+-libl3_la_LIBADD = libl1.la libl2.la
++libl3_la_LDFLAGS = -ll1 -ll2
+ libl4_la_SOURCES = l4.c l4.h sysdep.h
+-libl4_la_LIBADD = libl3.la $(LIBADD_M)
+-
+-bin_PROGRAMS = depdemo depdemo.static
++libl4_la_LDFLAGS = -ll3 $(LIBADD_M)
+-depdemo_SOURCES = main.c
+-depdemo_LDADD = libl1.la libl2.la libl4.la \
+-              libl3.la # remove this!
+-depdemo_DEPENDENCIES = libl1.la libl2.la libl4.la
++bin_PROGRAMS = depdemo.static depdemo
+ depdemo_static_SOURCES = main.c
+-depdemo_static_LDADD = libl1.la libl2.la libl4.la \
+-              libl3.la # remove this!
++depdemo_static_LDADD = -ll1 -ll2 -ll4
+ depdemo_static_DEPENDENCIES = libl1.la libl2.la libl4.la
+ depdemo_static_LDFLAGS = -static
++
++depdemo_SOURCES = main.c
++depdemo_LDADD = -ll1 -ll2 -ll4
++depdemo_DEPENDENCIES = libl1.la libl2.la libl4.la
++
+diff -ruNd libtool/ltmain.in libtool.new/ltmain.in
+--- libtool/ltmain.in  Sun Jan 10 11:16:15 1999
++++ libtool.new/ltmain.in      Sun Jan 10 15:38:50 1999
+@@ -611,7 +611,6 @@
+     convenience=
+     old_convenience=
+     deplibs=
+-    eval lib_search_path=\"$sys_lib_search_path\"
+     
+     avoid_versioning=no
+     dlfiles=
+@@ -760,13 +759,18 @@
+       -L*)
+       dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
++      # We need an absolute path.
+       case "$dir" in
+       /* | [A-Za-z]:[/\\]*)
+         # Add the corresponding hardcode_libdir_flag, if it is not identical.
+         ;;
+       *)
+-        $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
+-        exit 1
++        absdir=`cd "$dir" && pwd`
++        if test -z "$absdir"; then
++          $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
++          exit 1
++        fi
++        arg="-L$absdir"
+         ;;
+       esac
+       deplibs="$deplibs $arg"
+@@ -783,11 +787,13 @@
+         fi
+         ;;
+       esac
++      continue
+       ;;
+       -l*)
+       deplibs="$deplibs $arg"
+       compile_dependencylibs="$compile_dependencylibs $arg"
++      continue
+       ;;
+       -module)
+@@ -889,6 +895,7 @@
+       # it will not redefine variable installed.
+       installed=yes
++      # Read in the .la file
+       # If there is no directory component, then add one.
+       case "$arg" in
+       */* | *\\*) . $arg ;;
+@@ -938,10 +945,7 @@
+           # we need to preload.
+           prev=dlprefiles
+         else
+-          # We should not create a dependency on this library, but we
+-          # may need any libraries it requires.
+-          compile_command="$compile_command$dependency_libs"
+-          finalize_command="$finalize_command$dependency_libs"
++          # We should not create a dependency on this library
+           prev=
+           continue
+         fi
+@@ -957,155 +961,28 @@
+           dlprefiles="$dlprefiles $dir/$linklib"
+         fi
+         prev=
++      else
++        # FIXME: remove this sometime in the future.
++        $echo "$modename: linking against .la files is obsolete" 1>&2
+       fi
+-
+-      if test "$build_libtool_libs" = yes && test -n "$library_names"; then
+-        link_against_libtool_libs="$link_against_libtool_libs $arg"
+-        if test -n "$shlibpath_var"; then
+-          # Make sure the rpath contains only unique directories.
+-          case "$temp_rpath " in
+-          *" $dir "*) ;;
+-          *) temp_rpath="$temp_rpath $dir" ;;
+-          esac
+-        fi
+-
+-        # This is the magic to use -rpath.
+-        if test -n "$hardcode_libdir_flag_spec"; then
+-          if test -n "$hardcode_libdir_separator"; then
+-            if test -z "$hardcode_libdirs"; then
+-              # Put the magic libdir with the hardcode flag.
+-              hardcode_libdirs="$libdir"
+-              libdir="@HARDCODE_LIBDIRS@"
+-            else
+-              # Just accumulate the unique libdirs.
+-              case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+-              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+-                ;;
+-              *)
+-                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+-                ;;
+-              esac
+-              libdir=
+-            fi
+-          fi
+-
+-          if test -n "$libdir"; then
+-            eval flag=\"$hardcode_libdir_flag_spec\"
+-
+-            compile_command="$compile_command $flag"
+-            finalize_command="$finalize_command $flag"
+-          fi
+-        elif test -n "$runpath_var"; then
+-          # Do the same for the permanent run path.
+-          case "$perm_rpath " in
+-          *" $libdir "*) ;;
+-          *) perm_rpath="$perm_rpath $libdir" ;;
+-          esac
+-        fi
+-
+-
+-        lib_linked=yes
+-        case "$hardcode_action" in
+-        immediate | unsupported)
+-          if test "$hardcode_direct" = no; then
+-            compile_command="$compile_command $dir/$linklib"
+-            case "$host" in
+-            *-*-cygwin32* | *-*-mingw32* | *-*-os2*)
+-              compile_dependencylibs="$compile_dependencylibs -L$dir -l$name"
+-              dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
+-              if test -n "$dllsearchpath"; then
+-                dllsearchpath="$dllsearchpath:$dllsearchdir"
+-              else
+-                dllsearchpath="$dllsearchdir"
+-              fi
+-              ;;
+-            esac
+-          elif test "$hardcode_minus_L" = no; then
+-            case "$host" in
+-            *-*-sunos*)
+-              compile_shlibpath="$compile_shlibpath$dir:"
+-              ;;
+-            esac
+-            compile_command="$compile_command -L$dir -l$name"
+-          elif test "$hardcode_shlibpath_var" = no; then
+-            compile_shlibpath="$compile_shlibpath$dir:"
+-            compile_command="$compile_command -l$name"
+-          else
+-            lib_linked=no
+-          fi
+-          ;;
+-
+-        relink)
+-          # We need an absolute path.
+-          case "$dir" in
+-          /* | [A-Za-z]:[/\\]*) ;;
+-          *)
+-            absdir=`cd "$dir" && pwd`
+-            if test -z "$absdir"; then
+-              $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+-              exit 1
+-            fi
+-            dir="$absdir"
+-            ;;
+-          esac
+-
+-          if test "$hardcode_direct" = yes; then
+-            compile_command="$compile_command $dir/$linklib"
+-          elif test "$hardcode_minus_L" = yes; then
+-            compile_command="$compile_command -L$dir -l$name"
+-          elif test "$hardcode_shlibpath_var" = yes; then
+-            compile_shlibpath="$compile_shlibpath$dir:"
+-            compile_command="$compile_command -l$name"
+-          else
+-            lib_linked=no
+-          fi
+-          ;;
+-
++ 
++      dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
++      if test "X$dir" != "X$arg"; then
++        # We need an absolute path.
++        case "$dir" in
++        /* | [A-Za-z]:[/\\]*) ;;
+         *)
+-          lib_linked=no
++          dir=`cd "$dir" && pwd`
++          if test -z "$dir"; then
++            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
++            exit 1
++          fi
+           ;;
+         esac
+-
+-        if test "$lib_linked" != yes; then
+-          $echo "$modename: configuration error: unsupported hardcode properties"
+-          exit 1
+-        fi
+-
+-        # Finalize command for both is simple: just hardcode it.
+-        if test "$hardcode_direct" = yes; then
+-          finalize_command="$finalize_command $libdir/$linklib"
+-        elif test "$hardcode_minus_L" = yes; then
+-          finalize_command="$finalize_command -L$libdir -l$name"
+-        elif test "$hardcode_shlibpath_var" = yes; then
+-          finalize_shlibpath="$finalize_shlibpath$libdir:"
+-          finalize_command="$finalize_command -l$name"
+-        else
+-          # We cannot seem to hardcode it, guess we'll fake it.
+-          finalize_command="$finalize_command -L$libdir -l$name"
+-        fi
+-      else
+-        # Transform directly to old archives if we don't build new libraries.
+-        if test -n "$pic_flag" && test -z "$old_library"; then
+-          $echo "$modename: cannot find static library for \`$arg'" 1>&2
+-          exit 1
+-        fi
+-
+-        # Here we assume that one of hardcode_direct or hardcode_minus_L
+-        # is not unsupported.  This is valid on all known static and
+-        # shared platforms.
+-        if test "$hardcode_direct" != unsupported; then
+-          test -n "$old_library" && linklib="$old_library"
+-          compile_command="$compile_command $dir/$linklib"
+-          finalize_command="$finalize_command $dir/$linklib"
+-        else
+-          compile_command="$compile_command -L$dir -l$name"
+-          finalize_command="$finalize_command -L$dir -l$name"
+-        fi
+-      fi
+-
+-      # Add in any libraries that this one depends upon.
+-      compile_command="$compile_command$dependency_libs"
+-      finalize_command="$finalize_command$dependency_libs"
++        deplibs="$deplibs -L$dir"
++      fi 
++      # FIXME: this will fail for modules without a 'lib' prefix!
++      deplibs="$deplibs -l$name"
+       continue
+       ;;
+@@ -1145,6 +1022,25 @@
+     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+     libobjs_save="$libobjs"
++    # Make sure deplibs and lib_search_path contain
++    # only unique libraries and directories.
++    lib_search_path=`pwd`
++    newdeplibs=
++    for deplib in $deplibs; do
++      case "$newdeplibs " in
++      *" $deplib "*) ;;
++      *)
++      newdeplibs="$newdeplibs $deplib"
++      dir="`expr $deplib : '-L\(.*\)'`"
++      # If this is a -L argument add it to lib_search_path
++      test -n "$dir" && lib_search_path="$lib_search_path $dir"
++      ;;
++      esac
++    done
++    deplibs="$newdeplibs"
++    eval sys_search_path=\"$sys_lib_search_path\"
++    lib_search_path="$lib_search_path $sys_search_path"
++
+     case "$output" in
+     "")
+       $echo "$modename: you must specify an output file" 1>&2
+@@ -1401,7 +1297,6 @@
+         allow_undefined_flag="$no_undefined_flag"
+       fi
+-      dependency_libs="$deplibs"
+       case "$host" in
+       *-*-cygwin32* | *-*-mingw32* | *-*-os2*)
+         # these systems don't actually have a c library (as such)!
+@@ -1434,6 +1329,206 @@
+       oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+       fi
++      # Save some variables
++      dlname_save=$dlname
++      libdir_save=$libdir
++      library_names_save=$library_names
++      old_library_save=$old_library
++      name_save=$name
++      libname_save=$libname
++      release_save=$release
++      versuffix_save=$versuffix
++      major_save=$major
++       
++      # Find libtool libraries and add their dependencies and directories
++      newdeplibs=      # libraries to link (uninstalled library)
++      inst_deplibs=    # libraries to link (installed library)
++      alldeplibs=      # all dependency libraries (uninstalled library)
++      inst_alldeplibs= # all dependency libraries (installed library)
++      remove_path=     # paths that contain uninstalled libtool libraries
++      new_lib_search_path=
++      for deplib in $deplibs; do
++      newdeplibs="$newdeplibs $deplib"
++      inst_deplibs="$inst_deplibs $deplib"
++      alldeplibs="$alldeplibs $deplib"
++      inst_alldeplibs="$inst_alldeplibs $deplib"
++      found=
++      name="`expr $deplib : '-l\(.*\)'`"
++      # If $name is empty we are operating on a -L argument.
++      if test -n "$name"; then
++        libname=`eval \\$echo \"$libname_spec\"`
++        for searchdir in $lib_search_path; do
++          # Search the libtool library
++          if test -f "$searchdir/$libname.la"; then
++            lib="$searchdir/$libname.la"
++            dlname=
++            libdir=
++            library_names=
++            old_library=
++            inst_dependency_libs=
++
++            # Check to see that this really is a libtool archive.
++            if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++            else
++              $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
++              exit 1
++            fi
++
++            # If the library was installed with an old release of libtool,
++            # it will not redefine variable installed.
++            installed=yes
++
++            # Read in the .la file
++            . $lib
++
++            # Get the name of the library we link against.
++            linklib=
++            for l in $old_library $library_names; do
++              linklib="$l"
++            done
++
++            if test -z "$linklib"; then
++              $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
++              exit 1
++            fi
++
++            if test "$build_libtool_libs" = yes; then
++              if test -z "$library_names" && test "$deplibs_check_method" != pass_all; then
++                echo
++                echo "*** Warning: This library needs some functionality provided by $libname."
++                echo "*** I have the capability to make that library automatically link in when"
++                echo "*** you link to this library.  But I can only do this if you have a"
++                echo "*** shared version of the library, which you do not appear to have."
++                break
++              fi
++              ############################
++              # TODO: hardcode libraries
++              ############################          
++            fi
++            
++            if test "X$installed" = Xyes; then
++              dir="$libdir"
++            else
++              dir="$searchdir/$objdir"
++              # Remove this search path later
++              remove_path="$remove_path $searchdir"
++            fi
++
++            # Link against this library
++            newdeplibs="$newdeplibs -L$dir"
++            alldeplibs="$alldeplibs -L$dir $dependency_libs"
++            new_lib_search_path="$new_lib_search_path $dir"
++            
++            case " $sys_search_path " in 
++            *" $libdir "*) ;;
++            *)
++              # Add path only if it isn't a system search path
++              inst_deplibs="$inst_deplibs -L$libdir"
++              inst_alldeplibs="$inst_alldeplibs -L$libdir"
++              ;;
++            esac
++
++            # Set to dependency_libs if not defined
++            test -z "$inst_dependency_libs" && inst_dependency_libs="$dependency_libs"
++            inst_alldeplibs="$inst_alldeplibs $inst_dependency_libs"
++
++            found=yes
++            break
++          fi
++        done
++        if test -z "$found"; then
++          # Not a libtool library
++          $echo "$deplib is a not libtool library"
++        else
++          $echo "$deplib is a libtool library"
++        fi
++      else
++        $echo "$deplib is a directory"
++        new_lib_search_path="$new_lib_search_path `expr $deplib : '-L\(.*\)'`"
++      fi
++      done
++
++      # Make sure lib_search_path contains only unique directories.
++      lib_search_path=
++      for dir in $new_lib_search_path; do
++      case "$lib_search_path " in
++      *" $dir "*) ;;
++      *) lib_search_path="$lib_search_path $dir" ;;
++      esac
++      done
++      lib_search_path="$lib_search_path $sys_search_path"
++      
++      # Make sure deplibs contains only unique libraries and directories.
++      deplibs=
++      for deplib in $newdeplibs; do
++      case "$deplibs " in
++      *" $deplib "*) ;;
++      *) deplibs="$deplibs $deplib" ;;
++      esac
++      done
++      
++      # Make sure inst_deplibs contains only unique libraries and directories.
++      newinst_deplibs=
++      for deplib in $inst_deplibs; do
++      case "$newinst_deplibs " in
++      *" $deplib "*) ;;
++      *) newinst_deplibs="$newinst_deplibs $deplib" ;;
++      esac
++      done
++      inst_deplibs=$newinst_deplibs
++      
++      # Make sure alldeplibs contains only unique libraries and directories.
++      newalldeplibs=
++      for deplib in $alldeplibs; do
++      case "$newalldeplibs " in
++      *" $deplib "*) ;;
++      *) newalldeplibs="$newalldeplibs $deplib" ;;
++      esac
++      done
++      alldeplibs=$newalldeplibs
++      
++      # Make sure inst_alldeplibs contains only unique libraries and directories.
++      newinst_alldeplibs=
++      for deplib in $inst_alldeplibs; do
++      case "$newinst_alldeplibs " in
++      *" $deplib "*) ;;
++      *) newinst_alldeplibs="$newinst_alldeplibs $deplib" ;;
++      esac
++      done
++      inst_alldeplibs=$newinst_alldeplibs
++
++      # Eliminate all temporary directories.
++      for path in $remove_path; do
++      lib_search_path=`echo "$lib_search_path" | sed -e 's% $path % %g'`
++      deplibs=`echo "$deplibs" | sed -e 's% -L$path % %g'`
++      inst_deplibs=`echo "$inst_deplibs" | sed -e 's% -L$path % %g'`
++      alldeplibs=`echo "$alldeplibs" | sed -e 's% -L$path % %g'`
++      inst_alldeplibs=`echo "$inst_alldeplibs" | sed -e 's% -L$path % %g'`
++      done
++      
++      $echo "noinst deplibs:     $deplibs"
++      $echo "inst deplibs:       $inst_deplibs"
++      $echo "noinst all deplibs: $alldeplibs"
++      $echo "inst all deplibs:   $inst_alldeplibs"
++      $echo "search path:       '$lib_search_path'"
++
++      if test -n "$rpath"; then
++      # Building not a libtool convenience library.
++      dependency_libs="$alldeplibs"
++      inst_dependency_libs="$inst_alldeplibs"
++      fi
++
++      # Restore the variables
++      versuffix=$versuffix_save
++      major=$major_save
++      release=$release_save
++      libname=$libname_save
++      name=$name_save
++      old_library=$old_library_save
++      library_names=$library_names_save
++      libdir=$libdir_save
++      dlname=$dlname_save
++
+       if test "$build_libtool_libs" = yes; then
+       # Transform deplibs into only deplibs that can be linked in shared.
+       ## Gordon: Do you check for the existence of the libraries in deplibs
+@@ -1777,6 +1872,294 @@
+       $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+       fi
++      $echo "old deplibs: $deplibs"
++      $echo "search path: $lib_search_path"
++
++      # Find libtool libraries and add their dependencies/rpaths
++      newdeplibs=
++      for deplib in $deplibs; do
++      newdeplibs="$newdeplibs $deplib"
++      name="`expr $deplib : '-l\(.*\)'`"
++      # If $name is empty we are operating on a -L argument.
++      if test -n "$name"; then
++        libname=`eval \\$echo \"$libname_spec\"`
++        for searchdir in $lib_search_path; do
++          if test -f "$searchdir/$libname.la"; then
++            lib="$searchdir/$libname.la"
++            dlname=
++            libdir=
++            library_names=
++            old_library=
++            inst_dependency_libs=
++
++            # Check to see that this really is a libtool archive.
++            if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++            else
++              $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
++              exit 1
++            fi
++
++            # Read in the .la file
++            # If there is no directory component, then add one.
++            . $lib
++
++            if test "$build_libtool_libs" = no || test "$deplibs_check_method" = none; then
++              # Add in any libraries that this one depends upon.
++              newdeplibs="$newdeplibs$dependency_libs"
++            fi
++
++            break
++          fi
++        done
++      fi
++      done
++      
++      # Make sure deplibs contains only unique libraries and directories.
++      deplibs=
++      for deplib in $newdeplibs; do
++      case "$deplibs " in
++      *" $deplib "*) ;;
++      *) deplibs="$deplibs $deplib" ;;
++      esac
++      done
++      $echo "deplibs: $deplibs"
++
++      # Find libtool libraries and add their directories
++      newdeplibs=
++      for deplib in $deplibs; do
++      found=
++      name="`expr $deplib : '-l\(.*\)'`"
++      # If $name is empty we are operating on a -L argument.
++      if test -n "$name"; then
++        libname=`eval \\$echo \"$libname_spec\"`
++        for searchdir in $lib_search_path; do
++          if test -f "$searchdir/$libname.la"; then
++            lib="$searchdir/$libname.la"
++            dlname=
++            libdir=
++            library_names=
++            old_library=
++            inst_dependency_libs=
++
++            # Check to see that this really is a libtool archive.
++            if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++            else
++              $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
++              exit 1
++            fi
++
++            # If the library was installed with an old release of libtool,
++            # it will not redefine variable installed.
++            installed=yes
++
++            # Read in the .la file
++            . $lib
++
++            # Get the name of the library we link against.
++            linklib=
++            for l in $old_library $library_names; do
++              linklib="$l"
++            done
++
++            if test -z "$linklib"; then
++              $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
++              exit 1
++            fi
++
++            # Find the relevant object directory and library name.
++            name=`$echo "X$lib" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
++
++            # Set to dependency_libs if not defined
++            test -z "$inst_dependency_libs" && inst_dependency_libs="$dependency_libs"
++            
++            if test "X$installed" = Xyes; then
++              dir="$libdir"
++            else
++              dir="$searchdir/$objdir"
++            fi
++
++            if test -z "$libdir"; then
++              # It is a libtool convenience library, so add in its objects.
++              convenience="$convenience $dir/$old_library"
++              old_convenience="$old_convenience $dir/$old_library"
++              compile_command="$compile_command $dir/$old_library"
++              finalize_command="$finalize_command $dir/$old_library"
++              continue
++            fi
++
++            if test "$build_libtool_libs" = yes && test -n "$library_names"; then
++              link_against_libtool_libs="$link_against_libtool_libs $lib"
++              if test -n "$shlibpath_var"; then
++                # Make sure the rpath contains only unique directories.
++                case "$temp_rpath " in
++                *" $dir "*) ;;
++                *) temp_rpath="$temp_rpath $dir" ;;
++                esac
++              fi
++
++              # This is the magic to use -rpath.
++              if test -n "$hardcode_libdir_flag_spec"; then
++                if test -n "$hardcode_libdir_separator"; then
++                  if test -z "$hardcode_libdirs"; then
++                    # Put the magic libdir with the hardcode flag.
++                    hardcode_libdirs="$libdir"
++                    libdir="@HARDCODE_LIBDIRS@"
++                  else
++                    # Just accumulate the unique libdirs.
++                    case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
++                    *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++                      ;;
++                    *)
++                      hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++                      ;;
++                    esac
++                    libdir=
++                  fi
++                fi
++
++                if test -n "$libdir"; then
++                  eval flag=\"$hardcode_libdir_flag_spec\"
++
++                  compile_command="$compile_command $flag"
++                  finalize_command="$finalize_command $flag"
++                fi
++              elif test -n "$runpath_var"; then
++                # Do the same for the permanent run path.
++                case "$perm_rpath " in
++                *" $libdir "*) ;;
++                *) perm_rpath="$perm_rpath $libdir" ;;
++                esac
++              fi
++
++              lib_linked=yes
++              case "$hardcode_action" in
++              immediate | unsupported)
++                if test "$hardcode_direct" = no; then
++                  compile_command="$compile_command $dir/$linklib"
++                  case "$host" in
++                  *-*-cygwin32* | *-*-mingw32* | *-*-os2*)
++                    compile_dependencylibs="$compile_dependencylibs -L$dir -l$name"
++                    dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
++                    if test -n "$dllsearchpath"; then
++                      dllsearchpath="$dllsearchpath:$dllsearchdir"
++                    else
++                      dllsearchpath="$dllsearchdir"
++                    fi
++                    ;;
++                  esac
++                elif test "$hardcode_minus_L" = no; then
++                  case "$host" in
++                  *-*-sunos*)
++                    compile_shlibpath="$compile_shlibpath$dir:"
++                    ;;
++                  esac
++                  compile_command="$compile_command -L$dir -l$name"
++                elif test "$hardcode_shlibpath_var" = no; then
++                  compile_shlibpath="$compile_shlibpath$dir:"
++                  compile_command="$compile_command -l$name"
++                else
++                  lib_linked=no
++                fi
++                ;;
++
++              relink)
++                # We need an absolute path.
++                case "$dir" in
++                /* | [A-Za-z]:[/\\]*) ;;
++                *)
++                  absdir=`cd "$dir" && pwd`
++                  if test -z "$absdir"; then
++                    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
++                    exit 1
++                  fi
++                  dir="$absdir"
++                  ;;
++                esac
++
++                if test "$hardcode_direct" = yes; then
++                  compile_command="$compile_command $dir/$linklib"
++                elif test "$hardcode_minus_L" = yes; then
++                  compile_command="$compile_command -L$dir -l$name"
++                elif test "$hardcode_shlibpath_var" = yes; then
++                  compile_shlibpath="$compile_shlibpath$dir:"
++                  compile_command="$compile_command -l$name"
++                else
++                  lib_linked=no
++                fi
++                ;;
++
++              *)
++                lib_linked=no
++                ;;
++              esac
++
++              if test "$lib_linked" != yes; then
++                $echo "$modename: configuration error: unsupported hardcode properties"
++                exit 1
++              fi
++
++              # Finalize command for both is simple: just hardcode it.
++              if test "$hardcode_direct" = yes; then
++                finalize_command="$finalize_command $libdir/$linklib"
++              elif test "$hardcode_minus_L" = yes; then
++                finalize_command="$finalize_command -L$libdir -l$name"
++              elif test "$hardcode_shlibpath_var" = yes; then
++                finalize_shlibpath="$finalize_shlibpath$libdir:"
++                finalize_command="$finalize_command -l$name"
++              else
++                # We cannot seem to hardcode it, guess we'll fake it.
++                finalize_command="$finalize_command -L$libdir -l$name"
++              fi
++            else
++              # Transform directly to old archives if we don't build new libraries.
++              if test -n "$pic_flag" && test -z "$old_library"; then
++                $echo "$modename: cannot find static library for \`$lib'" 1>&2
++                exit 1
++              fi
++
++              # Here we assume that one of hardcode_direct or hardcode_minus_L
++              # is not unsupported.  This is valid on all known static and
++              # shared platforms.
++              if test "$hardcode_direct" != unsupported; then
++                test -n "$old_library" && linklib="$old_library"
++                compile_command="$compile_command $dir/$linklib"
++                finalize_command="$finalize_command $dir/$linklib"
++              else
++                compile_command="$compile_command -L$dir -l$name"
++                finalize_command="$finalize_command -L$dir -l$name"
++              fi
++            fi
++
++            found=yes
++            break
++          fi
++        done
++        if test -z "$found"; then
++          # Not a libtool library
++          newdeplibs="$newdeplibs $deplib"
++          $echo "$deplib is a not libtool library"
++        else
++          $echo "$deplib is a libtool library"
++        fi
++      else
++        $echo "$deplib is a directory"
++      fi
++      done
++
++      # Make sure deplibs contains only unique libraries and directories.
++      deplibs=
++      for deplib in $newdeplibs; do
++      case "$deplibs " in
++      *" $deplib "*) ;;
++      *) deplibs="$deplibs $deplib" ;;
++      esac
++      done
++      $echo "deplibs: $deplibs"
++          
++      # Add in any non-libtool libraries.
++      compile_command="$compile_command $deplibs"
++      finalize_command="$finalize_command $deplibs"
++            
+       if test -n "$rpath"; then
+       # If the user specified any rpath flags, then add them.
+       for libdir in $rpath; do
+@@ -2294,6 +2677,9 @@
+ # Libraries that this one depends upon.
+ dependency_libs='$dependency_libs'
++# Libraries that this one depends upon (installed).
++inst_dependency_libs='$inst_dependency_libs'
++
+ # Version information for $libname.
+ current=$current
+ age=$age
+@@ -2549,12 +2935,14 @@
+         IFS="$save_ifs"
+       fi
++      # TODO: relink if necessary
++
+       # Install the pseudo-library for information purposes.
+       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+       instname="$dir/$name"i
+       $show "Creating $instname"
+       $rm "$instname"
+-      sed 's/^installed=no$/installed=yes/' "$file" > "$instname"
++      sed -e 's/^installed=no$/installed=yes/' -e 's/^dependency_libs=.*/dependency_libs=$inst_dependency_libs/' "$file" > "$instname"
+       $show "$install_prog $instname $destdir/$name"
+       $run eval "$install_prog $instname $destdir/$name" || exit $?
+       $show "$rm $instname"
+diff -ruNd libtool/mdemo/Makefile.am libtool.new/mdemo/Makefile.am
+--- libtool/mdemo/Makefile.am  Sun Jan 10 11:21:35 1999
++++ libtool.new/mdemo/Makefile.am      Sun Jan 10 15:39:38 1999
+@@ -30,13 +30,13 @@
+ # Create a version of mdemo that does dlopen.
+ mdemo_SOURCES = main.c
+-mdemo_LDADD = libltdl/libltdl.la \
++mdemo_LDADD = -Llibltdl -lltdl \
+       $(LIBADD_M) # We won't need this when libltdl takes care of dependencies
+ mdemo_LDFLAGS = -dlopen libfoo1.la -dlopen libfoo2.la
+ mdemo_DEPENDENCIES = libltdl/libltdl.la libfoo1.la libfoo2.la
+ # Create an easier-to-debug version of mdemo.
+ mdemo_debug_SOURCES = main.c
+-mdemo_debug_LDADD = libltdl/libltdl.la
++mdemo_debug_LDADD = -Llibltdl -lltdl
+ mdemo_debug_LDFLAGS = -static -dlopen libfoo1.la -dlopen libfoo2.la
+ mdemo_debug_DEPENDENCIES = libltdl/libltdl.la libfoo1.la libfoo2.la