From 33e0ca6136e2e4fb92cf2a1d569fc961d0dc18a4 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <ian@airs.com>
Date: Thu, 7 May 1998 21:28:06 +0000
Subject: [PATCH] 	* ltconfig, ltmain.sh: Avoid producing a version
 number if 	-version-info was not used.

---
 ChangeLog |    5 +
 ltconfig  |   47 +-
 ltmain.sh | 2554 +++++++++++++++++++++++++++++++++--------------------
 3 files changed, 1649 insertions(+), 957 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 584b0b532eb..2bbb2bf118e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu May  7 17:27:35 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ltconfig, ltmain.sh: Avoid producing a version number if
+	-version-info was not used.
+
 start-sanitize-java
 Wed May  6 10:26:06 1998  Stu Grossman  <grossman@babylon-5.cygnus.com>
 
diff --git a/ltconfig b/ltconfig
index 1a06572c85b..5d5f620c7fc 100755
--- a/ltconfig
+++ b/ltconfig
@@ -779,8 +779,8 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
   _impure_ptr = __imp_reent_data;
 }
 ' > libtool.c
-    archive_cmds='$CC -c libtool.c;echo EXPORTS > $soname.def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname.def;$LD -s --base-file $soname.base --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname.def --base-file $soname.base --output-exp $soname.exp;$LD -s --base-file $soname.base $soname.exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname.def --base-file $soname.base --output-exp $soname.exp;$LD $soname.exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$rm libtool.o $soname.base $soname.exp'
-    old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname.def --output-lib $objdir/$libname.a'
+    archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.o$libobjs$deplibs;$rm libtool.o $soname-base $soname-exp'
+    old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
     ;;
 
   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
@@ -1149,11 +1149,11 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
 case "$host_os" in
 aix3* | aix4*)
   version_type=linux
-  library_names_spec='${libname}${release}.so.$versuffix $libname.a'
+  library_names_spec='${libname}${release}.so$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}.so.$major'
+  soname_spec='${libname}${release}.so$major'
   ;;
 
 amigaos*)
@@ -1163,21 +1163,22 @@ amigaos*)
   ;;
 
 cygwin32*)
-  library_names_spec='${libname}${release}.dll $libname.a'
+  version_type=windows
+  library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
   dynamic_linker='Win32 ld.exe'
   shlibpath_var=PATH
   ;;
 
 freebsd2* | freebsd3*)
   version_type=sunos
-  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+  library_names_spec='${libname}${release}.so$versuffix $libname.so'
   finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 gnu*)
   version_type=sunos
-  library_names_spec='${libname}${release}.so.$versuffix'
+  library_names_spec='${libname}${release}.so$versuffix'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1187,8 +1188,8 @@ hpux9* | hpux10* | hpux11*)
   dynamic_linker="$host_os dld.sl"
   version_type=sunos
   shlibpath_var=SHLIB_PATH
-  library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
-  soname_spec='${libname}${release}.sl.$major'
+  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+  soname_spec='${libname}${release}.sl$major'
   # HP-UX runs *really* slowly unless shared libraries are mode 555.
   postinstall_cmds='chmod 555 $lib'
   ;;
@@ -1196,7 +1197,7 @@ hpux9* | hpux10* | hpux11*)
 irix5* | irix6*)
   version_type=osf
   soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+  library_names_spec='${libname}${release}.so$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1208,8 +1209,8 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
 # This must be Linux ELF.
 linux-gnu*)
   version_type=linux
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
-  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
   finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
 
@@ -1226,7 +1227,7 @@ linux-gnu*)
 
 netbsd* | openbsd*)
   version_type=sunos
-  library_names_spec='${libname}${release}.so.$versuffix'
+  library_names_spec='${libname}${release}.so$versuffix'
   finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
@@ -1241,42 +1242,42 @@ os2*)
 osf3* | osf4*)
   version_type=osf
   soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+  library_names_spec='${libname}${release}.so$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sco3.2v5*)
   version_type=osf
-  soname_spec='${libname}${release}.so.$major'
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 solaris2*)
   version_type=linux
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
-  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sunos4*)
   version_type=sunos
-  library_names_spec='${libname}${release}.so.$versuffix'
+  library_names_spec='${libname}${release}.so$versuffix'
   finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sysv4.2uw2*)
   version_type=linux
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
-  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 uts4*)
   version_type=linux
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
-  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
diff --git a/ltmain.sh b/ltmain.sh
index daa2ddf6ab5..7fd5193cb51 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,6 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
-# Generated automatically from ltmain.sh.in by configure.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# NOTE: Changing this file will not affect anything until you rerun ltconfig.
+#
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
@@ -23,30 +24,41 @@
 # the same distribution terms that you use for the rest of that program.
 
 # The name of this program.
-progname=`echo "$0" | sed 's%^.*/%%'`
+progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.0
+VERSION=1.2
 
 default_mode=
 help="Try \`$progname --help' for more information."
 magic="%%%MAGIC variable%%%"
 mkdir="mkdir"
 mv="mv -f"
-objdir=.libs
 rm="rm -f"
 
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+
 if test "$LTCONFIG_VERSION" != "$VERSION"; then
-  echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1
 fi
 
-#
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  echo "$progname: not configured to build any kind of library" 1>&2
+  echo "$modename: not configured to build any kind of library" 1>&2
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1
 fi
@@ -57,8 +69,9 @@ nonopt=
 prev=
 prevopt=
 run=
-show=echo
+show="$echo"
 show_help=
+execute_dlfiles=
 
 # Parse our command line options once, thoroughly.
 while test $# -gt 0
@@ -67,13 +80,21 @@ do
   shift
 
   case "$arg" in
-  -*=*) optarg=`echo "$arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
   *) optarg= ;;
   esac
 
   # If the previous option needs an argument, assign it.
   if test -n "$prev"; then
-    eval "$prev=\$arg"
+    case "$prev" in
+    execute_dlfiles)
+      eval "$prev=\"\$$prev \$arg\""
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
     prev=
     prevopt=
     continue
@@ -114,9 +135,18 @@ do
   --mode) prevopt="--mode" prev=mode ;;
   --mode=*) mode="$optarg" ;;
 
+  --quiet | --silent)
+    show=:
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
   -*)
-    echo "$progname: unrecognized option \`$arg'" 1>&2
-    echo "$help" 1>&2
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
     exit 1
     ;;
 
@@ -127,20 +157,18 @@ do
   esac
 done
 
-
 if test -n "$prevopt"; then
-  echo "$progname: option \`$prevopt' requires an argument" 1>&2
-  echo "$help" 1>&2
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
   exit 1
 fi
 
-
 if test -z "$show_help"; then
 
   # Infer the operation mode.
   if test -z "$mode"; then
     case "$nonopt" in
-    *cc)
+    *cc | *++ | gcc* | *-gcc*)
       mode=link
       for arg
       do
@@ -152,83 +180,129 @@ if test -z "$show_help"; then
         esac
       done
       ;;
-    *install*|cp)
+    *db | *dbx)
+      mode=execute
+      ;;
+    *install*|cp|mv)
       mode=install
       ;;
     *rm)
       mode=uninstall
       ;;
-    *.la)
-      mode=dlname
-      ;;
     *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
       # Just use the default operation mode.
       if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  echo "$progname: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  echo "$progname: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
+        if test -n "$nonopt"; then
+          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+        else
+          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+        fi
       fi
       ;;
     esac
   fi
 
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit 1
+  fi
+
   # Change the help message to a mode-specific one.
   generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
+  help="Try \`$modename --help --mode=$mode' for more information."
 
   # These modes are in order of execution frequency so that they run quickly.
   case "$mode" in
   # libtool compile mode
   compile)
-    progname="$progname: compile"
+    modename="$modename: compile"
     # Get the compilation command and the source file.
-    base_compile="$nonopt"
+    base_compile=
     lastarg=
-    srcfile=
+    srcfile="$nonopt"
+    suppress_output=
 
     for arg
     do
-      # Quote any args containing shell metacharacters.
+      # Accept any command-line options.
       case "$arg" in
-      *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*|*\"*)
-	 quote_arg="'$arg'" ;;
-      *) quote_arg="$arg" ;;
+      -o)
+	$echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
+	$echo "$help" 1>&2
+	exit 1
+	;;
+
+      -static)
+	build_libtool_libs=no
+	build_old_libs=yes
+	continue
+	;;
+      esac
+
+      # Accept the current argument as the source file.
+      lastarg="$srcfile"
+      srcfile="$arg"
+
+      # Aesthetically quote the previous argument.
+
+      # Backslashify any backslashes, double quotes, and dollar signs.
+      # These are the only characters that are still specially
+      # interpreted inside of double-quoted scrings.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly in scan
+      # sets, so we specify it separately.
+      case "$lastarg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	lastarg="\"$lastarg\""
+	;;
       esac
 
-      base_compile="$base_compile$lastarg"
-      srcfile="$quote_arg"
-      lastarg=" $srcfile"
+      # Add the previous argument to base_compile.
+      if test -z "$base_compile"; then
+	base_compile="$lastarg"
+      else
+	base_compile="$base_compile $lastarg"
+      fi
     done
 
     # Get the name of the library object.
-    libobj=`echo "$srcfile" | sed -e 's%^.*/%%'`
+    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
 
     # Recognize several different file suffixes.
-    xform='[cCFSf]'
+    xform='[cCFSfms]'
     case "$libobj" in
-    *.c++) xform='c++' ;;
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
     *.cc) xform=cc ;;
     *.cpp) xform=cpp ;;
     *.cxx) xform=cxx ;;
     *.f90) xform=f90 ;;
-    *.for) xform='for' ;;
+    *.for) xform=for ;;
     esac
 
-    libobj=`echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
     case "$libobj" in
