* expr.c (operator): And with 0xff to avoid problems with signed
[deliverable/binutils-gdb.git] / ltmain.sh
index cf2ef91555eafcb925486fef90df88cb15bcecaa..eee5763387b3d353de096ab878b1a7a53f2a92e0 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,6 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
 # 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
 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
 # The name of this program.
 # The name of this program.
-progname=`echo "$0" | sed 's%^.*/%%'`
+progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.0
+VERSION=1.2b
 
 default_mode=
 help="Try \`$progname --help' for more information."
 magic="%%%MAGIC variable%%%"
 mkdir="mkdir"
 mv="mv -f"
 
 default_mode=
 help="Try \`$progname --help' for more information."
 magic="%%%MAGIC variable%%%"
 mkdir="mkdir"
 mv="mv -f"
-objdir=.libs
 rm="rm -f"
 
 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).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
 if test "$LTCONFIG_VERSION" != "$VERSION"; then
 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
 
   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
 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
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1
 fi
@@ -57,8 +86,11 @@ nonopt=
 prev=
 prevopt=
 run=
 prev=
 prevopt=
 run=
-show=echo
+show="$echo"
 show_help=
 show_help=
+execute_dlfiles=
+lo2o="s/\\.lo\$/.${objext}/"
+los2o="s/\\.lo /.${objext} /g"
 
 # Parse our command line options once, thoroughly.
 while test $# -gt 0
 
 # Parse our command line options once, thoroughly.
 while test $# -gt 0
@@ -67,13 +99,21 @@ do
   shift
 
   case "$arg" in
   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
   *) 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
     prev=
     prevopt=
     continue
@@ -90,6 +130,16 @@ do
     exit 0
     ;;
 
     exit 0
     ;;
 
+  --config)
+    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
+    exit 0
+    ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
   --dry-run | -n)
     run=:
     ;;
   --dry-run | -n)
     run=:
     ;;
@@ -114,9 +164,18 @@ do
   --mode) prevopt="--mode" prev=mode ;;
   --mode=*) mode="$optarg" ;;
 
   --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
     ;;
 
     exit 1
     ;;
 
@@ -127,20 +186,18 @@ do
   esac
 done
 
   esac
 done
 
-
 if test -n "$prevopt"; then
 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
 
   exit 1
 fi
 
-
 if test -z "$show_help"; then
 
   # Infer the operation mode.
   if test -z "$mode"; then
     case "$nonopt" in
 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
       mode=link
       for arg
       do
@@ -152,83 +209,128 @@ if test -z "$show_help"; then
         esac
       done
       ;;
         esac
       done
       ;;
-    *install*|cp)
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
       mode=install
       ;;
     *rm)
       mode=uninstall
       ;;
       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
       # 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
 
       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"
   # 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)
 
   # 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.
     # Get the compilation command and the source file.
-    base_compile="$nonopt"
+    base_compile=
     lastarg=
     lastarg=
-    srcfile=
+    srcfile="$nonopt"
+    suppress_output=
 
     for arg
     do
 
     for arg
     do
-      # Quote any args containing shell metacharacters.
+      # Accept any command-line options.
       case "$arg" in
       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_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
 
       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.
     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.
 
     # Recognize several different file suffixes.
-    xform='[cCFSf]'
+    xform='[cCFSfms]'
     case "$libobj" in
     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 ;;
     *.cc) xform=cc ;;
     *.cpp) xform=cpp ;;
     *.cxx) xform=cxx ;;
     *.f90) xform=f90 ;;
-    *.for) xform='for' ;;
+    *.for) xform=for ;;
     esac
 
     esac
 
-    libobj=`echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
     case "$libobj" in
 
     case "$libobj" in
-    *.lo) obj=`echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
     *)
     *)
-      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
       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
 
       exit 1
     fi
 
@@ -241,43 +343,54 @@ if test -z "$show_help"; then
       trap "$run $rm $libobj; exit 1" 1 2 15
     fi
 
       trap "$run $rm $libobj; exit 1" 1 2 15
     fi
 
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+
     # Only build a PIC object if we are building libtool libraries.
     if test "$build_libtool_libs" = yes; 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"
       # 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
       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
       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"
       fi
 
       # Just move the object, then go on to compile the next one
       $show "$mv $obj $libobj"
-      $run $mv $obj $libobj || exit 1
+      $run $mv $obj $libobj || exit $?
+
+      # 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
     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
 
       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"
     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
     fi
 
     exit 0
@@ -285,26 +398,30 @@ if test -z "$show_help"; then
 
   # libtool link mode
   link)
 
   # 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=
     compile_shlibpath=
     finalize_shlibpath=
