-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
+diff -ruNd libtool/configure.in libtool.dep/configure.in
+--- libtool/configure.in Wed Jan 27 10:03:54 1999
++++ libtool.dep/configure.in Mon Feb 8 11:01:45 1999
+@@ -41,7 +41,7 @@
+
+ dnl all subdirectories that are configured on demand, but that must be
+ dnl included in the distribution
+-CONF_SUBDIRS="libltdl demo mdemo cdemo" # depdemo
++CONF_SUBDIRS="libltdl demo mdemo depdemo cdemo"
+ AC_SUBST(CONF_SUBDIRS)
+
+ ACINCLUDE_M4_LIST="${srcdir}/acinclude.m4 "
+diff -ruNd libtool/depdemo/Makefile.am libtool.dep/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
++++ libtool.dep/depdemo/Makefile.am Mon Feb 8 11:01:45 1999
+@@ -11,15 +11,13 @@
libl4_la_SOURCES = l4.c l4.h sysdep.h
--libl4_la_LIBADD = libl3.la $(LIBADD_M)
--
+ libl4_la_LIBADD = libl3.la $(LIBADD_M)
+
-bin_PROGRAMS = depdemo depdemo.static
-+libl4_la_LDFLAGS = -ll3 $(LIBADD_M)
++bin_PROGRAMS = depdemo.static depdemo
--depdemo_SOURCES = main.c
+ 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_LDADD = libl1.la libl2.la libl4.la
+ depdemo_DEPENDENCIES = libl1.la libl2.la libl4.la
- depdemo_static_SOURCES = main.c
+-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_DEPENDENCIES = libl1.la libl2.la libl4.la
++depdemo_static_SOURCES = $(depdemo_SOURCES)
++depdemo_static_LDADD = $(depdemo_LDADD)
++depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES)
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 @@
+diff -ruNd libtool/ltmain.in libtool.dep/ltmain.in
+--- libtool/ltmain.in Wed Feb 3 16:42:52 1999
++++ libtool.dep/ltmain.in Mon Feb 8 11:44:15 1999
+@@ -603,8 +603,11 @@
+ ;;
+
+ # libtool link mode
+- link)
++ link | link-install)
+ modename="$modename: link"
++ link_install=no
++ test "$mode" = "link-install" && link_install=yes
++ link_command="$nonopt"
+ C_compiler="$CC" # save it, to compile generated C sources
+ CC="$nonopt"
+ case "$host" in
+@@ -649,24 +652,13 @@
+ ;;
+ esac
+ compile_command="$CC"
+- finalize_command="$CC"
+
+- compile_shlibpath=
+- finalize_shlibpath=
++ shlibpath=
convenience=
old_convenience=
deplibs=
-- eval lib_search_path=\"$sys_lib_search_path\"
-
- avoid_versioning=no
+ linkopts=
+
+- if test -n "$shlibpath_var"; then
+- # get the directories listed in $shlibpath_var
+- eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+- else
+- libsearch_path=
+- fi
+- # now prepend the system-specific ones
+- eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
+-
+ avoid_version=no
dlfiles=
-@@ -760,13 +759,18 @@
+ dlprefiles=
+@@ -674,9 +666,7 @@
+ export_symbols=
+ generated=
+ hardcode_libdirs=
+- finalize_hardcode_libdirs=
+ libobjs=
+- link_against_libtool_libs=
+ ltlibs=
+ module=no
+ objs=
+@@ -688,7 +678,6 @@
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+- finalize_rpath=
+ thread_safe=no
+ vinfo=
+
+@@ -714,13 +703,13 @@
+ while test $# -gt 0; do
+ arg="$1"
+ shift
++ link_command="$link_command $arg"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case "$prev" in
+ output)
+ compile_command="$compile_command @OUTPUT@"
+- finalize_command="$finalize_command @OUTPUT@"
+ ;;
+ esac
+
+@@ -729,7 +718,6 @@
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+- finalize_command="$finalize_command @SYMFILE@"
+ preload=yes
+ fi
+ case "$arg" in
+@@ -778,7 +766,6 @@
+ -all-static)
+ if test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+- finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+@@ -815,7 +802,6 @@
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+- finalize_command="$finalize_command @SYMFILE@"
+ preload=yes
+ fi
+ fi
+@@ -832,32 +818,25 @@
-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.
- ;;
+- /* | [A-Za-z]:[/\\]*)
+- # Add the corresponding hardcode_libdir_flag, if it is not identical.
+- ;;
++ /* | [A-Za-z]:[/\\]*) ;;
*)
- $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
- exit 1
+- ;;
+- esac
+- deplibs="$deplibs $arg"
+- lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`"
+- case "$host" in
+- *-*-cygwin* | *-*-mingw* | *-*-os2*)
+- dllsearchdir="`expr $arg : '-L\(.*\)'`"
+- dllsearchdir=`cd "$dllsearchdir" && pwd || echo "$dllsearchdir"`
+- if test -n "$dllsearchpath"; then
+- dllsearchpath="$dllsearchpath:$dllsearchdir"
+- else
+- dllsearchpath="$dllsearchdir"
+ 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
++ dir="$absdir"
;;
esac
++ deplibs="$deplibs -L$dir"
+ continue
;;
-l*)
deplibs="$deplibs $arg"
- compile_dependencylibs="$compile_dependencylibs $arg"
+ continue
;;
-module)
-@@ -889,6 +895,7 @@
+@@ -902,7 +881,6 @@
+ # If we have no pic_flag, then this is the same as -all-static.
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+- finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+@@ -919,7 +897,7 @@
+
+ # Some other compiler flag.
+ -* | +*)
+- # Unknown arguments in both finalize_command and compile_command need
++ # Unknown arguments in compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+@@ -974,6 +952,7 @@
# it will not redefine variable installed.
installed=yes
-+ # Read in the .la file
++ # Read the .la file
# If there is no directory component, then add one.
case "$arg" in
*/* | *\\*) . $arg ;;
-@@ -938,10 +945,7 @@
+@@ -991,9 +970,6 @@
+ exit 1
+ fi
+
+- # Find the relevant object directory and library name.
+- name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
+-
+ if test "X$installed" = Xyes; then
+ dir="$libdir"
+ else
+@@ -1005,28 +981,6 @@
+ fi
+ fi
+
+- if test -n "$dependency_libs"; then
+- # Extract -R from dependency_libs
+- temp_deplibs=
+- for deplib in $dependency_libs; do
+- case "$deplib" in
+- -R*) xrpath="$xrpath "`echo "X$deplib" | $Xsed -e 's/^-R//'`;;
+- *) temp_deplibs="$temp_deplibs $deplib";;
+- esac
+- done
+- dependency_libs="$temp_deplibs"
+- 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"
+- deplibs="$deplibs$dependency_libs"
+- compile_command="$compile_command $dir/$old_library$dependency_libs"
+- finalize_command="$finalize_command $dir/$old_library$dependency_libs"
+- continue
+- fi
+-
+ # This library was specified with -dlopen.
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+@@ -1035,10 +989,7 @@
# we need to preload.
prev=dlprefiles
else
prev=
continue
fi
-@@ -957,155 +961,28 @@
- dlprefiles="$dlprefiles $dir/$linklib"
- fi
+@@ -1056,219 +1007,28 @@
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
-
- # This is the magic to use -rpath.
- if test -n "$hardcode_libdir_flag_spec"; then
+- saved_libdir="$libdir"
+- libdir="$dir"
+-
+- # We need an absolute path.
+- case "$libdir" in
+- /* | [A-Za-z]:[/\\]*) ;;
+- *)
+- absdir=`cd "$libdir" && pwd`
+- if test -z "$absdir"; then
+- $echo "$modename: cannot determine absolute directory name of \`$libdir'" 1>&2
+- else
+- libdir="$absdir"
+- fi
+- ;;
+- esac
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- # Put the magic libdir with the hardcode flag.
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- compile_command="$compile_command $flag"
+- fi
+-
+- libdir="$saved_libdir"
+- if test -n "$hardcode_libdir_separator"; then
+- if test -z "$finalize_hardcode_libdirs"; then
+- # Put the magic libdir with the hardcode flag.
+- finalize_hardcode_libdirs="$libdir"
+- libdir="@HARDCODE_LIBDIRS@"
+- else
+- # Just accumulate the unique libdirs.
+- case "$hardcode_libdir_separator$finalize_hardcode_libdirs$hardcode_libdir_separator" in
+- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+- ;;
+- *)
+- finalize_hardcode_libdirs="$finalize_hardcode_libdirs$hardcode_libdir_separator$libdir"
+- ;;
+- esac
+- libdir=
+- fi
+- fi
+-
+- if test -n "$libdir"; then
+- eval flag=\"$hardcode_libdir_flag_spec\"
+-
- finalize_command="$finalize_command $flag"
- fi
+- # libdir is also use after "$hardcode_action" case
+- libdir="$saved_libdir"
- elif test -n "$runpath_var"; then
- # Do the same for the permanent run path.
+- case "$dir" in
+- /* | [A-Za-z]:[/\\]*) absdir="$dir";;
+- *)
+- absdir=`cd "$dir" && pwd`
+- if test -z "$absdir"; then
+- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+- absdir="$dir"
+- fi
+- ;;
+- esac
- case "$perm_rpath " in
+- *" $absdir "*) ;;
+- *) perm_rpath="$perm_rpath $absdir" ;;
+- esac
+- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
-- *) perm_rpath="$perm_rpath $libdir" ;;
+- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
-
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- compile_command="$compile_command $dir/$linklib"
+- deplibs="$deplibs $dir/$linklib"
- case "$host" in
-- *-*-cygwin32* | *-*-mingw32* | *-*-os2*)
-- compile_dependencylibs="$compile_dependencylibs -L$dir -l$name"
+- *-*-cygwin* | *-*-mingw* | *-*-os2*)
- dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
- if test -n "$dllsearchpath"; then
- dllsearchpath="$dllsearchpath:$dllsearchdir"
- ;;
- esac
- compile_command="$compile_command -L$dir -l$name"
+- deplibs="$deplibs -L$dir -l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- compile_shlibpath="$compile_shlibpath$dir:"
- compile_command="$compile_command -l$name"
+- deplibs="$deplibs -l$name"
- else
- lib_linked=no
- fi
-
- if test "$hardcode_direct" = yes; then
- compile_command="$compile_command $dir/$linklib"
+- deplibs="$deplibs $dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- compile_command="$compile_command -L$dir -l$name"
+- deplibs="$deplibs -L$dir -l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- compile_shlibpath="$compile_shlibpath$dir:"
- compile_command="$compile_command -l$name"
+- deplibs="$deplibs -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
+- ;;
+- esac
-
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- # 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
++ dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
++ test "X$dir" = "X$arg" && dir="."
++ # 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
-
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # 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"
++ dir="$absdir"
++ ;;
++ esac
++ name=`echo "X$arg" | $Xsed -e 's%^.*/%%'`
++ deplibs="$deplibs $dir/$name"
continue
;;
-@@ -1145,6 +1022,25 @@
+ # Some other compiler argument.
+ *)
+- # Unknown arguments in both finalize_command and compile_command need
++ # Unknown arguments in compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+@@ -1282,7 +1042,6 @@
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ compile_command="$compile_command $arg"
+- finalize_command="$finalize_command $arg"
+ fi
+ done
+
+@@ -1302,6 +1061,35 @@
outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
libobjs_save="$libobjs"
+ esac
+ done
+ deplibs="$newdeplibs"
-+ eval sys_search_path=\"$sys_lib_search_path\"
-+ lib_search_path="$lib_search_path $sys_search_path"
++
++ if test -n "$shlibpath_var"; then
++ # get the directories listed in $shlibpath_var
++ eval shlib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
++ else
++ shlib_search_path=
++ fi
++ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
++ lib_search_path="$lib_search_path $sys_lib_search_path $shlib_search_path"
++
++ # Quote the link command for shipping.
++ link_command=`$echo "X$link_command" | $Xsed -e "$sed_quote_subst"`
+
case "$output" in
"")
$echo "$modename: you must specify an output file" 1>&2
-@@ -1401,7 +1297,6 @@
+@@ -1310,11 +1098,6 @@
+ ;;
+
+ *.a | *.lib)
+- if test -n "$link_against_libtool_libs"; then
+- $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
+- exit 1
+- fi
+-
+ if test -n "$deplibs"; then
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+ fi
+@@ -1388,12 +1171,6 @@
+ exit 1
+ fi
+
+- # How the heck are we supposed to write a wrapper for a shared library?
+- if test -n "$link_against_libtool_libs"; then
+- $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
+- exit 1
+- fi
+-
+ if test -n "$dlfiles$dlprefiles"; then
+ $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
+ fi
+@@ -1402,7 +1179,20 @@
+ if test $# -gt 2; then
+ $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+ fi
+- install_libdir="$2"
++ dir="$2"
++ # 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
++ else
++ dir="$absdir"
++ fi
++ ;;
++ esac
++ install_libdir="$dir"
+
+ oldlibs=
+ if test -z "$rpath"; then
+@@ -1413,7 +1203,6 @@
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+- dependency_libs="$deplibs"
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+@@ -1561,7 +1350,6 @@
allow_undefined_flag="$no_undefined_flag"
fi
- dependency_libs="$deplibs"
case "$host" in
- *-*-cygwin32* | *-*-mingw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-os2*)
# these systems don't actually have a c library (as such)!
-@@ -1434,6 +1329,206 @@
+@@ -1594,6 +1382,322 @@
oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
fi
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
-+
++
++ #################
++ # ILD code
++ #################
++ $echo "deplibs: $deplibs"
++ $echo "search path: $lib_search_path"
++
++ olddeplibs="$deplibs"
++
+ # 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
++ deplibs= # libraries to link (used in archive_cmds)
++ alldependency_libs= # all dependency libraries
++ uninst_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
++ for deplib in $olddeplibs; do
++ lib=
++ case "$deplib" in
++ -L*)
++ $echo "$deplib is a directory"
++ new_lib_search_path="$new_lib_search_path `expr $deplib : '-L\(.*\)'`"
++ deplibs="$deplibs $deplib"
++ alldependency_libs="$alldependency_libs $deplib"
++ continue
++ ;;
++ -l*)
++ name="`expr $deplib : '-l\(.*\)'`"
+ libname=`eval \\$echo \"$libname_spec\"`
++ found=no
+ 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=
++ lib="$searchdir/$libname.la"
++ if test -f "$lib"; then
++ found=yes
++ break
++ fi
++ done
++ if test "$found" != yes; then
++ $echo "$deplib is not a libtool library"
++ deplibs="$deplibs $deplib"
++ alldependency_libs="$alldependency_libs $deplib"
++ continue
++ fi
++ ;;
++ *)
++ lib="$deplib"
++ if test -f "$lib"; then :
++ else
++ $echo "$modename: cannot find the library \`$lib'" 1>&2
++ exit 1
++ fi
++ ;;
++ esac
++ $echo "$deplib is a libtool library"
++ dlname=
++ libdir=
++ library_names=
++ old_library=
+
-+ # 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
++ # 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
++ # 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
++ # Read 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
++ # 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 -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
-+ ############################
++ if test "X$installed" = Xyes; then
++ dir="$libdir"
++ case "$dir" in
++ /* | [A-Za-z]:[/\\]*) absdir="$dir";;
++ *)
++ 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
++ else
++ searchdir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
++ dir="$searchdir/$objdir"
++ # Remove this search path later
++ uninst_path="$uninst_path $searchdir"
++ fi
++
++ # Find the relevant object directory and library name.
++ name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
++ # FIXME: libraries without lib prefix require direct hardcoding
++
++ if test -z "$libdir"; then
++ # It is a libtool convenience library.
++ $echo "$modename: cannot link libtool libraries against convenience libraries" 1>&2
++ exit 1
++ fi
++
++ if test "$build_libtool_libs" = yes && test -n "$library_names"; then
++ # This is the magic to use -rpath.
++ if test -n "$hardcode_libdir_flag_spec"; then
++ saved_libdir="$libdir"
++ test $link_install = no && libdir="$dir"
++
++ 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
-+
-+ if test "X$installed" = Xyes; then
-+ dir="$libdir"
++ fi
++ if test -n "$libdir"; then
++ eval flag=\"$hardcode_libdir_flag_spec\"
++
++ deplibs="$deplibs $flag"
++ fi
++ # libdir is also use after "$hardcode_action" case
++ libdir="$saved_libdir"
++ fi
++
++ if test $link_install = no; then
++ lib_linked=yes
++ case "$hardcode_action" in
++ immediate | unsupported)
++ if test "$hardcode_direct" = no; then
++ deplibs="$deplibs $dir/$linklib"
++ elif test "$hardcode_minus_L" = no; then
++ case "$host" in
++ *-*-sunos*)
++ shlibpath="$shlibpath$dir:"
++ ;;
++ esac
++ deplibs="$deplibs -L$dir -l$name"
++ elif test "$hardcode_shlibpath_var" = no; then
++ shlibpath="$shlibpath$dir:"
++ deplibs="$deplibs -l$name"
+ else
-+ dir="$searchdir/$objdir"
-+ # Remove this search path later
-+ remove_path="$remove_path $searchdir"
++ lib_linked=no
+ fi
++ ;;
++ relink)
++ if test "$hardcode_direct" = yes; then
++ deplibs="$deplibs $dir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ deplibs="$deplibs -L$dir -l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ shlibpath="$shlibpath$dir:"
++ deplibs="$deplibs -l$name"
++ else
++ lib_linked=no
++ fi
++ ;;
++ *)
++ lib_linked=no
++ ;;
++ esac
+
-+ # 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
++ if test "$lib_linked" != yes; then
++ $echo "$modename: configuration error: unsupported hardcode properties"
++ exit 1
+ 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"
++ # Install command for both is simple: just hardcode it.
++ if test "$hardcode_direct" = yes; then
++ deplibs="$deplibs $libdir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ deplibs="$deplibs -L$libdir -l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ shlibpath="$shlibpath$libdir:"
++ deplibs="$deplibs -l$name"
++ else
++ # We cannot seem to hardcode it, guess we'll fake it.
++ deplibs="$deplibs -L$libdir -l$name"
++ fi
+ fi
++ elif test "$build_libtool_libs" = yes && 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."
++ continue
+ else
-+ $echo "$deplib is a directory"
-+ new_lib_search_path="$new_lib_search_path `expr $deplib : '-L\(.*\)'`"
++ # Check for 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
+ fi
++
++ new_lib_search_path="$new_lib_search_path $dir"
++
++ # Link against this library
++ alldependency_libs="$alldependency_libs $dependency_libs $lib"
+ done
+
+ # Make sure lib_search_path contains only unique directories.
+ *) 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
++ lib_search_path="$lib_search_path $sys_lib_search_path"
+
-+ # Make sure alldeplibs contains only unique libraries and directories.
-+ newalldeplibs=
-+ for deplib in $alldeplibs; do
-+ case "$newalldeplibs " in
++ # Make sure alldependency_libs contains only unique libraries and directories.
++ dependency_libs=
++ for deplib in $alldependency_libs; do
++ case "$dependency_libs " in
+ *" $deplib "*) ;;
-+ *) newalldeplibs="$newalldeplibs $deplib" ;;
++ *) dependency_libs="$dependency_libs $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
++ for path in $uninst_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'`
++ dependency_libs=`echo "$dependency_libs" | 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"
++ $echo "deplibs: $deplibs"
++ $echo "dependency_libs: $dependency_libs"
++ $echo "search path: $lib_search_path"
++
++ if test -n "$xrpath"; then
++ # If the user specified any rpath flags, then add them.
++ temp_xrpath=
++ for libdir in $xrpath; do
++ temp_xrpath="$temp_xrpath -R$libdir"
++ if test -n "$hardcode_libdir_flag_spec"; then
++ saved_libdir="$libdir"
++ 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\"
++
++ deplibs="$deplibs $flag"
++ fi
++
++ libdir="$saved_libdir"
++ fi
++ done
++ dependency_libs="$temp_xrpath $dependency_libs"
++ fi
++
++ # Substitute the hardcoded libdirs into the compile commands.
++ if test -n "$hardcode_libdir_separator"; then
++ deplibs=`$echo "X$deplibs" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+ fi
+
++ $echo "deplibs: $deplibs"
++
+ # Restore the variables
+ versuffix=$versuffix_save
+ major=$major_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 @@
+ name_save=$name
+@@ -1887,11 +1991,6 @@
+ ;;
+
+ *.lo | *.o | *.obj)
+- if test -n "$link_against_libtool_libs"; then
+- $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
+- exit 1
+- fi
+-
+ if test -n "$deplibs"; then
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+ fi
+@@ -1991,11 +2090,349 @@
$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
fi
+ $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
++ olddeplibs="$deplibs"
++ deplibs=
++ new_lib_search_path=
++ for deplib in $olddeplibs; do
++ lib=
++ case "$deplib" in
++ -L*)
++ $echo "$deplib is a directory"
++ new_lib_search_path="$new_lib_search_path `expr $deplib : '-L\(.*\)'`"
++ deplibs="$deplibs $deplib"
++ continue
++ ;;
++ -l*)
++ name="`expr $deplib : '-l\(.*\)'`"
+ libname=`eval \\$echo \"$libname_spec\"`
++ found=no
+ 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=
++ # Search the libtool library
++ lib="$searchdir/$libname.la"
++ if test -f "$lib"; then
++ found=yes
++ break
++ fi
++ done
++ if test "$found" != yes; then
++ $echo "$deplib is not a libtool library"
++ deplibs="$deplibs $deplib"
++ continue
++ fi
++ ;;
++ *)
++ lib="$deplib"
++ if test -f "$lib"; then :
++ else
++ $echo "$modename: cannot find the library \`$lib'" 1>&2
++ exit 1
++ fi
++ ;;
++ esac
++ $echo "$deplib is a libtool library"
++ dlname=
++ libdir=
++ library_names=
++ old_library=
+
-+ # 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
++ # 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 the library was installed with an old release of libtool,
++ # it will not redefine variable installed.
++ installed=yes
+
-+ 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
++ # Read the .la file
++ . $lib
+
-+ break
-+ fi
-+ done
++ # 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
++
++ new_lib_search_path="$new_lib_search_path $dir"
++ deplibs="$deplibs $lib"
++
++ if test "$build_libtool_libs" = no || test "$deplibs_check_method" = none; then
++ # Add in any libraries that this one depends upon.
++ deplibs="$deplibs $dependency_libs"
+ fi
-+ done
+
++ for dir in $dependency_libs; do
++ case "$dir" in
++ -L*)
++ new_lib_search_path="$new_lib_search_path `expr $dir : '-L\(.*\)'`"
++ ;;
++ *) ;;
++ esac
++ done
++ 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_lib_search_path"
++
+ # Make sure deplibs contains only unique libraries and directories.
+ deplibs=
+ for deplib in $newdeplibs; do
+
+ # Find libtool libraries and add their directories
+ newdeplibs=
++ link_against_libtool_libs=
+ for deplib in $deplibs; do
+ found=
+ name="`expr $deplib : '-l\(.*\)'`"
+ 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
+
+ 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.
+ 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*)
+ exit 1
+ fi
+
-+ # Finalize command for both is simple: just hardcode it.
++ else
++
++ # Install command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes; then
-+ finalize_command="$finalize_command $libdir/$linklib"
++ compile_command="$compile_command $libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
-+ finalize_command="$finalize_command -L$libdir -l$name"
++ compile_command="$compile_command -L$libdir -l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
-+ finalize_shlibpath="$finalize_shlibpath$libdir:"
-+ finalize_command="$finalize_command -l$name"
++ compile_shlibpath="$compile_shlibpath$libdir:"
++ compile_command="$compile_command -l$name"
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
-+ finalize_command="$finalize_command -L$libdir -l$name"
++ compile_command="$compile_command -L$libdir -l$name"
++ fi
++
+ fi
+ else
+ # Transform directly to old archives if we don't build new libraries.
+ 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 non-libtool libraries.
+ compile_command="$compile_command $deplibs"
-+ finalize_command="$finalize_command $deplibs"
+
- if test -n "$rpath"; then
+ if test -n "$rpath$xrpath"; 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 @@
+ for libdir in $rpath $xrpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ saved_libdir="$libdir"
++ test $link_install = no && libdir="$dir"
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ # Put the magic libdir with the hardcode flag.
+@@ -2021,38 +2458,11 @@
+ fi
+
+ libdir="$saved_libdir"
+- if test -n "$hardcode_libdir_separator"; then
+- if test -z "$finalize_hardcode_libdirs"; then
+- # Put the magic libdir with the hardcode flag.
+- finalize_hardcode_libdirs="$libdir"
+- libdir="@HARDCODE_LIBDIRS@"
+- else
+- # Just accumulate the unique libdirs.
+- case "$hardcode_libdir_separator$finalize_hardcode_libdirs$hardcode_libdir_separator" in
+- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+- ;;
+- *)
+- finalize_hardcode_libdirs="$finalize_hardcode_libdirs$hardcode_libdir_separator$libdir"
+- ;;
+- esac
+- libdir=
+- fi
+- fi
+-
+- if test -n "$libdir"; then
+- eval flag=\"$hardcode_libdir_flag_spec\"
+-
+- finalize_command="$finalize_command $flag"
+- fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+- case "$finalize_perm_rpath " in
+- *" $libdir "*) ;;
+- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+- esac
+ fi
+ done
+ fi
+@@ -2060,7 +2470,6 @@
+ # Substitute the hardcoded libdirs into the compile commands.
+ if test -n "$hardcode_libdir_separator"; then
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$finalize_hardcode_libdirs%g"`
+ fi
+
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+@@ -2073,7 +2482,6 @@
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ if test "$export_dynamic" = yes || test -n "$dlfiles$dlprefiles" && test -n "$NM" && test -n "$global_symbol_pipe"; then
+@@ -2210,7 +2618,6 @@
+
+ # Transform the symbol file into the correct name.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
+ ;;
+ *)
+ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+@@ -2227,13 +2634,11 @@
+
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+
+ if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ $show "$compile_command"
+@@ -2242,8 +2647,11 @@
+ fi
+
+ # Replace the output file specification.
+- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'T%g'`
++ if test $link_install = no; then
++ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
++ else
++ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'T%g'`
++ fi
+
+ # Create the binary in the object directory, then wrap it.
+ if test ! -d $output_objdir; then
+@@ -2279,9 +2687,6 @@
+ if test -n "$compile_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+- if test -n "$finalize_shlibpath"; then
+- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+- fi
+
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+@@ -2292,14 +2697,6 @@
+ done
+ compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
+ fi
+- if test -n "$finalize_perm_rpath"; then
+- # We should set the runpath_var.
+- rpath=
+- for dir in $finalize_perm_rpath; do
+- rpath="$rpath$dir:"
+- done
+- finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
+- fi
+ fi
+
+ if test "$hardcode_action" = relink; then
+@@ -2314,9 +2711,6 @@
+ # Now create the wrapper script.
+ $show "creating $output"
+
+- # Quote the finalize command for shipping.
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+-
+ # Quote $echo for shipping.
+ if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
+ case "$0" in
+@@ -2363,7 +2757,8 @@
+ if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ link_against_libtool_libs='$link_against_libtool_libs'
+- finalize_command=\"cd `pwd | sed -e $sed_quote_subst`; $finalize_command\"
++ link_command=\"$link_command\"
++ link_dir=\"`pwd | sed -e $sed_quote_subst`\"
+ else
+ # When we are sourced in execute mode, \$file and \$echo are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+@@ -2428,14 +2823,6 @@
+ "
+ fi
+
+- # fixup the dll searchpath if we need to.
+- if test -n "$dllsearchpath"; then
+- $echo >> $output "\
+- # Add the dll search path components to the executable PATH
+- PATH=$dllsearchpath:\$PATH
+-"
+- fi
+-
+ $echo >> $output "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+@@ -2542,14 +2929,6 @@
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ $show "creating $output"
+
+- if test -n "$xrpath"; then
+- temp_xrpath=
+- for libdir in $xrpath; do
+- temp_xrpath="$temp_xrpath -R$libdir"
+- done
+- dependency_libs="$temp_xrpath $dependency_libs"
+- fi
+-
+ # Only create the output if not a dry run.
+ if test -z "$run"; then
+ $echo > $output "\
+@@ -2577,7 +2956,10 @@
+ installed=no
+
+ # Directory that this library needs to be installed in:
+-libdir='$install_libdir'\
++libdir='$install_libdir'
++
++link_command=\"$link_command\"
++link_dir=\"`pwd | sed -e $sed_quote_subst`\"\
+ "
+ fi
+
+@@ -2823,12 +3205,32 @@
IFS="$save_ifs"
fi
+ # TODO: relink if necessary
++ if test "$hardcode_action" = relink; then
++ if test "$finalize" = yes; then
++ $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
++ finalize_command="cd $link_dir; $SHELL $0 -mode=link-install $link_command"
++ $show "$finalize_command"
++ if $run eval "$finalize_command"; then :
++ else
++ echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
++ continue
++ fi
++ file="$objdir/$file"T
++ else
++ $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
++ fi
++ else
++ # Install the binary that we compiled earlier.
++ file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
++ fi
+
# Install the pseudo-library for information purposes.
name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
$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"
++ sed -e 's/^installed=no$/installed=yes/' "$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
+@@ -2894,7 +3296,8 @@
+ # Do a test to see if this is really a libtool program.
+ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ link_against_libtool_libs=
+- finalize_command=
++ link_command=
++ link_dir=
+
+ # If there is no directory component, then add one.
+ case "$file" in
+@@ -2903,7 +3306,7 @@
+ esac
+
+ # Check the variables that should have been set.
+- if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
++ if test -z "$link_against_libtool_libs" || test -z "$link_command" || test -z "$link_dir"; then
+ $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+ exit 1
+ fi
+@@ -2913,11 +3316,7 @@
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+- # If there is no directory component, then add one.
+- case "$lib" in
+- */* | *\\*) . $lib ;;
+- *) . ./$lib ;;
+- esac
++ . $lib
+ fi
+ libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
+ if test -n "$libdir" && test ! -f "$libfile"; then
+@@ -2929,6 +3328,7 @@
+ if test "$hardcode_action" = relink; then
+ if test "$finalize" = yes; then
+ $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
++ finalize_command="cd $link_dir; $SHELL $0 -mode=link-install $link_command"
+ $show "$finalize_command"
+ if $run eval "$finalize_command"; then :
+ else