-    *.lo) obj=`echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
     *)
-      echo "$progname: cannot determine name of library object from \`$srcfile'" 1>&2
+      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
       exit 1
       ;;
     esac
 
     if test -z "$base_compile"; then
-      echo "$progname: you must specify a compilation command" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
@@ -243,41 +317,48 @@ if test -z "$show_help"; then
 
     # Only build a PIC object if we are building libtool libraries.
     if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
       # All platforms use -DPIC, to notify preprocessed assembler code.
       $show "$base_compile$pic_flag -DPIC $srcfile"
-      if $run eval "$base_compile$pic_flag -DPIC $srcfile"; then :
+      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
       else
-	test -n "$obj" && $run $rm $obj
-	exit 1
+        test -n "$obj" && $run $rm $obj
+        exit 1
       fi
 
       # If we have no pic_flag, then copy the object into place and finish.
       if test -z "$pic_flag"; then
-	$show "$LN_S $obj $libobj"
-	$run $LN_S $obj $libobj
-	exit $?
+        $show "$LN_S $obj $libobj"
+        $run $LN_S $obj $libobj
+        exit $?
       fi
 
       # Just move the object, then go on to compile the next one
       $show "$mv $obj $libobj"
       $run $mv $obj $libobj || exit 1
+
+      # Allow error messages only from the first compilation.
+      suppress_output=' >/dev/null 2>&1'
     fi
 
     # Only build a position-dependent object if we build old libraries.
     if test "$build_old_libs" = yes; then
-      $show "$base_compile $srcfile"
-      if $run eval "$base_compile $srcfile"; then :
+      # Suppress compiler output if we already did a PIC compilation.
+      $show "$base_compile $srcfile$suppress_output"
+      if $run eval "$base_compile \$srcfile$suppress_output"; then :
       else
         $run $rm $obj $libobj
         exit 1
       fi
     fi
 
-    # Create an invalid libtool object if no PIC, so that we don't accidentally
-    # link it into a program.
+    # Create an invalid libtool object if no PIC, so that we do not
+    # accidentally link it into a program.
     if test "$build_libtool_libs" != yes; then
       $show "echo timestamp > $libobj"
-      $run eval "echo timestamp > $libobj" || exit $?
+      $run eval "echo timestamp > \$libobj" || exit $?
     fi
 
     exit 0
@@ -285,26 +366,27 @@ if test -z "$show_help"; then
 
   # libtool link mode
   link)
-    progname="$progname: link"
-    # Go through the arguments, transforming them on the way.
-    cc="$nonopt"
-    args="$cc"
-    allow_undefined=no
-    compile_command="$cc"
-    finalize_command="$cc"
+    modename="$modename: link"
+    CC="$nonopt"
+    allow_undefined=yes
+    compile_command="$CC"
+    finalize_command="$CC"
+
     compile_shlibpath=
     finalize_shlibpath=
     deplibs=
+    dlfiles=
+    dlprefiles=
     export_dynamic=no
     hardcode_libdirs=
-    install_libdir=
     libobjs=
     link_against_libtool_libs=
-    link_static=
     ltlibs=
     objs=
     prev=
     prevarg=
+    release=
+    rpath=
     perm_rpath=
     temp_rpath=
     vinfo=
@@ -313,294 +395,455 @@ if test -z "$show_help"; then
     for arg
     do
       case "$arg" in
-      -static)
+      -all-static | -static)
+        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+        fi
         build_libtool_libs=no
-        build_old_libs=yes
+	build_old_libs=yes
         break
         ;;
       esac
     done
 
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
     for arg
     do
       # 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@"
-	  args="$args $arg"
-	  ;;
-	esac
-
-	eval "$prev=\$arg"
-	prev=
+        case "$prev" in
+        output)
+          compile_command="$compile_command @OUTPUT@"
+          finalize_command="$finalize_command @OUTPUT@"
+          ;;
+        esac
 
-	continue
+        case "$prev" in
+        dlfiles|dlprefiles)
+          case "$arg" in
+          *.la | *.lo) ;;  # We handle these cases below.
+          *)
+            dlprefiles="$dlprefiles $arg"
+            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
+            prev=
+            ;;
+          esac
+          ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+        rpath)
+          rpath="$rpath $arg"
+	  prev=
+	  continue
+	  ;;
+        *)
+          eval "$prev=\"\$arg\""
+          prev=
+          continue
+          ;;
+        esac
       fi
 
-      args="$args $arg"
       prevarg="$arg"
 
       case "$arg" in
-      -allow-undefined) allow_undefined=yes ;;
+      -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
+	;;
 
-      -export-dynamic)
-	export_dynamic=yes
-	compile_command="$compile_command $export_dynamic_flag"
-	finalize_command="$finalize_command $export_dynamic_flag"
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
 	continue
 	;;
 
-      -L*)
-	dir=`echo "$arg" | sed 's%^-L\(.*\)$%\1%'`
-	case "$dir" in
-	/*)
-	  ;;
-	*)
-	  echo "$progname: \`-L$dir' cannot specify a relative directory" 1>&2
-	  exit 1
-	  ;;
-	esac
-	deplibs="$deplibs $arg"
-	;;
+      -dlopen)
+        prev=dlfiles
+        continue
+        ;;
 
-      -l*) deplibs="$deplibs $arg" ;;
+      -dlpreopen)
+        prev=dlprefiles
+        continue
+        ;;
 
-      -o) prev=output ;;
+      -export-dynamic)
+        if test "$export_dynamic" != yes; then
+          export_dynamic=yes
+	  if test -n "$export_dynamic_flag_spec"; then
+	    eval arg=\"$export_dynamic_flag_spec\"
+	  else
+	    arg=
+	  fi
 
-      -rpath)
-	prev=install_libdir
-	continue
-	;;
+          # Add the symbol object into the linking commands.
+	  compile_command="$compile_command @SYMFILE@"
+	  finalize_command="$finalize_command @SYMFILE@"
+        fi
+        ;;
 
-      -static)
-	link_static="`eval echo \"$link_static_flag\"`"
-	compile_command="$compile_command $link_static"
-	continue
-	;;
+      -L*)
+        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
+        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
+          ;;
+        esac
+        deplibs="$deplibs $arg"
+        ;;
 
-      -version-file)
-	echo "$progname: \`-version-file' has been replaced by \`-version-info'" 1>&2
-	echo "$help" 1>&2
-	exit 1
-	;;
+      -l*) deplibs="$deplibs $arg" ;;
 
-      -version-info)
-	prev=vinfo
+      -no-undefined)
+	allow_undefined=no
 	continue
 	;;
 
-      -*) cc="$cc $arg" ;; # Some other compiler flag.
+      -o) prev=output ;;
 
-      *.o)
-	# A standard object.
-	objs="$objs $arg"
+      -release)
+	prev=release
+	continue
 	;;
 
-      *.a)
-	# Find the relevant object directory and library name.
-	file=`echo "$arg" | sed 's%^.*/%%'`
-	dir=`echo "$arg" | sed 's%/[^/]*$%/%'`
-	test "$dir" = "$arg" && dir=
+      -rpath)
+        prev=rpath
+        continue
+        ;;
 
-	# Standard archive.
-	objs="$objs $arg"
+      -static)
+	# 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
 	;;
 
-      *.lo)
-	# A library object.
-	libobjs="$libobjs $arg"
-	;;
+      -version-info)
+        prev=vinfo
+        continue
+        ;;
 
-      *.la)
-	# A libtool-controlled library.
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case "$arg" in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	  arg="\"$arg\""
+	  ;;
+	esac
+        ;;
 
-	libdir=
-	library_names=
-	old_library=
+      *.o | *.a)
+        # A standard object.
+        objs="$objs $arg"
+        ;;
 
-	# Check to see that this really is a libtool archive.
-	if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
-	else
-	  echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
-	  exit 1
+      *.lo)
+        # A library object.
+	if test "$prev" = dlfiles; then
+	  dlfiles="$dlfiles $arg"
+	  if test "$build_libtool_libs" = yes; then
+	    prev=
+	    continue
+	  else
+	    # If libtool objects are unsupported, then we need to preload.
+	    prev=dlprefiles
+	  fi
 	fi
 