+    convenience=
+    old_convenience=
     deplibs=
     deplibs=
+    dlfiles=
+    dlprefiles=
     export_dynamic=no
     export_dynamic=no
+    generated=
     hardcode_libdirs=
     hardcode_libdirs=
-    install_libdir=
     libobjs=
     link_against_libtool_libs=
     libobjs=
     link_against_libtool_libs=
-    link_static=
     ltlibs=
     objs=
     prev=
     prevarg=
     ltlibs=
     objs=
     prev=
     prevarg=
+    release=
+    rpath=
     perm_rpath=
     temp_rpath=
     vinfo=
     perm_rpath=
     temp_rpath=
     vinfo=
@@ -313,455 +430,726 @@ if test -z "$show_help"; then
     for arg
     do
       case "$arg" in
     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_libtool_libs=no
-        build_old_libs=yes
+       build_old_libs=yes
         break
         ;;
       esac
     done
 
         break
         ;;
       esac
     done
 
-    for arg
-    do
+    # 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.
+    while test $# -gt 0; do
+      arg="$1"
+      shift
+
       # If the previous option needs an argument, assign it.
       if test -n "$prev"; then
       # 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
 
       fi
 
-      args="$args $arg"
       prevarg="$arg"
 
       case "$arg" in
       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
        ;;
 
        continue
        ;;
 
+      -dlopen)
+        prev=dlfiles
+        continue
+        ;;
+
+      -dlpreopen)
+        prev=dlprefiles
+        continue
+        ;;
+
+      -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
+
+          # Add the symbol object into the linking commands.
+         compile_command="$compile_command @SYMFILE@"
+         finalize_command="$finalize_command @SYMFILE@"
+        fi
+        ;;
+
       -L*)
       -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"
-       ;;
+        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"
+        ;;
 
       -l*) deplibs="$deplibs $arg" ;;
 
 
       -l*) deplibs="$deplibs $arg" ;;
 
-      -o) prev=output ;;
-
-      -rpath)
-       prev=install_libdir
+      -no-undefined)
+       allow_undefined=no
        continue
        ;;
 
        continue
        ;;
 
-      -static)
-       link_static="`eval echo \"$link_static_flag\"`"
-       compile_command="$compile_command $link_static"
+      -o) prev=output ;;
+
+      -release)
+       prev=release
        continue
        ;;
 
        continue
        ;;
 
-      -version-file)
-       echo "$progname: \`-version-file' has been replaced by \`-version-info'" 1>&2
-       echo "$help" 1>&2
-       exit 1
-       ;;
+      -rpath)
+        prev=rpath
+        continue
+        ;;
 
 
-      -version-info)
-       prev=vinfo
+      -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
        ;;
 
        continue
        ;;
 
-      -*) cc="$cc $arg" ;; # Some other compiler flag.
-
-      *.o)
-       # A standard object.
-       objs="$objs $arg"
-       ;;
+      -version-info)
+        prev=vinfo
+        continue
+        ;;
 
 
-      *.a)
-       # Find the relevant object directory and library name.
-       file=`echo "$arg" | sed 's%^.*/%%'`
-       dir=`echo "$arg" | sed 's%/[^/]*$%/%'`
-       test "$dir" = "$arg" && dir=
+      # 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
+        ;;
 
 
-       # Standard archive.
-       objs="$objs $arg"
-       ;;
+      *.o | *.obj | *.a | *.lib)
+        # A standard object.
+        objs="$objs $arg"
+        ;;
 
       *.lo)
 
       *.lo)
-       # A library object.
+        # 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 test "$prev" = dlprefiles; then
+         # Preload the old-style object.
+         dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
+         prev=
+       fi
        libobjs="$libobjs $arg"
        libobjs="$libobjs $arg"
-       ;;
+        ;;
 
       *.la)
 
       *.la)