-	# If there is no directory component, then add one.
-	case "$arg" in
-	*/*) . $arg ;;
-	*) . ./$arg ;;
-	esac
-
-	if test -z "$libdir"; then
-	  echo "$progname: \`$arg' contains no -rpath information" 1>&2
-	  exit 1
+	if test "$prev" = dlprefiles; then
+	  # Preload the old-style object.
+	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
+	  prev=
 	fi
+	libobjs="$libobjs $arg"
+        ;;
 
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
+      *.la)
+        # A libtool-controlled library.
 
-	if test -z "$linklib"; then
-	  echo "$progname: cannot find name of link library for \`$arg'" 1>&2
-	  exit 1
-	fi
+        dlname=
+        libdir=
+        library_names=
+        old_library=
 
-	# Find the relevant object directory and library name.
-	name=`echo "$arg" | sed 's%^.*/%%; s/\.la$//; s/^lib//'`
-	dir=`echo "$arg" | sed 's%/[^/]*$%%'`
-	if test "$dir" = "$arg"; then
-	  dir="$objdir"
-	else
-	  dir="$dir/$objdir"
-	fi
+        # Check to see that this really is a libtool archive.
+        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+        else
+          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
+          exit 1
+        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
+        # If there is no directory component, then add one.
+        case "$arg" in
+        */* | *\\*) . $arg ;;
+        *) . ./$arg ;;
+        esac
 
-	  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 libdirs.
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		libdir=
-	      fi
-	    fi
+        if test -z "$libdir"; then
+          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
+          exit 1
+        fi
 
-	    if test -n "$libdir"; then
-	      hardcode_libdir_flag=`eval echo \"$hardcode_libdir_flag_spec\"`
-	      compile_command="$compile_command $hardcode_libdir_flag"
-	      finalize_command="$finalize_command $hardcode_libdir_flag"
-	    fi
-	  elif test "$hardcode_runpath_var" = yes; then
-	    # Do the same for the permanent run path.
-	    case "$perm_rpath " in
-	    "* $libdir *") ;;
-	    *) perm_rpath="$perm_rpath $libdir" ;;
-	    esac
-	  fi
+        # 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 \`$arg'" 1>&2
+          exit 1
+        fi
 
-	  case "$hardcode_action" in
-	  immediate)
-	    if test "$hardcode_direct" = no; then
-	      compile_command="$compile_command $dir/$linklib"
-	    elif test "$hardcode_minus_L" = no; then
-	      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"
-	    fi
-	    ;;
+        # Find the relevant object directory and library name.
+        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
+        dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+        if test "X$dir" = "X$arg"; then
+          dir="$objdir"
+        else
+          dir="$dir/$objdir"
+        fi
 
-	  relink)
-	    # We need an absolute path.
-	    case "$dir" in
-	    /*) ;;
-	    *)
-	      absdir=`cd "$dir" && pwd`
-	      if test -z "$absdir"; then
-		echo "$progname: 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"
-	    fi
-	    ;;
+        # This library was specified with -dlopen.
+        if test "$prev" = dlfiles; then
+          dlfiles="$dlfiles $arg"
+          if test -z "$dlname"; then
+            # If there is no dlname, 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"
+            prev=
+            continue
+          fi
+        fi
 
-	  *)
-	    echo "$progname: \`$hardcode_action' is an unknown hardcode action" 1>&2
-	    exit 1
-	    ;;
-	  esac
+        # The library was specified with -dlpreopen.
+        if test "$prev" = dlprefiles; then
+          # Prefer using a static library (so that no silly _DYNAMIC symbols
+          # are required to link).
+          if test -n "$old_library"; then
+            dlprefiles="$dlprefiles $dir/$old_library"
+          else
+            dlprefiles="$dlprefiles $dir/$linklib"
+          fi
+          prev=
+        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"
+        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
+
+
+          case "$hardcode_action" in
+          immediate)
+            if test "$hardcode_direct" = no; then
+              compile_command="$compile_command $dir/$linklib"
+            elif test "$hardcode_minus_L" = no; then
+              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"
+            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"
+            fi
+            ;;
+
+          *)
+            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
+            exit 1
+            ;;
+          esac
+
+          # 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 can't seem to hardcode it, guess we'll fake it.
-	    finalize_command="$finalize_command -L$libdir -l$name"
-	  fi
+            # 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 "$progname: cannot find static library for \`$arg'" 1>&2
-	    exit 1
+            $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
-	  test -n "$old_library" && linklib="$old_library"
-          compile_command="$compile_command $dir/$linklib"
-	  finalize_command="$finalize_command $dir/$linklib"
         fi
+
+	# Add in any libraries that this one depends upon.
+	compile_command="$compile_command$dependency_libs"
+	finalize_command="$finalize_command$dependency_libs"
 	continue
-	;;
+        ;;
 
+      # Some other compiler argument.
       *)
-        echo "$progname: unknown file suffix for \`$arg'" 1>&2
-	echo "$help" 1>&2
-	exit 1
-	;;
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case "$arg" in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	  arg="\"$arg\""
+	  ;;
+	esac
+        ;;
       esac
 
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
+      # 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
 
     if test -n "$prev"; then
-      echo "$progname: the \`$prevarg' option requires an argument" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
-    # Substitute the hardcoded libdirs into the compile commands.
-    if test "$hardcode_libdir_colon_separated" = yes; then
-      compile_command=`echo "$compile_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
-      finalize_command=`echo "$finalize_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+    if test -n "$vinfo" && test -n "$release"; then
+      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
+      $echo "$help" 1>&2
+      exit 1
     fi
 
     oldlib=
     oldobjs=
     case "$output" in
     "")
-      echo "$progname: you must specify an output file" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
       exit 1
       ;;
 
-    */*)
-      echo "$progname: output file \`$output' must have no directory components" 1>&2
+    */* | *\\*)
+      $echo "$modename: output file \`$output' must have no directory components" 1>&2
       exit 1
       ;;
 
+    *.a)
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      build_old_libs=yes
+      oldlib="$output"
+      $show "$rm $oldlib"
+      $run $rm $oldlib
+      ;;
+
     *.la)
-      libname=`echo "$output" | sed 's/\.la$//'`
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case "$output" in
+      lib*) ;;
+      *)
+	$echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
+	$echo "$help" 1>&2
+	exit 1
+	;;
+      esac
+
+      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+      eval libname=\"$libname_spec\"
 
       # All the library-specific variables (install_libdir is set above).
       library_names=
@@ -611,225 +854,316 @@ if test -z "$show_help"; then
       age=0
 
       if test -n "$objs"; then
-	echo "$progname: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
-	exit 1
+        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+        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 "$progname: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
-	exit 1
+        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
+        exit 1
       fi
 
-      if test -z "$install_libdir"; then
-	echo "$progname: you must specify an installation directory with \`-rpath'" 1>&2
-	exit 1
+      if test -n "$dlfiles$dlprefiles"; then
+        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
+        # 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
 
-      # Parse the version information argument.
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
-      set dummy $vinfo
-      IFS="$save_ifs"
+      if test -z "$rpath"; then
+        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
+	$echo "$help" 1>&2
+        exit 1
+      fi
 
-      if test -n "$5"; then
-        echo "$progname: too many parameters to \`-version-info'" 1>&2
-	echo "$help" 1>&2
-	exit 1
+      set dummy $rpath
+      if test $# -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
       fi
+      install_libdir="$2"
 
-      test -n "$2" && current="$2"
-      test -n "$3" && revision="$3"
-      test -n "$4" && age="$4"
+      if test -n "$vinfo"; then
 
-      # Check that each of the things are valid numbers.
-      case "$current" in
-      0 | [1-9] | [1-9][0-9]*) ;;
-      *)
-	echo "$progname: CURRENT \`$current' is not a nonnegative integer" 1>&2
-        echo "$progname: \`$vinfo' is not valid version information" 1>&2
-        exit 1
-	;;
-      esac
+	# Parse the version information argument.
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo
+	IFS="$save_ifs"
 
-      case "$revision" in
-      0 | [1-9] | [1-9][0-9]*) ;;
-      *)
-	echo "$progname: REVISION \`$revision' is not a nonnegative integer" 1>&2
-        echo "$progname: \`$vinfo' is not valid version information" 1>&2
-        exit 1
-	;;
-      esac
+	if test -n "$5"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	fi
 
-      case "$age" in
-      0 | [1-9] | [1-9][0-9]*) ;;
-      *)
-	echo "$progname: AGE \`$age' is not a nonnegative integer" 1>&2
-        echo "$progname: \`$vinfo' is not valid version information" 1>&2
-        exit 1
-	;;
-      esac
+	test -n "$2" && current="$2"
+	test -n "$3" && revision="$3"
+	test -n "$4" && age="$4"
 
-      if test $age -gt $current; then
-        echo "$progname: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-        echo "$progname: \`$vinfo' is not valid version information" 1>&2
-        exit 1
-      fi
+	# Check that each of the things are valid numbers.
+	case "$current" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
 
-      # Calculate the version variables.
-      version_vars="version_type current age revision"
-      case "$version_type" in
-      none) ;;
+	case "$revision" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
 
-      linux)
-	version_vars="$version_vars major versuffix"
-	major=`expr $current - $age`
-	versuffix="$major.$age.$revision"
-	;;
+	case "$age" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
 
-      osf)
-	version_vars="$version_vars versuffix verstring"
-	major=`expr $current - $age`
-	versuffix="$current.$age.$revision"
-	verstring="$versuffix"
-
-	# Add in all the interfaces that we are compatible with.
-	loop=$age
-	while test $loop != 0; do
-	  iface=`expr $current - $loop`
-	  loop=`expr $loop - 1`
-	  verstring="$verstring:${iface}.0"
-	done
+	if test $age -gt $current; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	fi
 
-	# Make executables depend on our current version.
-	verstring="$verstring:${current}.0"
-	;;
+	# Calculate the version variables.
+	version_vars="version_type current age revision"
+	case "$version_type" in
+	none) ;;
 
-      sunos)
-	version_vars="$version_vars major versuffix"
-	major="$current"
-	versuffix="$current.$revision"
-	;;
+	linux)
+	  version_vars="$version_vars major versuffix"
+	  major=.`expr $current - $age`
+	  versuffix=".$major.$age.$revision"
+	  ;;
 
-      *)
-	echo "$progname: unknown library version type \`$version_type'" 1>&2
-	echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	exit 1
-	;;
-      esac
+	osf)
+	  version_vars="$version_vars versuffix verstring"
+	  major=.`expr $current - $age`
+	  versuffix=."$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test $loop != 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  version_vars="$version_vars major versuffix"
+	  major=."$current"
+	  versuffix=."$current.$revision"
+	  ;;
+
+	windows)
+	  # Like Linux, but with '-' rather than '.', since we only
+	  # want one extension on Windows 95.
+	  version_vars="$version_vars major versuffix"
+	  major=`expr $current - $age`
+	  versuffix="-$major-$age-$revision"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit 1
+	  ;;
+	esac
+      else
+
+        # No version information.
+	version_vars=
+
+	case "$version_type" in
+	none) ;;
+
+	linux)
+	  version_vars="$version_vars versuffix major"
+	  major=
+	  versuffix=
+	  ;;
+
+	osf)
+	  version_vars="$version_vars versuffix verstring"
+	  major=
+	  versuffix=
+	  verstring=":0.0"
+	  ;;
+
+	sunos)
+	  version_vars="$version_vars major versuffix"
+	  major=
+	  versuffix=
+	  ;;
+
+	windows)
+	  # Like Linux, but with '-' rather than '.', and with a leading
+	  # '-', since we only want one extension on Windows 95.
+	  version_vars="$version_vars major versuffix"
+	  major=
+	  versuffix=
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit 1
+	  ;;
+	esac
+      fi
 
       # Create the output directory, or remove our outputs if we need to.
       if test -d $objdir; then
-        $show "$rm $objdir/$libname.*"
-        $run $rm $objdir/$libname.*
+        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
       else
         $show "$mkdir $objdir"
-	$run $mkdir $objdir || exit $?
+        $run $mkdir $objdir
+	status=$?
+	if test $status -eq 0 || test -d $objdir; then :
+	else
+	  exit $status
+	fi
       fi
 
       # Check to see if the archive will have undefined symbols.
       if test "$allow_undefined" = yes; then
-	if test "$allow_undefined_flag" = unsupported; then
-	  echo "$progname: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-	  build_libtool_libs=no
-	fi
+        if test "$allow_undefined_flag" = unsupported; then
+          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+          build_libtool_libs=no
+	  build_old_libs=yes
+        fi
       else
-	# Clear the flag.
-	allow_undefined_flag=
+        # Don't allow undefined symbols.
+        allow_undefined_flag="$no_undefined_flag"
       fi
 
+      # Add libc to deplibs on all systems.
+      dependency_libs="$deplibs"
+      deplibs="$deplibs -lc"
+
       if test "$build_libtool_libs" = yes; then
-	# Get the real and link names of the library.
-	library_names=`eval echo \"$library_names_spec\"`
-	set dummy $library_names
-	realname="$2"
-	shift; shift
-
-	if test -n "$soname_spec"; then
-	  soname=`eval echo \"$soname_spec\"`
-	else
-	  soname="$realname"
-	fi
+        # Get the real and link names of the library.
+        eval library_names=\"$library_names_spec\"
+        set dummy $library_names
+        realname="$2"
+        shift; shift
+
+        if test -n "$soname_spec"; then
+          eval soname=\"$soname_spec\"
+        else
+          soname="$realname"
+        fi
 
-	lib="$objdir/$realname"
-	linknames=
+        lib="$objdir/$realname"
 	for link
 	do
 	  linknames="$linknames $link"
 	done
 
-	# Use standard objects if they are PIC.
-	test -z "$pic_flag" && libobjs=`echo "$libobjs " | sed 's/\.lo /.o /g; s/ $//g'`
+        # Use standard objects if they are PIC.
+        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
 
-	# Do each of the archive commands.
-	cmds=`eval echo \"$archive_cmds\"`
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
+        # Do each of the archive commands.
+        eval cmds=\"$archive_cmds\"
+        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
+        for cmd in $cmds; do
+          IFS="$save_ifs"
+          $show "$cmd"
+          $run eval "$cmd" || exit $?
+        done
+        IFS="$save_ifs"
 
-	# Create links to the real library.
-	for link in $linknames; do
-	  $show "(cd $objdir && $LN_S $realname $link)"
-	  $run eval "(cd $objdir && $LN_S $realname $link)" || exit $?
-	done
+        # Create links to the real library.
+        for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+            $show "(cd $objdir && $LN_S $realname $linkname)"
+            $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
+          fi
+        done
 
-	# If -export-dynamic was specified, set the dlname.
-	if test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
+        # If -export-dynamic was specified, set the dlname.
+        if test "$export_dynamic" = yes; then
+          # On all known operating systems, these are identical.
+          dlname="$soname"
+        fi
       fi
+
+      # Now set the variables for building old libraries.
+      oldlib="$objdir/$libname.a"
       ;;
 
     *.lo | *.o)
       if test -n "$link_against_libtool_libs"; then
-	echo "$progname: error: cannot link libtool libraries into reloadable objects" 1>&2
-	exit 1
+        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
+        exit 1
       fi
 
       if test -n "$deplibs"; then
-	echo "$progname: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
       fi
 
-      if test -n "$install_libdir"; then
-        echo "$progname: warning: \`-rpath' is ignored while creating objects" 1>&2
+      if test -n "$dlfiles$dlprefiles"; then
+        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
+        # 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 -n "$rpath"; then
+        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
       fi
 
       if test -n "$vinfo"; then
-	echo "$progname: warning: \`-version-info' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
       case "$output" in
       *.lo)
-	if test -n "$objs"; then
-	  echo "$progname: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit 1
-	fi
-	libobj="$output"
-	obj=`echo "$output" | sed 's/\.lo$/.o/'`
-	;;
+        if test -n "$objs"; then
+          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+          exit 1
+        fi
+        libobj="$output"
+        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
+        ;;
       *)
         libobj=
-	obj="$output"
-	;;
+        obj="$output"
+        ;;
       esac
 
       # Delete the old objects.
       $run $rm $obj $libobj
 
       # Create the old-style object.
-      reload_objs="$objs"`echo "$libobjs " | sed 's/[^ 	]*\.a //g; s/\.lo /.o /g; s/ $//g'`
+      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       output="$obj"
-      cmds=`eval echo \"$reload_cmds\"`
+      eval cmds=\"$reload_cmds\"
       IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
         $show "$cmd"
-	$run eval "$cmd" || exit $?
+        $run eval "$cmd" || exit $?
       done
       IFS="$save_ifs"
 
@@ -839,16 +1173,16 @@ if test -z "$show_help"; then
       if test "$build_libtool_libs" != yes; then
         # Create an invalid libtool object if no PIC, so that we don't
         # accidentally link it into a program.
-	$show "echo timestamp > $libobj"
-	$run eval "echo timestamp > $libobj" || exit $?
-	exit 0
+        $show "echo timestamp > $libobj"
+        $run eval "echo timestamp > $libobj" || exit $?
+        exit 0
       fi
 
       if test -n "$pic_flag"; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs"
-	output="$libobj"
-        cmds=`eval echo \"$reload_cmds\"`
+        # Only do commands if we really have different PIC objects.
+        reload_objs="$libobjs"
+        output="$libobj"
+        eval cmds=\"$reload_cmds\"
         IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
         for cmd in $cmds; do
           IFS="$save_ifs"
@@ -866,114 +1200,294 @@ if test -z "$show_help"; then
       ;;
 
     *)
-      if test -n "$install_libdir"; then
-        echo "$progname: warning: \`-rpath' is ignored while linking programs" 1>&2
+      if test -n "$vinfo"; then
+        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
       fi
 
-      if test -n "$vinfo"; then
-	echo "$progname: warning: \`-version-info' is ignored while linking programs" 1>&2
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
-      if test -n "$libobjs"; then
-	# Transform all the library objects into standard objects.
-	compile_command=`echo "$compile_command " | sed 's/\.lo /.o /g; s/ $//'`
-	finalize_command=`echo "$finalize_command " | sed 's/\.lo /.o /g; s/ $//'`
+      if test -n "$rpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath; do
+          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
+            case "$perm_rpath " in
+            *" $libdir "*) ;;
+            *) perm_rpath="$perm_rpath $libdir" ;;
+            esac
+          fi
+	done
       fi
 
-      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
-	# Replace the output file specification.
-	compile_command=`echo "$compile_command" | sed 's%@OUTPUT@%'"$output"'%g'`
-	finalize_command=`echo "$finalize_command" | sed 's%@OUTPUT@%'"$output"'%g'`
+      # 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@%$hardcode_libdirs%g"`
+      fi
 
-	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$compile_command"
-	$run $compile_command
-	status=$?
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+        # Transform all the library objects into standard objects.
+        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+      fi
+
+      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
+        dlsyms="${output}S.c"
+      else
+        dlsyms=
+      fi
+
+      if test -n "$dlsyms"; then
+        # Add our own program objects to the preloaded list.
+        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+
+	# Discover the nlist of each of the dlfiles.
+        nlist="$objdir/${output}.nm"
 
-	# If we failed to link statically, then try again.
-	if test $status -ne 0 && test -n "$link_static"; then
-	  echo "$progname: cannot link \`$output' statically; retrying semi-dynamically" 1>&2
-	  compile_command=`echo "$compile_command " | sed "s% $link_static % %;s/ $//"`
-	  $show "$finalize_command"
-	  $run $finalize_command
+	if test -d $objdir; then
+	  $show "$rm $nlist ${nlist}T"
+	  $run $rm "$nlist" "${nlist}T"
+	else
+	  $show "$mkdir $objdir"
+	  $run $mkdir $objdir
 	  status=$?
+	  if test $status -eq 0 || test -d $objdir; then :
+	  else
+	    exit $status
+	  fi
 	fi
-	exit $status
+
+        for arg in $dlprefiles; do
+	  $show "extracting global C symbols from \`$arg'"
+	  $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+        done
+
+        # Parse the name list into a source file.
+        $show "creating $objdir/$dlsyms"
+        if test -z "$run"; then
+	  # Make sure we at least have an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  # Try sorting and uniquifying the output.
+	  if sort "$nlist" | uniq > "$nlist"T; then
+	    mv -f "$nlist"T "$nlist"
+	    wcout=`wc "$nlist" 2>/dev/null`
+	    count=`echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
+	    (test "$count" -ge 0) 2>/dev/null || count=-1
+	  else
+	    $rm "$nlist"T
+	    count=-1
+	  fi
+
+	  case "$dlsyms" in
+	  "") ;;
+	  *.c)
+	    $echo > "$objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define dld_preloaded_symbol_count some_other_symbol
+#define dld_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	    if test -f "$nlist"; then
+	      sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
+	    else
+	      echo '/* NONE */' >> "$objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$objdir/$dlsyms" "\
+
+#undef dld_preloaded_symbol_count
+#undef dld_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define __ptr_t void *
+#else
+# define __ptr_t char *
+#endif
+
+/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
+int dld_preloaded_symbol_count = $count;
+
+/* The mapping between symbol names and symbols. */
+struct {
+  char *name;
+  __ptr_t address;
+}
+dld_preloaded_symbols[] =
+{\
+"
+
+	    if test -f "$nlist"; then
+	      sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$objdir/$dlsyms" "\
+  {0, (__ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	    ;;
+
+	  *)
+	    $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	    exit 1
+	    ;;
+	  esac
+        fi
+
+        # Now compile the dynamic symbol file.
+        $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
+        $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
+
+        # Transform the symbol file into the correct name.
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+      elif test "$export_dynamic" != yes; then
+        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
+      else
+        # We keep going just in case the user didn't refer to
+        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
+        # really was required.
+        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+
+        # 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"
+        $run eval "$compile_command"
+        exit $?
       fi
 
       # Replace the output file specification.
-      compile_command=`echo "$compile_command" | sed 's%@OUTPUT@%'"$objdir/$output"'%g'`
-      finalize_command=`echo "$finalize_command" | sed 's%@OUTPUT@%'"$objdir/$output"'T%g'`
+      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
 
       # Create the binary in the object directory, then wrap it.
       if test -d $objdir; then :
       else
         $show "$mkdir $objdir"
-        $run $mkdir $objdir || exit $?
+	$run $mkdir $objdir
+	status=$?
+	if test $status -eq 0 || test -d $objdir; then :
+	else
+	  exit $status
+	fi
       fi
 
       if test -n "$shlibpath_var"; then
         # We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case "$dir" in
-	  /*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
+        rpath=
+        for dir in $temp_rpath; do
+          case "$dir" in
+          /* | [A-Za-z]:\\*)
+            # Absolute path.
+            rpath="$rpath$dir:"
+            ;;
+          *)
+            # Relative path: add a thisdir entry.
+            rpath="$rpath\$thisdir/$dir:"
+            ;;
+          esac
+        done
+        temp_rpath="$rpath"
       fi
 
       # Delete the old output file.
       $run $rm $output
 
       if test -n "$compile_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
+        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"
+        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
       fi
 
-      if test -n "$perm_rpath"; then
-	# We should set the runpath_var.
-	rpath=
-	for dir in $perm_rpath; do
-	  rpath="$rpath$dir:"
-	done
-	compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
-	finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
+      if test -n "$runpath_var" && test -n "$perm_rpath"; then
+        # We should set the runpath_var.
+        rpath=
+        for dir in $perm_rpath; do
+          rpath="$rpath$dir:"
+        done
+        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
+        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
       fi
 
       case "$hardcode_action" in
       relink)
-	# AGH! Flame the AIX and HP-UX people for me, will ya?
-	echo "$progname: warning: using a buggy system linker" 1>&2
-	echo "$progname: relinking will be required before \`$output' can be installed" 1>&2
-	;;
+        # AGH! Flame the AIX and HP-UX people for me, will ya?
+        $echo "$modename: warning: using a buggy system linker" 1>&2
+        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
+        ;;
       esac
 
       $show "$compile_command"
       $run eval "$compile_command" || exit $?
 
       # Now create the wrapper script.
-      echo "creating $output"
+      $show "creating $output"
+
+      # Quote the finalize command for shipping.
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+
+      # Quote $echo for shipping.
+      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 
       # Only actually do things if our run command is non-null.
       if test -z "$run"; then
-	$rm $output
-	trap "$rm $output; exit 1" 1 2 15
+        $rm $output
+        trap "$rm $output; exit 1" 1 2 15
 
-	cat > $output <<EOF
+        $echo > $output "\
 #! /bin/sh
 
 # $output - temporary wrapper script for $objdir/$output
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION
+# Generated by ltmain.sh - GNU $PACKAGE $VERSION
 #
 # The $output program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.
@@ -981,96 +1495,117 @@ if test -z "$show_help"; then
 # This wrapper script should never be moved out of \``pwd`'.
 # If it is, it will not operate correctly.
 
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+
 # This environment variable determines our operation mode.
-if test "\$libtool_install_magic" = "$magic"; then
+if test \"\$libtool_install_magic\" = \"$magic\"; then
   # install mode needs the following variables:
   link_against_libtool_libs='$link_against_libtool_libs'
-  finalize_command='$finalize_command'
+  finalize_command=\"$finalize_command\"
 else
-  # Find the directory that this script lives in.
-  thisdir=\`echo \$0 | sed 's%/[^/]*$%%'\`
-  test "x\$thisdir" = "x\$0" && thisdir=.
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
+  else
+    echo=\"$qecho\"
+    file=\"\$0\"
+  fi\
+"
+        $echo >> $output "\
 
-  # Try to get the absolute directory name.
-  absdir=\`cd "\$thisdir" && pwd\`
-  test -n "\$absdir" && thisdir="\$absdir"
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
 
-  progdir="\$thisdir/$objdir"
-  program="$output"
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
+  done
 
-  if test -f "\$progdir/\$program"; then
-    # Run the actual program with our arguments.
-    args=
-    for arg
-    do
-      # Quote arguments (to preserve shell metacharacters).
-      args="\$args '\$arg'"
-    done
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 
-    # Export the path to the program.
-    PATH="\$progdir:\$PATH"
-    export PATH
-EOF
+  progdir=\"\$thisdir/$objdir\"
+  program='$output'
 
-	# Export our shlibpath_var if we have one.
-	if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  cat >> $output <<EOF
+  if test -f \"\$progdir/\$program\"; then"
 
+        # Export our shlibpath_var if we have one.
+        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+          $echo >> $output "\
     # Add our own library path to $shlibpath_var
-    $shlibpath_var="$temp_rpath\$$shlibpath_var"
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
-    $shlibpath_var=\`echo \$$shlibpath_var | sed -e 's/:*\$//'\`
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
 
     export $shlibpath_var
-EOF
-	fi
+"
+        fi
 
-        cat >> $output <<EOF
+        $echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
 
-    eval "exec \$program \$args"
+      # Export the path to the program.
+      PATH=\"\$progdir:\$PATH\"
+      export PATH
 
-    echo "\$0: cannot exec \$program \$args"
-    exit 1
+      exec \$program \${1+\"\$@\"}
+
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit 1
+    fi
   else
     # The program doesn't exist.
-    echo "\$0: error: \$progdir/\$program does not exist" 1>&2
-    echo "This script is just a wrapper for \$program." 1>&2
-    echo "See the $PACKAGE documentation for more information." 1>&2
+    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
-fi
-EOF
-	chmod +x $output
+fi\
+"
+        chmod +x $output
       fi
       exit 0
       ;;
     esac
 
-
     # See if we need to build an old-fashioned archive.
     if test "$build_old_libs" = "yes"; then
-      # Now set the variables for building old libraries.
-      oldlib="$objdir/$libname.a"
-
       # Transform .lo files to .o files.
-      oldobjs="$objs"`echo "$libobjs " | sed 's/[^ 	]*\.a //g; s/\.lo /.o /g; s/ $//g'`
+      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
-      if test -d "$objdir"; then
-	$show "$rm $oldlib"
-	$run $rm $oldlib
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+	eval cmds=\"$old_archive_from_new_cmds\"
       else
-	$show "$mkdir $objdir"
-	$run $mkdir $objdir
+	eval cmds=\"$old_archive_cmds\"
       fi
-
-      # Do each command in the archive commands.
-      cmds=`eval echo \"$old_archive_cmds\"`
       IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
         $show "$cmd"
-	$run eval "$cmd" || exit $?
+        $run eval "$cmd" || exit $?
       done
       IFS="$save_ifs"
     fi
@@ -1081,13 +1616,13 @@ EOF
       old_library=
       test "$build_old_libs" = yes && old_library="$libname.a"
 
-      echo "creating $output"
+      $show "creating $output"
 
       # Only create the output if not a dry run.
       if test -z "$run"; then
-	cat > $output <<EOF
+        $echo > $output "\
 # $output - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION
+# Generated by ltmain.sh - GNU $PACKAGE $VERSION
 
 # The name that we can dlopen(3).
 dlname='$dlname'
@@ -1098,14 +1633,17 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
 # Version information for $libname.
 current=$current
 age=$age
 revision=$revision
 
 # Directory that this library needs to be installed in:
-libdir='$install_libdir'
-EOF
+libdir='$install_libdir'\
+"
       fi
 
       # Do a symbolic link so that the libtool archive can be found in
@@ -1119,19 +1657,36 @@ EOF
 
   # libtool install mode
   install)
-    progname="$progname: install"
+    modename="$modename: install"
 
-    # The first argument is the name of the installation program.
-    install_prog="$nonopt"
-    install_prog_shell=""
-
-    # CYGNUS LOCAL: Handle /bin/sh at the start.
-    if test "$install_prog" = "${CONFIG_SHELL}"; then
-      install_prog_shell="$install_prog "
-      install_prog="$1"
+    # There may be an optional /bin/sh argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL"; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
       shift
+    else
+      install_prog=
+      arg="$nonopt"
     fi
 
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case "$arg" in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
     # We need to accept at least all the BSD install flags.
     dest=
     files=
@@ -1144,8 +1699,8 @@ EOF
     do
       if test -n "$dest"; then
         files="$files $dest"
-	dest="$arg"
-	continue
+        dest="$arg"
+        continue
       fi
 
       case "$arg" in
@@ -1155,48 +1710,56 @@ EOF
       -m) prev="-m" ;;
       -o) prev="-o" ;;
       -s)
-	stripme=" -s"
-	continue
-	;;
+        stripme=" -s"
+        continue
+        ;;
       -*) ;;
 
       *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest="$arg"
-	  continue
-	fi
+        # If the previous option needed an argument, then skip it.
+        if test -n "$prev"; then
+          prev=
+        else
+          dest="$arg"
+          continue
+        fi
         ;;
       esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	arg="\"$arg\""
+	;;
+      esac
       install_prog="$install_prog $arg"
     done
 
     if test -z "$install_prog"; then
-      echo "$progname: you must specify an install program" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
     if test -n "$prev"; then
-      echo "$progname: the \`$prev' option requires an argument" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
     if test -z "$files"; then
       if test -z "$dest"; then
-        echo "$progname: no file or destination specified" 1>&2
+        $echo "$modename: no file or destination specified" 1>&2
       else
-	echo "$progname: you must specify a destination" 1>&2
+        $echo "$modename: you must specify a destination" 1>&2
       fi
-      echo "$help" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
     # Strip any trailing slash from the destination.
-    dest=`echo "$dest" | sed 's%/$%%'`
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
 
     # Check to see that the destination is a directory.
     test -d "$dest" && isdir=yes
@@ -1204,34 +1767,38 @@ EOF
       destdir="$dest"
       destname=
     else
-      destdir=`echo "$dest" | sed 's%/[^/]*$%%'`
-      test "$destdir" = "$dest" && destdir=.
-      destname=`echo "$dest" | sed 's%^.*/%%'`
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files
       if test $# -gt 2; then
-        echo "$progname: \`$dest' is not a directory" 1>&2
-        echo "$help" 1>&2
-	exit 1
+        $echo "$modename: \`$dest' is not a directory" 1>&2
+        $echo "$help" 1>&2
+        exit 1
       fi
     fi
     case "$destdir" in
-    /*) ;;
+    /* | [A-Za-z]:\\*) ;;
     *)
       for file in $files; do
-	case "$file" in
-	*.lo) ;;
-	*)
-	  echo "$progname: \`$destdir' must be an absolute directory name" 1>&2
-	  echo "$help" 1>&2
-	  exit 1
-	  ;;
-	esac
+        case "$file" in
+        *.lo) ;;
+        *)
+          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+          $echo "$help" 1>&2
+          exit 1
+          ;;
+        esac
       done
       ;;
     esac
 
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
     staticlibs=
     future_libdirs=
     current_libdirs=
@@ -1240,69 +1807,59 @@ EOF
       # Do each installation.
       case "$file" in
       *.a)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
+        # Do the static libraries later.
+        staticlibs="$staticlibs $file"
+        ;;
 
       *.la)
-	# Check to see that this really is a libtool archive.
-	if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then :
-	else
-	  echo "$progname: \`$file' is not a valid libtool archive" 1>&2
-	  echo "$help" 1>&2
-	  exit 1
-	fi
+        # Check to see that this really is a libtool archive.
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+        else
+          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+          $echo "$help" 1>&2
+          exit 1
+        fi
 
-	library_names=
-	old_library=
-	# If there is no directory component, then add one.
-	case "$file" in
-	*/*) . $file ;;
-	*) . ./$file ;;
-	esac
+        library_names=
+        old_library=
+        # If there is no directory component, then add one.
+        case "$file" in
+        */* | *\\*) . $file ;;
+        *) . ./$file ;;
+        esac
 
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "$destdir" = "$libdir"; then
-	  case "$current_libdirs " in
-	  "* $libdir *") ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  "* $libdir *") ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
+        # Add the libdir to current_libdirs if it is the destination.
+        if test "X$destdir" = "X$libdir"; then
+          case "$current_libdirs " in
+          *" $libdir "*) ;;
+          *) current_libdirs="$current_libdirs $libdir" ;;
+          esac
+        else
+          # Note the libdir as a future libdir.
+          case "$future_libdirs " in
+          *" $libdir "*) ;;
+          *) future_libdirs="$future_libdirs $libdir" ;;
+          esac
+        fi
 
-	dir="`echo "$file" | sed 's%/[^/]*$%%'`/"
-	test "$dir" = "$file/" && dir=
-	dir="$dir$objdir"
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog_shell$install_prog $dir/$realname $destdir/$realname"
-	  $run eval "$install_prog_shell$install_prog $dir/$realname $destdir/$realname" || exit $?
-	  test "X$dlname" = "X$realname" && dlname=
-
-	  # Support stripping libraries.
-	  if test -n "$stripme"; then
-	    if test -n "$striplib"; then
-	      $show "$striplib $destdir/$realname"
-	      $run $striplib $destdir/$realname || exit $?
-	    else
-	      echo "$progname: warning: no library stripping program" 1>&2
-	    fi
-	  fi
+        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
+        test "X$dir" = "X$file/" && dir=
+        dir="$dir$objdir"
+
+        # See the names of the shared library.
+        set dummy $library_names
+        if test -n "$2"; then
+          realname="$2"
+          shift
+          shift
+
+          # Install the shared library and build the symlinks.
+          $show "$install_prog $dir/$realname $destdir/$realname"
+          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
+          test "X$dlname" = "X$realname" && dlname=
 
-	  if test $# -gt 0; then
-	    # Delete the old symlinks.
+          if test $# -gt 0; then
+            # Delete the old symlinks.
             rmcmd="$rm"
             for linkname
             do
@@ -1311,179 +1868,161 @@ EOF
             $show "$rmcmd"
             $run $rmcmd
 
-	    # ... and create new ones.
-	    for linkname
-	    do
-	      test "X$dlname" = "X$linkname" && dlname=
-	      $show "(cd $destdir && $LN_S $realname $linkname)"
-	      $run eval "(cd $destdir && $LN_S $realname $linkname)"
-	    done
-	  fi
-
-	  if test -n "$dlname"; then
-	    # Install the dynamically-loadable library.
-	    $show "$install_prog_shell$install_prog $dir/$dlname $destdir/$dlname"
-	    $run eval "$install_prog_shell$install_prog $dir/$dlname $destdir/$dlname" || exit $?
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  cmds=`eval echo \"$postinstall_cmds\"`
-	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
-	fi
+            # ... and create new ones.
+            for linkname
+            do
+              test "X$dlname" = "X$linkname" && dlname=
+              $show "(cd $destdir && $LN_S $realname $linkname)"
+              $run eval "(cd $destdir && $LN_S $realname $linkname)"
+            done
+          fi
+
+          if test -n "$dlname"; then
+            # Install the dynamically-loadable library.
+            $show "$install_prog $dir/$dlname $destdir/$dlname"
+            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
+          fi
+
+          # Do each command in the postinstall commands.
+          lib="$destdir/$realname"
+          eval cmds=\"$postinstall_cmds\"
+          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
+          for cmd in $cmds; do
+            IFS="$save_ifs"
+            $show "$cmd"
+            $run eval "$cmd" || exit $?
+          done
+          IFS="$save_ifs"
+        fi
 
-	# Install the pseudo-library for information purposes.
-	name=`echo "$file" | sed 's%^.*/%%'`
-	$show "$install_prog_shell$install_prog $file $destdir/$name"
-	$run $install_prog_shell$install_prog $file $destdir/$name || exit $?
+        # Install the pseudo-library for information purposes.
+        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+        $show "$install_prog $file $destdir/$name"
+        $run eval "$install_prog $file $destdir/$name" || exit $?
 
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
+        # Maybe install the static library, too.
+        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+        ;;
 
       *.lo)
         # Install (i.e. copy) a libtool object.
 
         # Figure out destination file name, if it wasn't already specified.
         if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`echo "$file" | sed 's%^.*/%%;'`
-	  destfile="$destdir/$destfile"
+          destfile="$destdir/$destname"
+        else
+          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+          destfile="$destdir/$destfile"
         fi
 
-	# Deduce the name of the destination old-style object file.
-	case "$destfile" in
-	*.lo)
-	  staticdest=`echo "$destfile" | sed 's/\.lo$/\.o/;'`
-	  ;;
-	*.o)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  echo "$progname: cannot copy a libtool object to \`$destfile'" 1>&2
-	  echo "$help" 1>&2
-	  exit 1
+        # Deduce the name of the destination old-style object file.
+        case "$destfile" in
+        *.lo)
+          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
           ;;
-	esac
+        *.o)
+          staticdest="$destfile"
+          destfile=
+          ;;
+        *)
+          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+          $echo "$help" 1>&2
+          exit 1
+          ;;
+        esac
 
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog_shell$install_prog $file $destfile"
-	  $run $install_prog_shell$install_prog $file $destfile || exit $?
-	fi
+        # Install the libtool object if requested.
+        if test -n "$destfile"; then
+          $show "$install_prog $file $destfile"
+          $run eval "$install_prog $file $destfile" || exit $?
+        fi
 
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`echo "$file" | sed 's/\.lo$/\.o/;'`
+        # Install the old object if enabled.
+        if test "$build_old_libs" = yes; then
+          # Deduce the name of the old-style object file.
+          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
 