-       # A libtool-controlled library.
+        # A libtool-controlled library.
 
 
-       libdir=
-       library_names=
-       old_library=
+        dlname=
+        libdir=
+        library_names=
+        old_library=
 
 
-       # 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
-       fi
+        # Check to see that this really is a libtool archive.
+        if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+        else
+          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
+          exit 1
+        fi
 
 
-       # If there is no directory component, then add one.
-       case "$arg" in
-       */*) . $arg ;;
-       *) . ./$arg ;;
-       esac
+        # 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
-       fi
+        # Get the name of the library we link against.
+        linklib=
+        for l in $old_library $library_names; do
+          linklib="$l"
+        done
 
 
-       # Get the name of the library we link against.
-       linklib=
-       for l in $old_library $library_names; do
-         linklib="$l"
-       done
+        if test -z "$linklib"; then
+          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
+          exit 1
+        fi
 
 
-       if test -z "$linklib"; then
-         echo "$progname: cannot find name of link library for \`$arg'" 1>&2
-         exit 1
-       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
 
 
-       # 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"
+        if test -z "$libdir"; then
+         # It is a libtool convenience library, so add in its objects.
+         convenience="$convenience $dir/$old_library"l
+         old_convenience="$old_convenience $dir/$old_library"
+         compile_command="$compile_command $dir/$old_library"
+         finalize_command="$finalize_command $dir/$old_library"
+         continue
        fi
 
        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 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 -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
+        # 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
 
 
+        # 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
 
 
-         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
-           ;;
+        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
+          link_against_libtool_libs="$link_against_libtool_libs $arg"
+          if test -n "$shlibpath_var"; then
+            # Make sure the rpath contains only unique directories.
+            case "$temp_rpath " in
+            *" $dir "*) ;;
+            *) temp_rpath="$temp_rpath $dir" ;;
+            esac
+          fi
+
+         # This is the magic to use -rpath.
+          if test -n "$hardcode_libdir_flag_spec"; then
+            if test -n "$hardcode_libdir_separator"; then
+              if test -z "$hardcode_libdirs"; then
+                # Put the magic libdir with the hardcode flag.
+                hardcode_libdirs="$libdir"
+                libdir="@HARDCODE_LIBDIRS@"
+              else
+                # Just accumulate the unique libdirs.
+               case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+                 ;;
+               *)
+                 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+                 ;;
+               esac
+                libdir=
+              fi
+            fi
+
+            if test -n "$libdir"; then
+              eval flag=\"$hardcode_libdir_flag_spec\"
+
+              compile_command="$compile_command $flag"
+              finalize_command="$finalize_command $flag"
+            fi
+          elif test -n "$runpath_var"; then
+            # Do the same for the permanent run path.
+            case "$perm_rpath " in
+            *" $libdir "*) ;;
+            *) perm_rpath="$perm_rpath $libdir" ;;
+            esac
+          fi
+
+
+         lib_linked=yes
+          case "$hardcode_action" in
+          immediate | unsupported)
+            if test "$hardcode_direct" = no; then
+              compile_command="$compile_command $dir/$linklib"
+            elif test "$hardcode_minus_L" = no; then
+             case "$host" in
+             *-*-sunos*)
+                compile_shlibpath="$compile_shlibpath$dir:"
+               ;;
+             esac
+              compile_command="$compile_command -L$dir -l$name"
+            elif test "$hardcode_shlibpath_var" = no; then
+              compile_shlibpath="$compile_shlibpath$dir:"
+              compile_command="$compile_command -l$name"
+           else
+             lib_linked=no
+            fi
+            ;;
+
+          relink)
+            # We need an absolute path.
+            case "$dir" in
+            /* | [A-Za-z]:[/\\]*) ;;
+            *)
+              absdir=`cd "$dir" && pwd`
+              if test -z "$absdir"; then
+                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+                exit 1
+              fi
+              dir="$absdir"
+              ;;
+            esac
+
+            if test "$hardcode_direct" = yes; then
+              compile_command="$compile_command $dir/$linklib"
+            elif test "$hardcode_minus_L" = yes; then
+              compile_command="$compile_command -L$dir -l$name"
+            elif test "$hardcode_shlibpath_var" = yes; then
+              compile_shlibpath="$compile_shlibpath$dir:"
+              compile_command="$compile_command -l$name"
+           else
+             lib_linked=no
+            fi
+            ;;
 
 
-         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
+         *)
+           lib_linked=no
            ;;
            ;;
+          esac
 
 
-         *)
-           echo "$progname: \`$hardcode_action' is an unknown hardcode action" 1>&2
+         if test "$lib_linked" != yes; then
+           $echo "$modename: configuration error: unsupported hardcode properties"
            exit 1
            exit 1
-           ;;
-         esac
+         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"
+          # 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
           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
         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
          fi
-         test -n "$old_library" && linklib="$old_library"
-          compile_command="$compile_command $dir/$linklib"
-         finalize_command="$finalize_command $dir/$linklib"
         fi
         fi
+
+       # Add in any libraries that this one depends upon.
+       compile_command="$compile_command$dependency_libs"
+       finalize_command="$finalize_command$dependency_libs"
        continue
        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
 
       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
     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
 
       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"`
-    fi
-
-    oldlib=
-    oldobjs=
+    oldlibs=
     case "$output" in
     "")
     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
       ;;
 
       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
+      $echo "$help" 1>&2
       exit 1
       ;;
 
       exit 1
       ;;
 
-    *.la)
-      libname=`echo "$output" | sed 's/\.la$//'`
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-      current=0
-      revision=0
-      age=0
+    *.a | *.lib)
+      if test -n "$link_against_libtool_libs"; then
+        $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
+        exit 1
+      fi
 
 
-      if test -n "$objs"; then
-       echo "$progname: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
-       exit 1
+      if test -n "$deplibs"; then
+        $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
       fi
 
       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
+      if test -n "$dlfiles$dlprefiles"; then
+        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
       fi
 
       fi
 
-      if test -z "$install_libdir"; then
-       echo "$progname: you must specify an installation directory with \`-rpath'" 1>&2
-       exit 1
+      if test -n "$rpath"; then
+        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
       fi
 
       fi
 
-      # Parse the version information argument.
-      IFS="${IFS=      }"; save_ifs="$IFS"; IFS=':'
-      set dummy $vinfo
-      IFS="$save_ifs"
+      if test -n "$vinfo"; then
+        $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+      fi
 
 
-      if test -n "$5"; then
-        echo "$progname: too many parameters to \`-version-info'" 1>&2
-       echo "$help" 1>&2
-       exit 1
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
       fi
 
       fi
 
-      test -n "$2" && current="$2"
-      test -n "$3" && revision="$3"
-      test -n "$4" && age="$4"
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      ;;
 
 
-      # Check that each of the things are valid numbers.
-      case "$current" in
-      0 | [1-9] | [1-9][0-9]*) ;;
+    *.la)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case "$output" in
+      lib*) ;;
       *)
       *)
-       echo "$progname: CURRENT \`$current' is not a nonnegative integer" 1>&2
-        echo "$progname: \`$vinfo' is not valid version information" 1>&2
-        exit 1
+       $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+       $echo "$help" 1>&2
+       exit 1
        ;;
       esac
 
        ;;
       esac
 
-      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
+      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+      eval libname=\"$libname_spec\"
 
 
-      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
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      if test -n "$objs"; then
+        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
         exit 1
         exit 1
-       ;;
-      esac
+      fi
 
 
-      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
+      # How the heck are we supposed to write a wrapper for a shared library?
+      if test -n "$link_against_libtool_libs"; then
+        $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
         exit 1
       fi
 
         exit 1
       fi
 
-      # Calculate the version variables.
-      version_vars="version_type current age revision"
-      case "$version_type" in
-      none) ;;
+      if test -n "$dlfiles$dlprefiles"; then
+        $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
+      fi
 
 
-      linux)
-       version_vars="$version_vars major versuffix"
-       major=`expr $current - $age`
-       versuffix="$major.$age.$revision"
-       ;;
+      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"
 
 
-      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
+      # Now set the variables for building old libraries.
+      oldlibs="$objdir/$libname.$libext"
+      if test -z "$rpath"; then
+       # Building a libtool convenience library.
+       oldlibs="$objdir/$libname.al $oldlibs"
+       build_libtool_libs=convenience
+
+       if test -n "$vinfo"; then
+         $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+       fi
 
 
-       # Make executables depend on our current version.
-       verstring="$verstring:${current}.0"
-       ;;
+       if test -n "$release"; then
+         $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+       fi
+      else
 
 
-      sunos)
-       version_vars="$version_vars major versuffix"
-       major="$current"
-       versuffix="$current.$revision"
-       ;;
+       # Parse the version information argument.
+       IFS="${IFS=     }"; save_ifs="$IFS"; IFS=':'
+       set dummy $vinfo 0 0 0
+       IFS="$save_ifs"
 
 
-      *)
-       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
+       if test -n "$8"; then
+         $echo "$modename: too many parameters to \`-version-info'" 1>&2
+         $echo "$help" 1>&2
+         exit 1
+       fi
+
+       current="$2"
+       revision="$3"
+       age="$4"
+
+       # 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
+
+       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
+
+       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
+
+       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
+
+       # Calculate the version variables.
+       major=
+       versuffix=
+       verstring=
+       case "$version_type" in
+       none) ;;
+
+       linux)
+         major=.`expr $current - $age`
+         versuffix="$major.$age.$revision"
+         ;;
+
+       osf)
+         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)
+         major=".$current"
+         versuffix=".$current.$revision"
+         ;;
+
+       windows)
+         # Like Linux, but with '-' rather than '.', since we only
+         # want one extension on Windows 95.
+         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
+
+       # Clear the version info if we defaulted, and they specified a release.
+       if test -z "$vinfo" && test -n "$release"; then
+         major=
+         versuffix=
+         verstring="0.0"
+         case "$host" in
+         *-*-sunos*)
+           versuffix=".0.0"
+           ;;
+         esac
+       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 "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+           build_libtool_libs=no
+           build_old_libs=yes
+         fi
+       else
+         # 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"
+      fi
 
       # Create the output directory, or remove our outputs if we need to.
       if test -d $objdir; then
 
       # 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}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+       $run ${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
       else
         $show "$mkdir $objdir"
       else
         $show "$mkdir $objdir"
-       $run $mkdir $objdir || exit $?
-      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
-      else
-       # Clear the flag.
-       allow_undefined_flag=
+        $run $mkdir $objdir
+        status=$?
+        if test $status -ne 0 && test ! -d $objdir; then
+          exit $status
+        fi
       fi
 
       if test "$build_libtool_libs" = yes; then
        # Get the real and link names of the library.
       fi
 
       if test "$build_libtool_libs" = yes; then
        # Get the real and link names of the library.
-       library_names=`eval echo \"$library_names_spec\"`
+       eval library_names=\"$library_names_spec\"
        set dummy $library_names
        realname="$2"
        shift; shift
 
        if test -n "$soname_spec"; then
        set dummy $library_names
        realname="$2"
        shift; shift
 
        if test -n "$soname_spec"; then
-         soname=`eval echo \"$soname_spec\"`
+         eval soname=\"$soname_spec\"
        else
          soname="$realname"
        fi
 
        lib="$objdir/$realname"
        else
          soname="$realname"
        fi
 
        lib="$objdir/$realname"
-       linknames=
        for link
        do
          linknames="$linknames $link"
        done
 
        # Use standard objects if they are PIC.
        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'`
+       test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
+
+       # Transform .lo files to .o files.
+       test "$build_old_libs" = yes && oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/[^   ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
+
+       if test -n "$whole_archive_flag_spec"; then
+         if test -n "$convenience"; then
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+         fi
+       else
+         for xlib in $convenience; do
+           # Extract the objects.
+           xdir="$xlib"x
+           generated="$generated $xdir"
+           xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+
+           $show "${rm}r $xdir"
+           $run ${rm}r "$xdir"
+           $show "mkdir $xdir"
+           $run mkdir "$xdir"
+           status=$?
+           if test $status -ne 0 && test ! -d "$xdir"; then
+             exit $status
+           fi
+           $show "(cd $xdir && $AR x ../$xlib)"
+           $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
+
+           libobjs="$libobjs `echo $xdir/*`"
+         done
+       fi
 
        # Do each of the archive commands.
 
        # Do each of the archive commands.
-       cmds=`eval echo \"$archive_cmds\"`
+       eval cmds=\"$archive_cmds\"
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
        for cmd in $cmds; do
          IFS="$save_ifs"
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
        for cmd in $cmds; do
          IFS="$save_ifs"
@@ -771,9 +1159,11 @@ if test -z "$show_help"; then
        IFS="$save_ifs"
 
        # Create links to the real library.
        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 $?
+       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.
        done
 
        # If -export-dynamic was specified, set the dlname.
@@ -784,52 +1174,60 @@ if test -z "$show_help"; then
       fi
       ;;
 
       fi
       ;;
 
-    *.lo | *.o)
+    *.lo | *.o | *.obj)
       if test -n "$link_against_libtool_libs"; then
       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 objects" 1>&2
+        exit 1
       fi
 
       if test -n "$deplibs"; then
       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 for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles"; then
+        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
       fi
 
       fi
 
-      if test -n "$install_libdir"; then
-        echo "$progname: warning: \`-rpath' is ignored while creating objects" 1>&2
+      if test -n "$rpath"; then
+        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
       fi
 
       if test -n "$vinfo"; then
       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 for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
       fi
 
       case "$output" in
       *.lo)
       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 "$lo2o"`
+        ;;
       *)
         libobj=
       *)
         libobj=
-       obj="$output"
-       ;;
+        obj="$output"
+        ;;
       esac
 
       # Delete the old objects.
       $run $rm $obj $libobj
 
       # Create the old-style object.
       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/[^       ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
 
       output="$obj"
 
       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"
       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"
 
       done
       IFS="$save_ifs"
 
@@ -839,16 +1237,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.
       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
       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"
         IFS="${IFS=    }"; save_ifs="$IFS"; IFS=';'
         for cmd in $cmds; do
           IFS="$save_ifs"
@@ -859,118 +1257,293 @@ if test -z "$show_help"; then
       else
         # Just create a symlink.
         $show "$LN_S $obj $libobj"
       else
         # Just create a symlink.
         $show "$LN_S $obj $libobj"
-        $run $LN_S $obj $libobj || exit 1
+        $run $LN_S $obj $libobj || exit $?
       fi
 
       exit 0
       ;;
 
     *)
       fi
 
       exit 0
       ;;
 
     *)
-      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 for programs" 1>&2
       fi
 
       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 for programs" 1>&2
       fi
 
       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
 
       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 "$los2o" -e 's/ $//'`
+        finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
+      fi
 
 
-       # 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 "$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 "$los2o" -e 's/ $//'`
+
+       # Discover the nlist of each of the dlfiles.
+        nlist="$objdir/${output}.nm"
+
+       if test -d $objdir; then
+         $show "$rm $nlist ${nlist}T"
+         $run $rm "$nlist" "${nlist}T"
+       else
+         $show "$mkdir $objdir"
+         $run $mkdir $objdir
          status=$?
          status=$?
+         if test $status -ne 0 && test ! -d $objdir; then
+           exit $status
+         fi
        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.${objext}%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
+      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.
       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.
 
       # Create the binary in the object directory, then wrap it.
-      if test -d $objdir; then :
-      else
+      if test ! -d $objdir; then
         $show "$mkdir $objdir"
         $show "$mkdir $objdir"
-        $run $mkdir $objdir || exit $?
+       $run $mkdir $objdir
+       status=$?
+       if test $status -ne 0 && test ! -d $objdir; then
+         exit $status
+       fi
       fi
 
       if test -n "$shlibpath_var"; then
         # We should set the shlibpath_var
       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
       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
       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
 
       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
 
       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
-       ;;
-      esac
+      if test "$hardcode_action" = relink; then
+        # 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
+      fi
 
       $show "$compile_command"
       $run eval "$compile_command" || exit $?
 
       # Now create the wrapper script.
 
       $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
 
       # 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
-#! /bin/sh
+        $echo > $output "\
+#! $SHELL
 
 # $output - temporary wrapper script for $objdir/$output
 # Generated by $PROGRAM - GNU $PACKAGE $VERSION
 
 # $output - temporary wrapper script for $objdir/$output
 # Generated by $PROGRAM - GNU $PACKAGE $VERSION
@@ -981,111 +1554,174 @@ if test -z "$show_help"; then
 # This wrapper script should never be moved out of \``pwd`'.
 # If it is, it will not operate correctly.
 
 # 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.
 # 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'
   # install mode needs the following variables:
   link_against_libtool_libs='$link_against_libtool_libs'
-  finalize_command='$finalize_command'
+  finalize_command=\"$finalize_command\"
 else
 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
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  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
     # 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
 
     # 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
 
     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.
   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
     exit 1
   fi
-fi
-EOF
-       chmod +x $output
+fi\
+"
+        chmod +x $output
       fi
       exit 0
       ;;
     esac
 
       fi
       exit 0
       ;;
     esac
 
-
     # See if we need to build an old-fashioned archive.
     # 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'`
+    for oldlib in $oldlibs; do
 
 
-      if test -d "$objdir"; then
-       $show "$rm $oldlib"
-       $run $rm $oldlib
+      if test "$build_libtool_libs" = convenience; then
+       oldobjs="$libobjs"
+       addlibs="$convenience"
+       build_libtool_libs=no
       else
       else
-       $show "$mkdir $objdir"
-       $run $mkdir $objdir
+       oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/[^   ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
+       addlibs="$old_convenience"
       fi
 
       fi
 
+      # Add in members from convenience archives.
+      for xlib in $addlibs; do
+       # Extract the objects.
+       xdir="$xlib"x
+       generated="$generated $xdir"
+       xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+
+       $show "${rm}r $xdir"
+       $run ${rm}r "$xdir"
+       $show "mkdir $xdir"
+       $run mkdir "$xdir"
+       status=$?
+       if test $status -ne 0 && test ! -d "$xdir"; then
+         exit $status
+       fi
+       $show "(cd $xdir && $AR x ../$xlib)"
+       $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
+
+       oldobjs="$oldobjs `echo $xdir/*`"
+      done
+
       # Do each command in the archive commands.
       # Do each command in the archive commands.
-      cmds=`eval echo \"$old_archive_cmds\"`
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       eval cmds=\"$old_archive_from_new_cmds\"
+      else
+       eval cmds=\"$old_archive_cmds\"
+      fi
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
         $show "$cmd"
       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"
       done
       IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
     fi
 
     # Now create the libtool archive.
     case "$output" in
     *.la)
       old_library=
     fi
 
     # Now create the libtool archive.
     case "$output" in
     *.la)
       old_library=
-      test "$build_old_libs" = yes && old_library="$libname.a"
-
-      echo "creating $output"
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
 
       # Only create the output if not a dry run.
       if test -z "$run"; then
 
       # 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
 
 # $output - a libtool library file
 # Generated by $PROGRAM - GNU $PACKAGE $VERSION
 
@@ -1098,20 +1734,23 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
 # 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:
 # 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
       # LD_LIBRARY_PATH before the program is installed.
       $show "(cd $objdir && $LN_S ../$output $output)"
       fi
 
       # Do a symbolic link so that the libtool archive can be found in
       # LD_LIBRARY_PATH before the program is installed.
       $show "(cd $objdir && $LN_S ../$output $output)"
-      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
+      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit $?
       ;;
     esac
     exit 0
       ;;
     esac
     exit 0
@@ -1119,10 +1758,35 @@ EOF
 
   # libtool install mode
   install)
 
   # libtool install mode
   install)
-    progname="$progname: install"
+    modename="$modename: install"
 
 
-    # The first argument is the name of the installation program.
-    install_prog="$nonopt"
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = "/bin/sh"; 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=
 
     # We need to accept at least all the BSD install flags.
     dest=
@@ -1130,14 +1794,14 @@ EOF
     opts=
     prev=
     install_type=
     opts=
     prev=
     install_type=
-    isdir=
+    isdir=no
     stripme=
     for arg
     do
       if test -n "$dest"; then
         files="$files $dest"
     stripme=
     for arg
     do
       if test -n "$dest"; then
         files="$files $dest"
-       dest="$arg"
-       continue
+        dest="$arg"
+        continue
       fi
 
       case "$arg" in
       fi
 
       case "$arg" in
@@ -1147,83 +1811,95 @@ EOF
       -m) prev="-m" ;;
       -o) prev="-o" ;;
       -s)
       -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
         ;;
       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
       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
       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
       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
       else
-       echo "$progname: you must specify a destination" 1>&2
+        $echo "$modename: you must specify a destination" 1>&2
       fi
       fi
-      echo "$help" 1>&2
+      $echo "$help" 1>&2
       exit 1
     fi
 
     # Strip any trailing slash from the destination.
       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
 
     # Check to see that the destination is a directory.
     test -d "$dest" && isdir=yes
-    if test -n "$isdir"; then
+    if test "$isdir" = yes; then
       destdir="$dest"
       destname=
     else
       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
 
       # 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
       fi
     fi
     case "$destdir" in
-    /*) ;;
+    /* | [A-Za-z]:[/\\]*) ;;
     *)
       for file in $files; do
     *)
       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
 
       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=
     staticlibs=
     future_libdirs=
     current_libdirs=
@@ -1231,251 +1907,232 @@ EOF
 
       # Do each installation.
       case "$file" in
 
       # Do each installation.
       case "$file" in
-      *.a)
-       # Do the static libraries later.
-       staticlibs="$staticlibs $file"
-       ;;
+      *.a | *.lib)
+        # Do the static libraries later.
+        staticlibs="$staticlibs $file"
+        ;;
 
       *.la)
 
       *.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 .*$PACKAGE") >/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"
+        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=
-
-         # 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
+        # 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
             rmcmd="$rm"
             for linkname
             do
-              rmcmd="$rmcmd $destdir/$linkname"
+             if test "X$linkname" != "X$realname"; then
+                rmcmd="$rmcmd $destdir/$linkname"
+             fi
             done
             $show "$rmcmd"
             $run $rmcmd
 
             done
             $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 $dir/$dlname $destdir/$dlname"
-           $run eval "$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
+             if test "X$linkname" != "X$realname"; then
+                test "X$dlname" = "X$linkname" && dlname=
+                $show "(cd $destdir && $LN_S $realname $linkname)"
+                $run eval "(cd $destdir && $LN_S $realname $linkname)"
+             fi
+            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 $file $destdir/$name"
-       $run $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
 
       *.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
 
         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 "$lo2o"`
           ;;
           ;;
-       esac
+        *.o | *.obj)
+          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 $file $destfile"
-         $run $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 "$lo2o"`
 
 
-         $show "$install_prog $staticobj $staticdest"
-         $run $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
+        # Figure out destination file name, if it wasn't already specified.
+        if test -n "$destname"; then
+          destfile="$destdir/$destname"
+        else
+          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+          destfile="$destdir/$destfile"
+        fi
 
 
-         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 .*$PACKAGE") >/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 -n "$libdir" && test ! -f "$libfile"; then
+              $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$stripme $file $dest"
-       $run $install_prog$stripme $file $dest || exit $?
-       ;;
+        $show "$install_prog$stripme $file $destfile"
+        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+        ;;
       esac
     done
 
     for file in $staticlibs; do
       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 $file $oldlib"
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
 
       $show "$install_prog $file $oldlib"
-      $run $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
+      $run eval "$install_prog \$file \$oldlib" || exit $?
 
       # Do each command in the postinstall commands.
 
       # 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"
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
       for cmd in $cmds; do
         IFS="$save_ifs"
@@ -1486,106 +2143,231 @@ EOF
     done
 
     if test -n "$future_libdirs"; then
     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"
     fi
 
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec $0 --finish$current_libdirs
+      exec $SHELL $0 --finish$current_libdirs
       exit 1
     fi
 
     exit 0
     ;;
 
       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"
+    admincmds=
+
+    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" || admincmds="$admincmds
+       $cmd"
+          done
+          IFS="$save_ifs"
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         eval cmds=\"$finish_eval\"
+         $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    echo "----------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
     done
     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 at least 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
     fi
+    if test -n "$admincmds"; then
+      echo "   - have your system administrator run these commands:$admincmds"
+    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"
 
 
-      # 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
-       status=1
-       continue
+    # 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
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+       $echo "$modename: \`$file' is not a file" 1>&2
+       $echo "$help" 1>&2
+       exit 1
       fi
 
       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 .*$PACKAGE") >/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
 
       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
       else
-        echo "$progname: \`$arg' was not linked with \`-export-dynamic'" 1>&2
-        status=1
+       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
       fi
     done
       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 .*$PACKAGE") >/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"
+
+      # Restore saved enviroment variables
+      if test "${save_LC_ALL+set}" = set; then
+        LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+        LANG="$save_LANG"; export LANG
+      fi
+
+      # 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
     fi
-    echo "   - use the \`-LLIBDIR' linker flag"
-    exit 0
     ;;
 
   # libtool uninstall mode
   uninstall)
     ;;
 
   # libtool uninstall mode
   uninstall)
-    progname="$progname: uninstall"
+    modename="$modename: uninstall"
     rm="$nonopt"
     files=
 
     rm="$nonopt"
     files=
 
@@ -1598,134 +2380,178 @@ EOF
     done
 
     if test -z "$rm"; then
     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
       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)
 
       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 .*$PACKAGE") >/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)
 
       *.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 "$lo2o"`
+          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
     ;;
 
     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
 
     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
   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.
 
 
 Provide generalized library-building support services.
 
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
 -n, --dry-run         display commands without modifying any files
 -n, --dry-run         display commands without modifying any files
-    --features        display configuration information and exit
+    --features        display basic configuration information and exit
     --finish          same as \`--mode=finish'
     --help            display this help message and exit
     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
     --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
     --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
 
       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)
   ;;
 
 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.
 
 
 Compile a source file into a libtool library object.
 
+This mode accepts the following additional options:
+
+  -static           always build a \`.o' file suitable for static linking
+
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 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
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 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]...
 
 
-Print filenames to use to \`dlopen' libtool libraries.
+Automatically set library path, then run a program.
 
 
-Each LTLIBRARY is the name of a dynamically loadable libtool library (one that
-was linked using the \`-export-dynamic' option).
+This mode accepts the following additional options:
 
 
-The names to use are printed to standard output, one per line.
-EOF
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+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)
   ;;
 
 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
 
 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)
   ;;
 
 install)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
 Install executables or libraries.
 
 
 Install executables or libraries.
 
@@ -1733,13 +2559,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
 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)
   ;;
 
 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.
 
 Link object files or libraries together to form another library, or to
 create an executable program.
@@ -1749,15 +2574,19 @@ a program from several object files.
 
 The following components of LINK-COMMAND are treated specially:
 
 
 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
   -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
   -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
   -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]]
   -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.
 
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -1768,17 +2597,16 @@ object files.
 If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
 library objects (\`.lo' files) may be specified, and \`-rpath' is required.
 
 If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
 library objects (\`.lo' files) may be specified, and \`-rpath' is required.
 
-If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
-and \`ranlib'.
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on WIndows using \`lib'.
 
 
-If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
-created, otherwise an executable program is created.
-EOF
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
   ;;
 
 uninstall)
   ;;
 
 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.
 
 
 Remove libraries from an installation directory.
 
@@ -1787,23 +2615,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.
 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
 
   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
 
 
 exit 0
 
This page took 0.065172 seconds and 4 git commands to generate.