-	  $show "$install_prog_shell$install_prog $staticobj $staticdest"
-	  $run $install_prog_shell$install_prog $staticobj $staticdest || exit $?
-	fi
-	exit 0
-	;;
+          $show "$install_prog $staticobj $staticdest"
+          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+        fi
+        exit 0
+        ;;
 
       *)
-	# Do a test to see if this is really a libtool program.
-	if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then
-	  # This variable tells wrapper scripts just to set variables rather
-	  # than running their programs.
-	  libtool_install_magic="$magic"
-	  link_against_libtool_libs=
-	  finalize_command=
-
-	  # If there is no directory component, then add one.
-	  case "$file" in
-	  */*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
-	    echo "$progname: invalid libtool wrapper script \`$file'" 1>&2
-	    exit 1
-	  fi
-
-	  finalize=yes
-	  for lib in $link_against_libtool_libs; do
-	    # 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
-	    fi
-	    libfile="$libdir/`echo "$lib" | sed 's%^.*/%%g'`"
-	    if test -z "$libdir"; then
-	      echo "$progname: warning: \`$lib' contains no -rpath information" 1>&2
-	    elif test -f "$libfile"; then :
-	    else
-	      echo "$progname: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  if test "$hardcode_action" = relink; then
-	    if test "$finalize" = yes; then
-	      echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
-	      $show "$finalize_command"
-	      if $run $finalize_command; then :
-	      else
-		echo "$progname: error: relink \`$file' with the above command before installing it" 1>&2
-		continue
-	      fi
-	      file="$objdir/$file"T
-	    else
-	      echo "$progname: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    dir=`echo "$file" | sed 's%/[^/]*$%%'`
-	    if test "$file" = "$dir"; then
-	      file="$objdir/$file"
-	    else
-	      file="$dir/$objdir/`echo "$file" | sed 's%^.*/%%'`"
-	    fi
-	  fi
-	fi
+        # Do a test to see if this is really a libtool program.
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+          link_against_libtool_libs=
+          finalize_command=
+
+          # If there is no directory component, then add one.
+          case "$file" in
+          */* | *\\*) . $file ;;
+          *) . ./$file ;;
+          esac
+
+          # Check the variables that should have been set.
+          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
+            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+            exit 1
+          fi
+
+          finalize=yes
+          for lib in $link_against_libtool_libs; do
+            # 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
+            fi
+            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
+            if test -z "$libdir"; then
+              $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
+            elif test -f "$libfile"; then :
+            else
+              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+              finalize=no
+            fi
+          done
+
+          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
+              $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
+        fi
 
-	$show "$install_prog_shell$install_prog$stripme $file $dest"
-	$run $install_prog_shell$install_prog$stripme $file $dest || exit $?
-	;;
+        $show "$install_prog$stripme $file $dest"
+        $run eval "$install_prog\$stripme \$file \$dest" || exit $?
+        ;;
       esac
     done
 
     for file in $staticlibs; do
-      name=`echo "$file" | sed 's%^.*/%%'`
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
 
-      $show "$install_prog_shell$install_prog $file $oldlib"
-      $run $install_prog_shell$install_prog $file $oldlib || exit $?
-
-      # Support stripping libraries.
-      if test -n "$stripme"; then
-	if test -n "$old_striplib"; then
-	  $show "$old_striplib $oldlib"
-	  $run $old_striplib $oldlib || exit $?
-	else
-	  echo "$progname: warning: no static library stripping program" 1>&2
-	fi
-      fi
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
 
       # Do each command in the postinstall commands.
-      cmds=`eval echo \"$old_postinstall_cmds\"`
+      eval cmds=\"$old_postinstall_cmds\"
       IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
@@ -1494,106 +2033,218 @@ EOF
     done
 
     if test -n "$future_libdirs"; then
-      echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
     fi
 
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       test -n "$run" && current_libdirs=" -n$current_libdirs"
-      ${CONFIG_SHELL} $0 --finish$current_libdirs
-      exit $?
+      exec $SHELL $0 --finish$current_libdirs
+      exit 1
     fi
 
     exit 0
     ;;
 
-  # libtool dlname mode
-  dlname)
-    progname="$progname: dlname"
-    ltlibs="$nonopt"
-    for lib
-    do
-      ltlibs="$ltlibs $lib"
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+        libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  eval cmds=\"$finish_cmds\"
+          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
+          for cmd in $cmds; do
+            IFS="$save_ifs"
+            $show "$cmd"
+            $run eval "$cmd"
+          done
+          IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds"
+	fi
+      done
+    fi
+
+    echo "------------------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
     done
+    echo
+    echo "To link against installed libraries in a given directory, LIBDIR,"
+    echo "you must use the \`-LLIBDIR' flag during linking."
+    echo
+    echo " You will also need to do one of the following:"
+    if test -n "$shlibpath_var"; then
+      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
 
-    if test -z "$ltlibs"; then
-      echo "$progname: you must specify at least one LTLIBRARY" 1>&2
-      echo "$help" 1>&2
-      exit 1
+      echo "   - use the \`$flag' linker flag"
+    fi
+    if test -f /etc/ld.so.conf; then
+      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
     fi
+    echo
+    echo "See any operating system documentation about shared libraries for"
+    echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    echo "------------------------------------------------------------------------------"
+    exit 0
+    ;;
 
-    # Now check to make sure each one is a valid libtool library.
-    status=0
-    for lib in $ltlibs; do
-      dlname=
-      libdir=
-      library_names=
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit 1
+    fi
 
-      # Check to see that this really is a libtool archive.
-      if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test -f "$file"; then :
       else
-        echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
-	status=1
-	continue
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit 1
       fi
 
-      # If there is no directory component, then add one.
-      case "$arg" in
-      */*) . $arg ;;
-      *) . ./$arg ;;
+      dir=
+      case "$file" in
+      *.la)
+        # Check to see that this really is a libtool archive.
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+        else
+          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+          $echo "$help" 1>&2
+          exit 1
+        fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+        # If there is no directory component, then add one.
+	case "$file" in
+	*/* | *\\*) . $file ;;
+        *) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit 1
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+        continue
+	;;
       esac
 
-      if test -z "$libdir"; then
-        echo "$progname: \`$arg' contains no -rpath information" 1>&2
-        status=1
-      elif test -n "$dlname"; then
-	echo "$libdir/$dlname"
-      elif test -z "$library_names"; then
-        echo "$progname: \`$arg' is not a shared library" 1>&2
-        status=1
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
       else
-        echo "$progname: \`$arg' was not linked with \`-export-dynamic'" 1>&2
-        status=1
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
       fi
     done
-    exit $status
-    ;;
 
-  # libtool finish mode
-  finish)
-    progname="$progname: finish"
-    libdirs="$nonopt"
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
 
-    if test -n "$finish_cmds" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case "$file" in
+      -*) ;;
+      *)
+        # Do a test to see if this is really a libtool program.
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case "$file" in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
 
-      for libdir in $libdirs; do
-	# Do each command in the postinstall commands.
-	cmds=`eval echo \"$finish_cmds\"`
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  $show "$cmd"
-	  $run eval "$cmd"
-	done
-	IFS="$save_ifs"
-      done
-    fi
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+        ;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
 
-    echo "To link against installed libraries in LIBDIR, users may have to:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to their \`$shlibpath_var' environment variable"
+    if test -z "$run"; then
+      # Export the shlibpath_var.
+      eval "export $shlibpath_var"
+
+      # Now actually exec the command.
+      eval "exec \$cmd$args"
+
+      $echo "$modename: cannot exec \$cmd$args"
+      exit 1
+    else
+      # Display what would be done.
+      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+      $echo "export $shlibpath_var"
+      $echo "$cmd$args"
+      exit 0
     fi
-    echo "   - use the \`-LLIBDIR' linker flag"
-    exit 0
     ;;
 
   # libtool uninstall mode
   uninstall)
-    progname="$progname: uninstall"
+    modename="$modename: uninstall"
     rm="$nonopt"
     files=
 
@@ -1606,66 +2257,97 @@ EOF
     done
 
     if test -z "$rm"; then
-      echo "$progname: you must specify an RM program" 1>&2
-      echo "$help" 1>&2
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
     for file in $files; do
-      dir=`echo "$file" | sed -e 's%/[^/]*$%%'`
-      test "$dir" = "$file" && dir=.
-      name=`echo "$file" | sed -e 's%^.*/%%'`
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$dir" = "X$file" && dir=.
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
       rmfiles="$file"
 
       case "$name" in
       *.la)
-	# Possibly a libtool archive, so verify it.
-	if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then
-	  . $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $dir/$n"
-	    test "X$n" = "X$dlname" && dlname=
-	  done
-	  test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
-	  test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
+        # Possibly a libtool archive, so verify it.
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+          . $dir/$name
+
+          # Delete the libtool libraries and symlinks.
+          for n in $library_names; do
+            rmfiles="$rmfiles $dir/$n"
+            test "X$n" = "X$dlname" && dlname=
+          done
+          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
+          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
+
+	  $show "$rm $rmfiles"
+	  $run $rm $rmfiles
+
+	  if test -n "$library_names"; then
+	    # Do each command in the postuninstall commands.
+	    eval cmds=\"$postuninstall_cmds\"
+	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      $show "$cmd"
+	      $run eval "$cmd"
+	    done
+	    IFS="$save_ifs"
+	  fi
 
-	  # FIXME: should reinstall the best remaining shared library.
-	fi
-	;;
+          if test -n "$old_library"; then
+	    # Do each command in the old_postuninstall commands.
+	    eval cmds=\"$old_postuninstall_cmds\"
+	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      $show "$cmd"
+	      $run eval "$cmd"
+	    done
+	    IFS="$save_ifs"
+	  fi
+
+          # FIXME: should reinstall the best remaining shared library.
+        fi
+        ;;
 
       *.lo)
-	if test "$build_old_libs" = yes; then
-      	  oldobj=`echo "$name" | sed 's/\.lo$/\.o/'`
-	  rmfiles="$rmfiles $dir/$oldobj"
-	fi
-  	;;
-      esac
+        if test "$build_old_libs" = yes; then
+          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
+          rmfiles="$rmfiles $dir/$oldobj"
+        fi
+	$show "$rm $rmfiles"
+	$run $rm $rmfiles
+        ;;
 
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles
+      *)
+      	$show "$rm $rmfiles"
+	$run $rm $rmfiles
+	;;
+      esac
     done
     exit 0
     ;;
 
-  NONE)
-    echo "$progname: you must specify a MODE" 1>&2
-    echo "$generic_help" 1>&2
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
     exit 1
     ;;
   esac
 
-  echo "$progname: invalid operation mode \`$mode'" 1>&2
-  echo "$generic_help" 1>&2
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$generic_help" 1>&2
   exit 1
 fi # test -z "$show_help"
 
 # We need to display help for each of the modes.
 case "$mode" in
-NONE) cat <<EOF
-Usage: $progname [OPTION]... [MODE-ARG]...
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
 
 Provide generalized library-building support services.
 
@@ -1674,25 +2356,27 @@ Provide generalized library-building support services.
     --finish          same as \`--mode=finish'
     --help            display this help message and exit
     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
     --version         print version information
 
 MODE must be one of the following:
 
       compile         compile a source file into a libtool object
-      dlname          print filenames to use to \`dlopen' libtool libraries
+      execute         automatically set library path, then run a program
       finish          complete the installation of libtool libraries
       install         install libraries or executables
       link            create a library or an executable
       uninstall       remove libraries from an installed directory
 
-MODE-ARGS vary depending on the MODE.  Try \`$progname --help --mode=MODE' for
-a more detailed description of MODE.
-EOF
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+  exit 0
   ;;
 
 compile)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 
 Compile a source file into a libtool library object.
 
@@ -1701,39 +2385,44 @@ from the given SOURCEFILE.
 
 The output file name is determined by removing the directory component from
 SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'.
-EOF
+library object suffix, \`.lo'."
   ;;
 
-dlname)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=dlname LTLIBRARY...
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
 
-Print filenames to use to \`dlopen' libtool libraries.
+  -dlopen FILE      add the directory containing FILE to the library path
 
-Each LTLIBRARY is the name of a dynamically loadable libtool library (one that
-was linked using the \`-export-dynamic' option).
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
 
-The names to use are printed to standard output, one per line.
-EOF
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
   ;;
 
 finish)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 
 Complete the installation of libtool libraries.
 
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed.
-EOF
+the \`--dry-run' option if you just want to see what would be executed."
   ;;
 
 install)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
 Install executables or libraries.
 
@@ -1741,13 +2430,12 @@ INSTALL-COMMAND is the installation command.  The first component should be
 either the \`install' or \`cp' program.
 
 The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized).
-EOF
+BSD-compatible install options are recognized)."
   ;;
 
 link)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 
 Link object files or libraries together to form another library, or to
 create an executable program.
@@ -1757,15 +2445,19 @@ a program from several object files.
 
 The following components of LINK-COMMAND are treated specially:
 
-  -allow-undefined  allow a libtool library to reference undefined symbols
+  -all-static       do not do any dynamic linking at all
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -static           do not do any dynamic linking or shared library creation
+  -static           do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
+                    specify library version info [each variable defaults to 0]
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -1780,13 +2472,12 @@ If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
 and \`ranlib'.
 
 If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
-created, otherwise an executable program is created.
-EOF
+created, otherwise an executable program is created."
   ;;
 
 uninstall)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+  $echo
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 
 Remove libraries from an installation directory.
 
@@ -1795,23 +2486,18 @@ RM is the name of the program to use to delete files associated with each FILE
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM.
-EOF
+Otherwise, only FILE itself is deleted using RM."
   ;;
 
 *)
-  echo "$progname: invalid operation mode \`$mode'" 1>&2
-  echo "$help" 1>&2
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
   exit 1
   ;;
 esac
 
-case "$mode" in
-archive|compile)
-  echo
-  echo "Try \`$progname --help' for more information about other modes."
-  ;;
-esac
+echo
+$echo "Try \`$modename --help' for more information about other modes."
 
 exit 0
 
-- 
GitLab