]> Pileus Git - ~andy/gtk/commitdiff
Moved glibconfig.h to $pkglibdir/include. Update to libtool-1.1.
authorOwen Taylor <owt1@cornell.edu>
Sat, 14 Mar 1998 06:42:39 +0000 (06:42 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Sat, 14 Mar 1998 06:42:39 +0000 (06:42 +0000)
Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>

Moved glibconfig.h to $pkglibdir/include. Update to libtool-1.1.

15 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
TODO
glib/ChangeLog
glib/Makefile.am
glib/ltconfig
glib/ltmain.sh
gtk-config.in
ltconfig
ltmain.sh

index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
index 6b77fc5da8a9780c7061e732ff7d0d428dc9f39d..0faaeda7e65ed47fbad991e708482f3b7b4caf89 100644 (file)
@@ -1,3 +1,24 @@
+Sat Mar 14 01:36:51 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk-config.in: Added -I $exec_prefix/glib/include to cflags
+
+Sat Mar 14 00:03:34 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwindow.c:
+          Don't resize windows when request is rejected by WM.
+         Only use the resize count to guess whether a Configure
+         event was a rejection by the WM, or a move.
+
+       * gdk/gdk.c gdk/gdktypes.h: 
+         - Don't XDestroyWindow foreign windows (If they're a child of
+         one of our windows, reparent them to root and send them a WM 
+         delete event, otherwise, just delete the GTK structure.) 
+         Handle notification of their deletion properly.
+          (Made foreign windows a seperate window type to do this)
+       
+       * gtk/gtkobject.c (gtk_object_set_data_full): 
+         Call the DestroyNotify when replacing the object data.
+
 Sat Mar 14 02:03:13 1998  Tim Janik  <timj@gimp.org>
 
        * gtk/gtksignal.c: make use of *_by_id() functions for handler key.
diff --git a/TODO b/TODO
index 790abdc07c036e2ffe3b04c4431869e1178b9371..8c9e8af2dad848c24c124c8bf8aed5e4896918af 100644 (file)
--- a/TODO
+++ b/TODO
@@ -219,3 +219,8 @@ TODO AFTER GTK 1.0
  * gtk_rc_add_[name/class]_style are broken for bg pixmaps, because
    styles are broken for bg pixmaps, and RC styles only hack around
    that.
+
+ * Try to rationally deal with someone else deleting one of our
+   windows??? This would mean keeping track of our window heirarchy
+   ourselves, for one thing, and will never be safe, because of
+   race conditions.
\ No newline at end of file
index 5519af0c138df86bfad6e980955495ac858a4a32..fd5914f1bf3c7c3fbcd75d0614faa85e4cfe5431 100644 (file)
@@ -1,3 +1,8 @@
+Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * Makefile.am (configincludedir): Moved glibconfig.h to
+          $(pkglibdir)/include
+
 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
 
        * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
index 4119b7efa4a10432eb0fa0aef46eccd2a9af1a4d..cab45be7b92313c67ed199c637ee8dda1bc32882 100644 (file)
@@ -1,5 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 
+configincludedir = $(pkglibdir)/include
+
 lib_LTLIBRARIES = libglib.la
 
 libglib_la_SOURCES = \
@@ -18,7 +20,9 @@ libglib_la_SOURCES = \
                gutils.c
 
 include_HEADERS = \
-               glib.h \
+               glib.h
+
+configinclude_HEADERS = \
                glibconfig.h
 
 libglib_la_LDFLAGS = -version-info 1:0:0
index e9d3a8379558f00c92cd7508fc55d22ce34a3970..7ebb9be8c04b345cb51762dd3da5357245c33df8 100755 (executable)
@@ -1,8 +1,7 @@
 #! /bin/sh
 
 # ltconfig - Create a system-specific libtool.
-# Generated automatically from ltconfig.in by configure.
-# Copyright (C) 1996, 1997, Free Software Foundation, Inc.
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This file is free software; you can redistribute it and/or modify it
 
 # A lot of this script is taken from autoconf-2.10.
 
+# 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
+
+echo=echo
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+else
+  # The Solaris and AIX default echo program unquotes backslashes.
+  # This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  # So, we emulate echo with printf '%s\n'
+  echo="printf %s\\n"
+  if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+  else
+    # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
+    echo=echo
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
+    for dir in $PATH /usr/ucb; do
+      if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
+        echo="$dir/echo"
+        break
+      fi
+    done
+    IFS="$save_ifs"
+  fi
+fi
+
+# 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'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
 # The name of this program.
-progname=`echo "$0" | sed 's%^.*/%%'`
+progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
 
 # Constants:
 PROGRAM=ltconfig
 PACKAGE=libtool
-VERSION=1.0f
+VERSION=1.1
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
 rm="rm -f"
 
 help="Try \`$progname --help' for more information."
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g'
-
-# Same as above, but don't quote variable references.
-double_quote_subst='s/\([\\"\\\\]\)/\\\1/g'
-
 # Global variables:
 can_build_shared=yes
 enable_shared=yes
@@ -99,7 +126,7 @@ Generate a system-specific libtool script.
     --help                 display this help and exit
     --no-verify            do not verify that HOST is a valid host type
     --quiet                same as \`--silent'
-    --silent               don't print informational messages
+    --silent               do not print informational messages
     --srcdir=DIR           find \`config.guess' in DIR
     --version              output version information and exit
     --with-gcc             assume that the GNU C compiler will be used
@@ -139,7 +166,7 @@ EOM
     if test -z "$ltmain"; then
       ltmain="$option"
     elif test -z "$host"; then
-# FIXME This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
 #      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
 #        echo "$progname: warning \`$option' is not a valid host type" 1>&2
 #      fi
@@ -160,7 +187,9 @@ fi
 
 if test -f "$ltmain"; then :
 else
-  echo "$progname: warning: \`$ltmain' does not exist" 1>&2
+  echo "$progname: \`$ltmain' does not exist" 1>&2
+  echo "$help" 1>&2
+  exit 1
 fi
 
 # Quote any args containing shell metacharacters.
@@ -212,7 +241,7 @@ fi
 
 if test -z "$srcdir"; then
   # Assume the source directory is the same one as the path to ltmain.sh.
-  srcdir=`echo "$ltmain" | sed 's%/[^/]*$%%'`
+  srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
   test "$srcdir" = "$ltmain" && srcdir=.
 fi
 
@@ -268,10 +297,10 @@ else
   host_alias=$host
 fi
 
-# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host" in
-*-*-linux-gnu*) ;;
-*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$host_os" in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
 esac
 
 host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@@ -279,7 +308,7 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
 case "$host_os" in
-aix*)
+aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
@@ -293,6 +322,7 @@ esac
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR cru $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
 
 # Set a sane default for `AR'.
 test -z "$AR" && AR=ar
@@ -318,7 +348,7 @@ fi
 
 if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
-  old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib"
+  old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
 fi
 
 # Check to see if we are using GCC.
@@ -391,7 +421,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
   # Now see if the compiler is really GCC.
   with_gcc=no
   echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:394: checking whether we are using GNU C" >&5
+  echo "$progname:424: checking whether we are using GNU C" >&5
 
   $rm conftest.c
   cat > conftest.c <<EOF
@@ -399,7 +429,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
   yes;
 #endif
 EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     with_gcc=yes
   fi
   $rm conftest.c
@@ -412,14 +442,12 @@ compiler="$2"
 
 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
 pic_flag=
-profile_flag_pattern=
 special_shlib_compile_flags=
 wl=
 link_static_flag=
 no_builtin_flag=
 
 if test "$with_gcc" = yes; then
-  profile_flag_pattern='-pg?'
   wl='-Wl,'
   link_static_flag='-static'
   no_builtin_flag=' -fno-builtin'
@@ -431,6 +459,12 @@ if test "$with_gcc" = yes; then
   os2*)
     # We can build DLLs from non-PIC.
     ;;
+  amigaos*)
+    # FIXME: we need at least 68020 code to build shared libraries, but
+    # adding the `-m68020' flag to GCC prevents building anything better,
+    # like `-m68040'.
+    pic_flag='-m68020 -resident32 -malways-restore-a4'
+    ;;
   *)
     pic_flag='-fPIC'
     ;;
@@ -446,7 +480,7 @@ else
   hpux9* | hpux10*)
     # Is there a better link_static_flag that works with the bundled CC?
     wl='-Wl,'
-    link_static_flag='${wl}-a ${wl}archive'
+    link_static_flag="${wl}-a ${wl}archive"
     pic_flag='+Z'
     ;;
 
@@ -484,6 +518,12 @@ else
     wl='-Qoption ld '
     ;;
 
+  sysv4.2uw2*)
+    pic_flag='-KPIC'
+    link_static_flag='-Bstatic'
+    wl='-Wl,'
+    ;;
+
   uts4*)
     pic_flag='-pic'
     link_static_flag='-Bstatic'
@@ -504,12 +544,12 @@ if test -n "$pic_flag"; then
   echo > conftest.c
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:507: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+  echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
+  if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
     # Append any errors to the config.log.
     cat conftest.err 1>&5
 
-    # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
+    # On HP-UX, the stripped-down bundled CC does not accept +Z, but also
     # reports no error.  So, we need to grep stderr for (Bundled).
     if grep '(Bundled)' conftest.err >/dev/null; then
       echo "$ac_t"no 1>&6
@@ -547,8 +587,8 @@ $rm conftest*
 echo 'main(){return(0);}' > conftest.c
 save_LDFLAGS="$LDFLAGS"
 LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:550: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   echo "$ac_t$link_static_flag" 1>&6
 else
   echo "$ac_t"none 1>&6
@@ -580,15 +620,15 @@ if test -z "$LD"; then
   if test "$with_gcc" = yes; then
     # Check if gcc -print-prog-name=ld gives a path.
     echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:583: checking for ld used by GCC" >&5
+    echo "$progname:623: checking for ld used by GCC" >&5
     ac_prog=`($CC -print-prog-name=ld) 2>&5`
     case "$ac_prog" in
     # Accept absolute paths.
-    /*)
+    /* | [A-Za-z]:\\*)
       test -z "$LD" && LD="$ac_prog"
       ;;
     "")
-      # If it fails, then pretend we aren't using GCC.
+      # If it fails, then pretend we are not using GCC.
       ac_prog=ld
       ;;
     *)
@@ -598,10 +638,10 @@ if test -z "$LD"; then
     esac
   elif test "$with_gnu_ld" = yes; then
     echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:601: checking for GNU ld" >&5
+    echo "$progname:641: checking for GNU ld" >&5
   else
     echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:604: checking for non-GNU ld" >&5
+    echo "$progname:644: checking for non-GNU ld" >&5
   fi
 
   if test -z "$LD"; then
@@ -635,7 +675,7 @@ if test -z "$LD"; then
   fi
 fi
 
-# Check to see if it really is or isn't GNU ld.
+# Check to see if it really is or is not GNU ld.
 echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@@ -649,6 +689,7 @@ echo "$ac_t$with_gnu_ld" 1>&6
 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
 
 allow_undefined_flag=
+no_undefined_flag=
 archive_cmds=
 old_archive_from_new_cmds=
 export_dynamic_flag_spec=
@@ -656,43 +697,41 @@ hardcode_libdir_flag_spec=
 hardcode_libdir_separator=
 hardcode_direct=no
 hardcode_minus_L=no
-hardcode_runpath_var=no
 hardcode_shlibpath_var=unsupported
 runpath_var=
 
+case "$host_os" in
+amigaos* | sunos4*)
+  # On these operating systems, we should treat GNU ld like the system ld.
+  gnu_ld_acts_native=yes
+  ;;
+*)
+  gnu_ld_acts_native=no
+  ;;
+esac
+
 ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # See if GNU ld supports shared libraries.
+if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
 
-  case "$host_os" in
-  sunos4*)
+  # See if GNU ld supports shared libraries.
+  if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
+    runpath_var=LD_RUN_PATH
     ld_shlibs=yes
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ld_shlibs=yes
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
+  else
+    ld_shlibs=no
+  fi
 
   if test "$ld_shlibs" = yes; then
-    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs'
-    hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir'
-    export_dynamic_flag_spec='${wl}-export-dynamic'
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
   fi
 else
   # PORTME fill in a description of your system's linker (not GNU ld)
   case "$host_os" in
   aix3*)
     allow_undefined_flag=unsupported
-    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname'
+    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
     # Note: this linker hardcodes the directories in LIBPATH if there
     # are no directories specified by -L.
     hardcode_minus_L=yes
@@ -705,25 +744,32 @@ else
 
   aix4*)
     allow_undefined_flag=unsupported
-    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname'
+    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
     hardcode_direct=yes
     hardcode_minus_L=yes
     ;;
 
+  amigaos*)
+    archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    ;;
+
   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
   # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # doesn't break anything, and helps significantly (at the cost of a little
+  # does not break anything, and helps significantly (at the cost of a little
   # extra space).
   freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
+    hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
     ;;
 
-  # Unfortunately, older versions of FreeBSD 2 don't have this feature.
+  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
   freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
@@ -731,7 +777,7 @@ else
 
   # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
   freebsd3*)
-    archive_cmds='$CC -shared -o $lib$libobjs$deplibs'
+    archive_cmds='$CC -shared -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
@@ -739,21 +785,23 @@ else
     ;;
 
   hpux9*)
-    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib'
+    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
+    export_dynamic_flag_spec='${wl}-E'
     ;;
 
   hpux10*)
-    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
+    export_dynamic_flag_spec='${wl}-E'
     ;;
 
   irix5* | irix6*)
-    archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
+    archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     ;;
 
@@ -766,7 +814,7 @@ else
     ;;
 
   openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_shlibpath_var=no
@@ -776,7 +824,7 @@ else
     hardcode_libdir_flag_spec='-L$libdir'
     hardcode_minus_L=yes
     allow_undefined_flag=unsupported
-    archive_cmds='echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;echo DATA >> $objdir/$libname.def;echo " SINGLE NONSHARED" >> $objdir/$libname.def;echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
+    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
     old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
     ;;
 
@@ -788,31 +836,47 @@ else
     ;;
 
   sco3.2v5*)
-    archive_cmds='$LD -G -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -G -o $lib$libobjs'
     hardcode_direct=yes
     ;;
 
   solaris2*)
-    archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
+    no_undefined_flag=' -z text'
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_shlibpath_var=no
+
+    # Solaris 2 before 2.5 hardcodes -L paths.
+    case "$host_os" in
+    solaris2.[0-4]*)
+      hardcode_minus_L=yes
+      ;;
+    esac
     ;;
 
   sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared -o $lib$libobjs'
+    else
+      archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+    fi
+
+    if test "$with_gnu_ld" = yes; then
+      export_dynamic_flag_spec='${wl}-export-dynamic'
+    fi
     hardcode_libdir_flag_spec='-L$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
     ;;
 
-   uts4*)
-     archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
-     hardcode_libdir_flag_spec='-L$libdir'
-     hardcode_direct=no
-     hardcode_minus_L=no
-     hardcode_shlibpath_var=no
-     ;;
+  uts4*)
+    archive_cmds='$LD -G -h $soname -o $lib$libobjs'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_direct=no
+    hardcode_minus_L=no
+    hardcode_shlibpath_var=no
+    ;;
 
   *)
     ld_shlibs=no
@@ -825,16 +889,18 @@ echo "$ac_t$ld_shlibs" 1>&6
 if test -z "$NM"; then
   echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
   case "$NM" in
-  /*) ;; # Let the user override the test with a path.
+  /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
   *)
     IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-    for ac_dir in /usr/ucb $PATH /bin; do
-      test -z "$ac_dir" && dir=.
+    for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+      test -z "$ac_dir" && ac_dir=.
       if test -f $ac_dir/nm; then
         # Check to see if the nm accepts a BSD-compat flag.
-        if ($ac_dir/nm -B /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then
+        # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+        #   nm: unknown option "B" ignored
+        if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
           NM="$ac_dir/nm -B"
-        elif ($ac_dir/nm -p /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then
+        elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
           NM="$ac_dir/nm -p"
        else
           NM="$ac_dir/nm"
@@ -869,6 +935,10 @@ case "$host_os" in
 aix*)
   symcode='[BCDTU]'
   ;;
+irix*)
+  # Cannot use undefined symbols on IRIX because inlined functions mess us up.
+  symcode='[BCDEGRST]'
+  ;;
 solaris2*)
   symcode='[BDTU]'
   ;;
@@ -897,17 +967,17 @@ void nm_test_func(){}
 main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-echo "$progname:900: checking if global_symbol_pipe works" >&5
-if { (eval echo $progname:901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
+echo "$progname:970: checking if global_symbol_pipe works" >&5
+if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
   # Now try to grab the symbols.
   nlist=conftest.nm
-  if { echo "$progname:904: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+  if { echo "$progname:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
 
     # 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 "$wcout" | sed 's/^[         ]*\([0-9][0-9]*\).*$/\1/'`
+      count=`$echo "X$wcout" | $Xsed -e 's/^[  ]*\([0-9][0-9]*\).*$/\1/'`
       (test "$count" -ge 0) 2>/dev/null || count=-1
     else
       rm -f "$nlist"T
@@ -944,9 +1014,9 @@ struct {
 dld_preloaded_symbols[] =
 {
 EOF
-        sed 's/^\(.*\) \(.*\)$/  {"\1", \&\2},/' < "$nlist" >> conftest.c
+        sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
         cat <<\EOF >> conftest.c
-  {0},
+  {0, (__ptr_t) 0}
 };
 
 #ifdef __cplusplus
@@ -959,7 +1029,7 @@ EOF
        save_CFLAGS="$CFLAGS"
         LIBS='conftestm.o'
        CFLAGS="$CFLAGS$no_builtin_flag"
-        if { (eval echo $progname:962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+        if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
           pipe_works=yes
         else
           echo "$progname: failed program was:" >&5
@@ -981,7 +1051,7 @@ else
 fi
 $rm conftest*
 
-# Don't use the global_symbol_pipe unless it works.
+# Do not use the global_symbol_pipe unless it works.
 echo "$ac_t$pipe_works" 1>&6
 test "$pipe_works" = yes || global_symbol_pipe=
 
@@ -989,7 +1059,7 @@ test "$pipe_works" = yes || global_symbol_pipe=
 echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
-   test "$hardcode_runpath_var" = yes; then
+   test -n "$runpath_var"; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct" != no && \
@@ -1005,7 +1075,7 @@ if test -n "$hardcode_libdir_flag_spec" || \
 elif test "$hardcode_direct" != yes && \
      test "$hardcode_minus_L" != yes && \
      test "$hardcode_shlibpath_var" != yes; then
-  # We can't hardcode anything.
+  # We cannot hardcode anything.
   hardcode_action=unsupported
 else
   # We can only hardcode existing directories.
@@ -1028,7 +1098,9 @@ library_names_spec=
 libname_spec='lib$name'
 soname_spec=
 postinstall_cmds=
+postuninstall_cmds=
 finish_cmds=
+finish_eval=
 shlibpath_var=
 version_type=none
 dynamic_linker="$host_os ld.so"
@@ -1037,23 +1109,29 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
 case "$host_os" in
 aix3* | aix4*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.a'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='$libname.so.$major'
+  soname_spec='${libname}${release}.so.$major'
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 freebsd2* | freebsd3*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix $libname.so'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 gnu*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
+  library_names_spec='${libname}${release}.so.$versuffix'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1063,16 +1141,16 @@ hpux9* | hpux10*)
   dynamic_linker="$host_os dld.sl"
   version_type=sunos
   shlibpath_var=SHLIB_PATH
-  library_names_spec='$libname.sl.$versuffix $libname.sl.$major $libname.sl'
-  soname_spec='$libname.sl.$major'
+  library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
+  soname_spec='${libname}${release}.sl.$major'
   # HP-UX runs *really* slowly unless shared libraries are mode 555.
   postinstall_cmds='chmod 555 $lib'
   ;;
 
 irix5* | irix6*)
   version_type=osf
-  soname_spec='$libname.so'
-  library_names_spec='$libname.so.$versuffix $libname.so'
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1084,9 +1162,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
 # This must be Linux ELF.
 linux-gnu*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
 
   if test -f /lib/ld.so.1; then
@@ -1102,13 +1180,12 @@ linux-gnu*)
 
 netbsd* | openbsd*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 os2*)
-  version_type=none
   libname_spec='$name'
   library_names_spec='$libname.dll $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -1117,36 +1194,43 @@ os2*)
 
 osf3* | osf4*)
   version_type=osf
-  soname_spec='$libname.so'
-  library_names_spec='$libname.so.$versuffix $libname.so'
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sco3.2v5*)
   version_type=osf
-  soname_spec='$libname.so.$major'
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 solaris2*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sunos4*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix'
+  finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+sysv4.2uw2*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 uts4*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1157,12 +1241,6 @@ esac
 echo "$ac_t$dynamic_linker"
 test "$dynamic_linker" = no && can_build_shared=no
 
-# FIXME add checks for striplib and old_striplib here.
-# strip -x works for most platforms, though not for static libraries on NetBSD
-# HP-UX requires "-r" for library stripping
-striplib=
-old_striplib=
-
 # Report the final consequences.
 echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
 
@@ -1200,25 +1278,30 @@ fi
 rmdir .libs 2>/dev/null
 echo "$ac_t$objdir" 1>&6
 
+# Copy echo and quote the copy, instead of the original, because it is
+# used later.
+ltecho="$echo"
+
 # Now quote all the things that may contain metacharacters.
-for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
   old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
   link_static_flag no_builtin_flag export_dynamic_flag_spec \
-  profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \
+  libname_spec library_names_spec soname_spec RANLIB \
   old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-  archive_cmds postinstall_cmds \
-  allow_undefined_flag finish_cmds global_symbol_pipe \
-  striplib old_striplib \
+  old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
+  allow_undefined_flag no_undefined_flag \
+  finish_cmds finish_eval global_symbol_pipe \
   hardcode_libdir_flag_spec hardcode_libdir_separator; do
 
   case "$var" in
   reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-  old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds)
+  old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
+  postinstall_cmds | postuninstall_cmds | finish_cmds)
     # Double-quote double-evaled strings.
-    eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
+    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
     ;;
   *)
-    eval "$var=\`echo \"\$$var\" | sed \"\$sed_quote_subst\"\`"
+    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
     ;;
   esac
 done
@@ -1231,8 +1314,31 @@ cat <<EOF > $ofile
 #! /bin/sh
 
 # libtool - Provide generalized library-building support services.
-#
 # Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
+# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+#
+# 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
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
 # This program was configured as follows,
 # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 #
@@ -1243,6 +1349,16 @@ cat <<EOF > $ofile
 # Compiler and other test output produced by $progname, useful for
 # debugging $progname, is in ./config.log if it exists.
 
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="sed -e s/^X//"
+
+# 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
+
+# An echo program that does not interpret backslashes.
+echo="$ltecho"
+
 # The version of $progname that generated this script.
 LTCONFIG_VERSION="$VERSION"
 
@@ -1296,9 +1412,6 @@ no_builtin_flag="$no_builtin_flag"
 # Compiler flag to allow reflexive dlopens.
 export_dynamic_flag_spec="$export_dynamic_flag_spec"
 
-# Pattern to match compiler flags for creating libNAME_p libraries:
-profile_flag_pattern="$profile_flag_pattern"
-
 # Library versioning type.
 version_type=$version_type
 
@@ -1316,6 +1429,7 @@ soname_spec="$soname_spec"
 RANLIB="$RANLIB"
 old_archive_cmds="$old_archive_cmds"
 old_postinstall_cmds="$old_postinstall_cmds"
+old_postuninstall_cmds="$old_postuninstall_cmds"
 
 # Create an old-style archive from a shared archive.
 old_archive_from_new_cmds="$old_archive_from_new_cmds"
@@ -1323,20 +1437,23 @@ old_archive_from_new_cmds="$old_archive_from_new_cmds"
 # Commands used to build and install a shared archive.
 archive_cmds="$archive_cmds"
 postinstall_cmds="$postinstall_cmds"
+postuninstall_cmds="$postuninstall_cmds"
 
 # Flag that allows shared libraries with undefined symbols to be built.
 allow_undefined_flag="$allow_undefined_flag"
 
+# Flag that forces no undefined symbols.
+no_undefined_flag="$no_undefined_flag"
+
 # Commands used to finish a libtool library installation in a directory.
 finish_cmds="$finish_cmds"
 
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval="$finish_eval"
+
 # Take the output of nm and produce a listing of raw symbols and C names.
 global_symbol_pipe="$global_symbol_pipe"
 
-# How to strip a library file.
-striplib="$striplib"
-old_striplib="$old_striplib"
-
 # This is the shared library runtime path variable.
 runpath_var=$runpath_var
 
@@ -1361,10 +1478,6 @@ hardcode_direct=$hardcode_direct
 # resulting binary.
 hardcode_minus_L=$hardcode_minus_L
 
-# Set to yes if using RUNPATH_VAR=DIR during linking hardcodes DIR into the
-# resulting binary.
-hardcode_runpath_var=$hardcode_runpath_var
-
 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
 # the resulting binary.
 hardcode_shlibpath_var=$hardcode_shlibpath_var
@@ -1372,7 +1485,7 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var
 EOF
 
 case "$host_os" in
-aix*)
+aix3*)
   cat <<\EOF >> $ofile
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
@@ -1386,25 +1499,8 @@ EOF
   ;;
 esac
 
-# Detect if we are using a relative or absolute path to ltmain.sh.
-case "$ltmain" in
-/*) cat <<EOF >> $ofile
-# Execute the libtool backend.
-. $ltmain
-EOF
-  ;;
-*) cat <<EOF >> $ofile
-# Find the path to this script.
-thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\`
-test "X\$0" = "X\$thisdir" && thisdir=.
-
-# Execute the libtool backend.
-. \$thisdir/$ltmain
-EOF
-  ;;
-esac
-
-echo 'exit 1' >> $ofile
+# Append the ltmain.sh script.
+cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
 
 chmod +x $ofile
 exit 0
index cb46c849873c5bb5ba1563d1d8bc3466e6b85028..2cf2fb308d708a0964a87f17f86d1317bfb0c0c8 100644 (file)
@@ -1,6 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
-# Generated automatically from ltmain.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
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-#FIXME: echo=echo
-echo='printf %s\n'
-if test "X`$echo '\t'`" = 'X\t'; then :
-else
-  # The Solaris and AIX default echo program unquotes backslashes.
-  # This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  # So, we emulate echo with printf '%s\n'
-  echo='printf %s\n'
-  if test "X`$echo '\t'`" = 'X\t'; then :
-  else
-    # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
-    echo=echo
-    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
-    save_PATH="$PATH"
-    PATH="$PATH":/usr/ucb
-    for dir in $PATH; do
-      if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
-        echo="$dir/echo"
-        break
-      fi
-    done
-    IFS="$save_ifs"
-    PATH="$save_PATH"
-  fi
-fi
-
 # The name of this program.
 progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.0f
+VERSION=1.1
 
 default_mode=
 help="Try \`$progname --help' for more information."
@@ -66,7 +41,8 @@ rm="rm -f"
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g'
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 
 # NLS nuisances.
 # Only set LANG and LC_ALL to C if already set.
@@ -76,14 +52,14 @@ if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
 
 if test "$LTCONFIG_VERSION" != "$VERSION"; then
-  $echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1
 fi
 
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$progname: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 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
 
@@ -104,7 +80,7 @@ do
   shift
 
   case "$arg" in
-  -*=*) optarg=`$echo "$arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
   *) optarg= ;;
   esac
 
@@ -131,7 +107,7 @@ do
     ;;
 
   --version)
-    $echo "$PROGRAM (GNU $PACKAGE) $VERSION"
+    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
     exit 0
     ;;
 
@@ -140,16 +116,16 @@ do
     ;;
 
   --features)
-    $echo "host: $host"
+    echo "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
+      echo "enable shared libraries"
     else
-      $echo "disable shared libraries"
+      echo "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
+      echo "enable static libraries"
     else
-      $echo "disable static libraries"
+      echo "disable static libraries"
     fi
     exit 0
     ;;
@@ -169,7 +145,7 @@ do
     ;;
 
   -*)
-    $echo "$progname: unrecognized option \`$arg'" 1>&2
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
     $echo "$help" 1>&2
     exit 1
     ;;
@@ -182,7 +158,7 @@ do
 done
 
 if test -n "$prevopt"; then
-  $echo "$progname: option \`$prevopt' requires an argument" 1>&2
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
   $echo "$help" 1>&2
   exit 1
 fi
@@ -192,7 +168,7 @@ 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
@@ -207,7 +183,7 @@ if test -z "$show_help"; then
     *db | *dbx)
       mode=execute
       ;;
-    *install*|cp)
+    *install*|cp|mv)
       mode=install
       ;;
     *rm)
@@ -220,9 +196,9 @@ if test -z "$show_help"; 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
+          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
         else
-          $echo "$progname: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
         fi
       fi
       ;;
@@ -231,20 +207,20 @@ if test -z "$show_help"; then
 
   # Only execute mode is allowed to have -dlopen flags.
   if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$progname: unrecognized option \`-dlopen'" 1>&2
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
     $echo "$help" 1>&2
     exit 1
   fi
 
   # Change the help message to a mode-specific one.
   generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
+  help="Try \`$modename --help --mode=$mode' for more information."
 
   # These modes are in order of execution frequency so that they run quickly.
   case "$mode" in
   # libtool compile mode
   compile)
-    progname="$progname: compile"
+    modename="$modename: compile"
     # Get the compilation command and the source file.
     base_compile=
     lastarg=
@@ -253,12 +229,20 @@ if test -z "$show_help"; then
 
     for arg
     do
-      # The only flag that cannot be specified is the output filename.
-      if test "X$arg" = "X-o"; then
-       $echo "$progname: you cannot specify the output filename with \`-o'" 1>&2
+      # Accept any command-line options.
+      case "$arg" in
+      -o)
+       $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
        $echo "$help" 1>&2
        exit 1
-      fi
+       ;;
+
+      -static)
+       build_libtool_libs=no
+       build_old_libs=yes
+       continue
+       ;;
+      esac
 
       # Accept the current argument as the source file.
       lastarg="$srcfile"
@@ -269,7 +253,7 @@ if test -z "$show_help"; then
       # 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 "$lastarg" | sed "$sed_quote_subst"`
+      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
@@ -289,11 +273,15 @@ if test -z "$show_help"; then
     done
 
     # Get the name of the library object.
-    libobj=`$echo "$srcfile" | sed -e 's%^.*/%%'`
+    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
 
     # Recognize several different file suffixes.
-    xform='[cCFSfm]'
+    xform='[cCFSfms]'
     case "$libobj" in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
     *.c++) xform=c++ ;;
     *.cc) xform=cc ;;
     *.cpp) xform=cpp ;;
@@ -302,18 +290,18 @@ if test -z "$show_help"; then
     *.for) xform=for ;;
     esac
 
-    libobj=`$echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
     case "$libobj" in
-    *.lo) obj=`$echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
     *)
-      $echo "$progname: cannot determine name of library object from \`$srcfile'" 1>&2
+      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
       exit 1
       ;;
     esac
 
     if test -z "$base_compile"; then
-      $echo "$progname: you must specify a compilation command" 1>&2
+      $echo "$modename: you must specify a compilation command" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
@@ -366,11 +354,11 @@ if test -z "$show_help"; then
       fi
     fi
 
-    # Create an invalid libtool object if no PIC, so that we don't accidentally
-    # link it into a program.
+    # Create an invalid libtool object if no PIC, so that we do not
+    # accidentally link it into a program.
     if test "$build_libtool_libs" != yes; then
-      $show "$echo timestamp > $libobj"
-      $run eval "\$echo timestamp > \$libobj" || exit $?
+      $show "echo timestamp > $libobj"
+      $run eval "echo timestamp > \$libobj" || exit $?
     fi
 
     exit 0
@@ -378,9 +366,9 @@ if test -z "$show_help"; then
 
   # libtool link mode
   link)
-    progname="$progname: link"
+    modename="$modename: link"
     CC="$nonopt"
-    allow_undefined=no
+    allow_undefined=yes
     compile_command="$CC"
     finalize_command="$CC"
 
@@ -397,6 +385,7 @@ if test -z "$show_help"; then
     objs=
     prev=
     prevarg=
+    release=
     rpath=
     perm_rpath=
     temp_rpath=
@@ -408,7 +397,7 @@ if test -z "$show_help"; then
       case "$arg" in
       -all-static | -static)
         if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-           $echo "$progname: warning: complete static linking is impossible in this configuration" 1>&2
+           $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
         fi
         build_libtool_libs=no
        build_old_libs=yes
@@ -443,6 +432,11 @@ if test -z "$show_help"; then
             ;;
           esac
           ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
         rpath)
           rpath="$rpath $arg"
          prev=
@@ -468,7 +462,8 @@ if test -z "$show_help"; then
        ;;
 
       -allow-undefined)
-       allow_undefined=yes
+       # FIXME: remove this flag sometime in the future.
+       $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
        continue
        ;;
 
@@ -498,13 +493,13 @@ if test -z "$show_help"; then
         ;;
 
       -L*)
-        dir=`$echo "$arg" | sed 's%^-L\(.*\)$%\1%'`
+        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 "$progname: \`-L$dir' cannot specify a relative directory" 1>&2
+          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
           exit 1
           ;;
         esac
@@ -513,8 +508,18 @@ if test -z "$show_help"; then
 
       -l*) deplibs="$deplibs $arg" ;;
 
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
       -o) prev=output ;;
 
+      -release)
+       prev=release
+       continue
+       ;;
+
       -rpath)
         prev=rpath
         continue
@@ -538,7 +543,7 @@ if test -z "$show_help"; then
       -* | +*)
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "$arg" | sed "$sed_quote_subst"`
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case "$arg" in
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
          arg="\"$arg\""
@@ -566,7 +571,7 @@ if test -z "$show_help"; then
 
        if test "$prev" = dlprefiles; then
          # Preload the old-style object.
-         dlprefiles="$dlprefiles "`$echo "$arg" | sed 's/\.lo$/\.o/'`
+         dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
          prev=
        fi
        libobjs="$libobjs $arg"
@@ -581,20 +586,20 @@ if test -z "$show_help"; then
         old_library=
 
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $arg >/dev/null 2>&1; then :
+        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
+          $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 ;;
         *) . ./$arg ;;
         esac
 
         if test -z "$libdir"; then
-          $echo "$progname: \`$arg' contains no -rpath information" 1>&2
+          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
           exit 1
         fi
 
@@ -605,13 +610,13 @@ if test -z "$show_help"; then
         done
 
         if test -z "$linklib"; then
-          $echo "$progname: cannot find name of link library for \`$arg'" 1>&2
+          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
           exit 1
         fi
 
         # Find the relevant object directory and library name.
-        name=`$echo "$arg" | sed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
-        dir=`$echo "$arg" | sed 's%/[^/]*$%%'`
+        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
@@ -625,7 +630,10 @@ if test -z "$show_help"; then
             # If there is no dlname, we need to preload.
             prev=dlprefiles
           else
-            # We should not create a dependency on this library.
+            # 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
@@ -679,7 +687,7 @@ if test -z "$show_help"; then
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
             fi
-          elif test "$hardcode_runpath_var" = yes; then
+          elif test -n "$runpath_var"; then
             # Do the same for the permanent run path.
             case "$perm_rpath " in
             *" $libdir "*) ;;
@@ -703,11 +711,11 @@ if test -z "$show_help"; then
           relink)
             # We need an absolute path.
             case "$dir" in
-            /*) ;;
+            /* | [A-Za-z]:\\*) ;;
             *)
               absdir=`cd "$dir" && pwd`
               if test -z "$absdir"; then
-                $echo "$progname: cannot determine absolute directory name of \`$dir'" 1>&2
+                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
                 exit 1
               fi
               dir="$absdir"
@@ -725,7 +733,7 @@ if test -z "$show_help"; then
             ;;
 
           *)
-            $echo "$progname: \`$hardcode_action' is an unknown hardcode action" 1>&2
+            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
             exit 1
             ;;
           esac
@@ -739,13 +747,13 @@ if test -z "$show_help"; then
             finalize_shlibpath="$finalize_shlibpath$libdir:"
             finalize_command="$finalize_command -l$name"
           else
-            # We can't seem to hardcode it, guess we'll fake it.
+            # We cannot seem to hardcode it, guess we'll fake it.
             finalize_command="$finalize_command -L$libdir -l$name"
           fi
         else
           # Transform directly to old archives if we don't build new libraries.
           if test -n "$pic_flag" && test -z "$old_library"; then
-            $echo "$progname: cannot find static library for \`$arg'" 1>&2
+            $echo "$modename: cannot find static library for \`$arg'" 1>&2
             exit 1
           fi
 
@@ -761,6 +769,10 @@ if test -z "$show_help"; then
            finalize_command="$finalize_command -L$dir -l$name"
          fi
         fi
+
+       # Add in any libraries that this one depends upon.
+       compile_command="$compile_command$dependency_libs"
+       finalize_command="$finalize_command$dependency_libs"
        continue
         ;;
 
@@ -768,7 +780,7 @@ if test -z "$show_help"; then
       *)
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "$arg" | sed "$sed_quote_subst"`
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case "$arg" in
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
          arg="\"$arg\""
@@ -778,12 +790,20 @@ if test -z "$show_help"; then
       esac
 
       # Now actually substitute the argument into the commands.
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
+      if test -n "$arg"; then
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+      fi
     done
 
     if test -n "$prev"; then
-      $echo "$progname: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -n "$vinfo" && test -n "$release"; then
+      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
@@ -792,28 +812,37 @@ if test -z "$show_help"; then
     oldobjs=
     case "$output" in
     "")
-      $echo "$progname: you must specify an output file" 1>&2
+      $echo "$modename: you must specify an output file" 1>&2
       $echo "$help" 1>&2
       exit 1
       ;;
 
-    */*)
-      $echo "$progname: output file \`$output' must have no directory components" 1>&2
+    */* | *\\*)
+      $echo "$modename: output file \`$output' must have no directory components" 1>&2
       exit 1
       ;;
 
+    *.a)
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      build_old_libs=yes
+      oldlib="$output"
+      $show "$rm $oldlib"
+      $run $rm $oldlib
+      ;;
+
     *.la)
       # Make sure we only generate libraries of the form `libNAME.la'.
       case "$output" in
       lib*) ;;
       *)
-       $echo "$progname: libtool library \`$arg' must begin with \`lib'" 1>&2
+       $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
        $echo "$help" 1>&2
        exit 1
        ;;
       esac
 
-      name=`$echo "$output" | sed -e 's/\.la$//' -e 's/^lib//'`
+      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
       libname=`eval \\$echo \"$libname_spec\"`
 
       # All the library-specific variables (install_libdir is set above).
@@ -825,35 +854,32 @@ if test -z "$show_help"; then
       age=0
 
       if test -n "$objs"; then
-        $echo "$progname: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
         exit 1
       fi
 
       # How the heck are we supposed to write a wrapper for a shared library?
       if test -n "$link_against_libtool_libs"; then
-        $echo "$progname: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
+        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
         exit 1
       fi
 
-      # Add libc to deplibs on all systems.
-      deplibs="$deplibs -lc"
-
       if test -n "$dlfiles$dlprefiles"; then
-        $echo "$progname: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
+        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
       fi
 
       if test -z "$rpath"; then
-        $echo "$progname: you must specify an installation directory with \`-rpath'" 1>&2
+        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
        $echo "$help" 1>&2
         exit 1
       fi
 
       set dummy $rpath
       if test $# -gt 2; then
-       $echo "$progname: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+       $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
       fi
       install_libdir="$2"
 
@@ -863,7 +889,7 @@ if test -z "$show_help"; then
       IFS="$save_ifs"
 
       if test -n "$5"; then
-        $echo "$progname: too many parameters to \`-version-info'" 1>&2
+        $echo "$modename: too many parameters to \`-version-info'" 1>&2
         $echo "$help" 1>&2
         exit 1
       fi
@@ -876,8 +902,8 @@ if test -z "$show_help"; then
       case "$current" in
       0 | [1-9] | [1-9][0-9]*) ;;
       *)
-        $echo "$progname: CURRENT \`$current' is not a nonnegative integer" 1>&2
-        $echo "$progname: \`$vinfo' is not valid version information" 1>&2
+        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
         exit 1
         ;;
       esac
@@ -885,8 +911,8 @@ if test -z "$show_help"; then
       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
+        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
         exit 1
         ;;
       esac
@@ -894,15 +920,15 @@ if test -z "$show_help"; then
       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
+        $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 "$progname: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-        $echo "$progname: \`$vinfo' is not valid version information" 1>&2
+        $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
 
@@ -942,16 +968,16 @@ if test -z "$show_help"; then
         ;;
 
       *)
-        $echo "$progname: unknown library version type \`$version_type'" 1>&2
-        $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+        $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
 
       # Create the output directory, or remove our outputs if we need to.
       if test -d $objdir; then
-        $show "$rm $objdir/$output $objdir/$libname.*"
-        $run $rm $objdir/$output $objdir/$libname.*
+        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
       else
         $show "$mkdir $objdir"
         $run $mkdir $objdir
@@ -965,15 +991,19 @@ if test -z "$show_help"; then
       # 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
+          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
           build_libtool_libs=no
          build_old_libs=yes
         fi
       else
-        # Clear the flag.
-        allow_undefined_flag=
+        # Don't allow undefined symbols.
+        allow_undefined_flag="$no_undefined_flag"
       fi
 
+      # Add libc to deplibs on all systems.
+      dependency_libs="$deplibs"
+      deplibs="$deplibs -lc"
+
       if test "$build_libtool_libs" = yes; then
         # Get the real and link names of the library.
         library_names=`eval \\$echo \"$library_names_spec\"`
@@ -994,7 +1024,7 @@ if test -z "$show_help"; then
        done
 
         # Use standard objects if they are PIC.
-        test -z "$pic_flag" && libobjs=`$echo "$libobjs " | sed -e 's/\.lo /.o /g' -e 's/ $//g'`
+        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
 
         # Do each of the archive commands.
         cmds=`eval \\$echo \"$archive_cmds\"`
@@ -1007,9 +1037,9 @@ if test -z "$show_help"; then
         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
+          $show "(cd $objdir && $LN_S $realname $linkname)"
+          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
         done
 
         # If -export-dynamic was specified, set the dlname.
@@ -1018,41 +1048,48 @@ if test -z "$show_help"; then
           dlname="$soname"
         fi
       fi
+
+      # Now set the variables for building old libraries.
+      oldlib="$objdir/$libname.a"
       ;;
 
     *.lo | *.o)
       if test -n "$link_against_libtool_libs"; then
-        $echo "$progname: error: cannot link libtool libraries into reloadable objects" 1>&2
+        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
         exit 1
       fi
 
       if test -n "$deplibs"; then
-        $echo "$progname: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
       fi
 
       if test -n "$dlfiles$dlprefiles"; then
-        $echo "$progname: warning: \`-dlopen' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
       fi
 
       if test -n "$rpath"; then
-        $echo "$progname: warning: \`-rpath' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
       fi
 
       if test -n "$vinfo"; then
-        $echo "$progname: warning: \`-version-info' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
       case "$output" in
       *.lo)
         if test -n "$objs"; then
-          $echo "$progname: cannot build library object \`$output' from non-libtool objects" 1>&2
+          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
           exit 1
         fi
         libobj="$output"
-        obj=`$echo "$output" | sed 's/\.lo$/.o/'`
+        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
         ;;
       *)
         libobj=
@@ -1064,7 +1101,7 @@ if test -z "$show_help"; then
       $run $rm $obj $libobj
 
       # Create the old-style object.
-      reload_objs="$objs"`$echo "$libobjs " | sed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
+      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       output="$obj"
       cmds=`eval \\$echo \"$reload_cmds\"`
@@ -1082,8 +1119,8 @@ if test -z "$show_help"; then
       if test "$build_libtool_libs" != yes; then
         # Create an invalid libtool object if no PIC, so that we don't
         # accidentally link it into a program.
-        $show "$echo timestamp > $libobj"
-        $run eval "\$echo timestamp > $libobj" || exit $?
+        $show "echo timestamp > $libobj"
+        $run eval "echo timestamp > $libobj" || exit $?
         exit 0
       fi
 
@@ -1110,7 +1147,11 @@ if test -z "$show_help"; then
 
     *)
       if test -n "$vinfo"; then
-        $echo "$progname: warning: \`-version-info' is ignored while linking programs" 1>&2
+        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
       if test -n "$rpath"; then
@@ -1141,7 +1182,7 @@ if test -z "$show_help"; then
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
             fi
-          elif test "$hardcode_runpath_var" = yes; then
+          elif test -n "$runpath_var"; then
             case "$perm_rpath " in
             *" $libdir "*) ;;
             *) perm_rpath="$perm_rpath $libdir" ;;
@@ -1152,14 +1193,14 @@ if test -z "$show_help"; then
 
       # Substitute the hardcoded libdirs into the compile commands.
       if test -n "$hardcode_libdir_separator"; 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"`
+       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
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
         # Transform all the library objects into standard objects.
-        compile_command=`$echo "$compile_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
-        finalize_command=`$echo "$finalize_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
+        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
       fi
 
       if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
@@ -1170,7 +1211,7 @@ if test -z "$show_help"; then
 
       if test -n "$dlsyms"; then
         # Add our own program objects to the preloaded list.
-        dlprefiles=`$echo "$objs$dlprefiles " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
+        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
 
        # Discover the nlist of each of the dlfiles.
         nlist="$objdir/${output}.nm"
@@ -1203,7 +1244,7 @@ if test -z "$show_help"; then
          if sort "$nlist" | uniq > "$nlist"T; then
            mv -f "$nlist"T "$nlist"
            wcout=`wc "$nlist" 2>/dev/null`
-           count=`$echo "$wcout" | sed 's/^[   ]*\([0-9][0-9]*\).*$/\1/'`
+           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
@@ -1213,29 +1254,29 @@ if test -z "$show_help"; then
          case "$dlsyms" in
          "") ;;
          *.c)
-           cat <<EOF > "$objdir/$dlsyms"
-/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
+           $echo > "$objdir/$dlsyms" \
+"/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
 
 #ifdef __cplusplus
-extern "C" {
+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. */
-EOF
+/* 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"
+             echo '/* NONE */' >> "$objdir/$dlsyms"
 EOF
            fi
 
-           cat <<EOF >> "$objdir/$dlsyms"
-
+           $echo >> "$objdir/$dlsyms" \
+"
 #undef dld_preloaded_symbol_count
 #undef dld_preloaded_symbols
 
@@ -1254,25 +1295,23 @@ struct {
   __ptr_t address;
 }
 dld_preloaded_symbols[] =
-{
-EOF
+{"
 
            if test -f "$nlist"; then
-             sed 's/^\(.*\) \(.*\)$/  {"\1", \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
+             sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
            fi
 
-           cat <<\EOF >> "$objdir/$dlsyms"
-  {0},
+           $echo >> "$objdir/$dlsyms" \
+"  {0, (__ptr_t) 0}
 };
 
 #ifdef __cplusplus
 }
-#endif
-EOF
+#endif"
            ;;
 
          *)
-           echo "$progname: unknown suffix for \`$dlsyms'" 1>&2
+           $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
            exit 1
            ;;
          esac
@@ -1283,25 +1322,25 @@ EOF
         $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
 
         # Transform the symbol file into the correct name.
-        compile_command=`$echo "$compile_command" | sed "s%@SYMFILE@%$objdir/${output}S.o%"`
-        finalize_command=`$echo "$finalize_command" | sed "s%@SYMFILE@%$objdir/${output}S.o%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
       elif test "$export_dynamic" != yes; then
-        test -n "$dlfiles$dlprefiles" && $echo "$progname: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
+        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 "$progname: not configured to extract global symbols from dlpreopened files" 1>&2
+        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
 
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        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 "$compile_command" | sed 's%@OUTPUT@%'"$output"'%g'`
-        finalize_command=`$echo "$finalize_command" | sed 's%@OUTPUT@%'"$output"'%g'`
+        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"
@@ -1310,14 +1349,19 @@ EOF
       fi
 
       # Replace the output file specification.
-      compile_command=`$echo "$compile_command" | sed 's%@OUTPUT@%'"$objdir/$output"'%g'`
-      finalize_command=`$echo "$finalize_command" | sed 's%@OUTPUT@%'"$objdir/$output"'T%g'`
+      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
 
       # Create the binary in the object directory, then wrap it.
       if test -d $objdir; then :
       else
         $show "$mkdir $objdir"
-        $run $mkdir $objdir || exit $?
+       $run $mkdir $objdir
+       status=$?
+       if test $status -eq 0 || test -d $objdir; then :
+       else
+         exit $status
+       fi
       fi
 
       if test -n "$shlibpath_var"; then
@@ -1325,7 +1369,7 @@ EOF
         rpath=
         for dir in $temp_rpath; do
           case "$dir" in
-          /*)
+          /* | [A-Za-z]:\\*)
             # Absolute path.
             rpath="$rpath$dir:"
             ;;
@@ -1348,7 +1392,7 @@ EOF
         finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
       fi
 
-      if test -n "$perm_rpath"; then
+      if test -n "$runpath_var" && test -n "$perm_rpath"; then
         # We should set the runpath_var.
         rpath=
         for dir in $perm_rpath; do
@@ -1361,8 +1405,8 @@ EOF
       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
+        $echo "$modename: warning: using a buggy system linker" 1>&2
+        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
         ;;
       esac
 
@@ -1373,15 +1417,18 @@ EOF
       $show "creating $output"
 
       # Quote the finalize command for shipping.
-      finalize_command=`$echo "$finalize_command" | sed "$sed_quote_subst"`
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+
+      # Quote $echo for shipping.
+      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 
       # Only actually do things if our run command is non-null.
       if test -z "$run"; then
         $rm $output
         trap "$rm $output; exit 1" 1 2 15
 
-        cat > $output <<EOF
-#! /bin/sh
+        $echo > $output \
+"#! /bin/sh
 
 # $output - temporary wrapper script for $objdir/$output
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
@@ -1392,116 +1439,109 @@ EOF
 # This wrapper script should never be moved out of \``pwd`'.
 # If it is, it will not operate correctly.
 
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+
 # This environment variable determines our operation mode.
-if test "\$libtool_install_magic" = "$magic"; then
+if test \"\$libtool_install_magic\" = \"$magic\"; then
   # install mode needs the following variables:
   link_against_libtool_libs='$link_against_libtool_libs'
-  finalize_command="$finalize_command"
+  finalize_command=\"$finalize_command\"
 else
   # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test "\$libtool_execute_magic" = "$magic"; then :
+  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
   else
-    echo='$echo'
-    file="\$0"
+    echo=\"$qecho\"
+    file=\"\$0\"
   fi
 
   # Find the directory that this script lives in.
-  thisdir=\`\$echo "\$file" | sed 's%/[^/]*$%%'\`
-  test "x\$thisdir" = "x\$file" && thisdir=.
+  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 "\$file" | sed 's%/[^/]*\$%%'\`
+  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
-      /*) thisdir="\$destdir" ;;
-      *) thisdir="\$thisdir/\$destdir" ;;
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
       esac
     fi
 
-    file=\`\$echo "\$file" | sed 's%^.*/%%'\`
-    file=\`ls -ld "\$thisdir/\$file" | sed -n 's/.*-> //p'\`
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
   done
 
   # Try to get the absolute directory name.
-  absdir=\`cd "\$thisdir" && pwd\`
-  test -n "\$absdir" && thisdir="\$absdir"
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 
-  progdir="\$thisdir/$objdir"
+  progdir=\"\$thisdir/$objdir\"
   program='$output'
 
-  if test -f "\$progdir/\$program"; then
-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
-          cat >> $output <<EOF
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var="$temp_rpath\$$shlibpath_var"
+          $echo >> $output \
+"    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
-    $shlibpath_var=\`\$echo \$$shlibpath_var | sed -e 's/:*\$//'\`
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
 
     export $shlibpath_var
-
-EOF
+"
         fi
 
-        cat >> $output <<EOF
-    if test "\$libtool_execute_magic" != "$magic"; then
+        echo >> $output \
+"    if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
       args=
       for arg
       do
         # Quote arguments (to preserve shell metacharacters).
-       sed_quote_subst='$sed_quote_subst'
-       arg=\`\$echo "\$arg" | sed "\$sed_quote_subst"\`
-        args="\$args \\"\$arg\\""
+       arg=\`\$echo \"X\$arg\" | \$Xsed -e \"\$sed_quote_subst\"\`
+        args=\"\$args \\\"\$arg\\\"\"
       done
 
       # Export the path to the program.
-      PATH="\$progdir:\$PATH"
+      PATH=\"\$progdir:\$PATH\"
       export PATH
 
-      eval "exec \$program \$args"
+      eval \"exec \$program \$args\"
 
-      \$echo "\$0: cannot exec \$program \$args"
+      \$echo \"\$0: cannot exec \$program \$args\"
       exit 1
     fi
   else
     # The program doesn't exist.
-    \$echo "\$0: error: \$progdir/\$program does not exist" 1>&2
-    \$echo "This script is just a wrapper for \$program." 1>&2
-    \$echo "See the $PACKAGE documentation for more information." 1>&2
+    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
-fi
-EOF
+fi"
         chmod +x $output
       fi
       exit 0
       ;;
     esac
 
-
     # See if we need to build an old-fashioned archive.
     if test "$build_old_libs" = "yes"; then
-      # Now set the variables for building old libraries.
-      oldlib="$objdir/$libname.a"
-
       # Transform .lo files to .o files.
-      oldobjs="$objs"`$echo "$libobjs " | sed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
-
-      if test -d "$objdir"; then
-        $show "$rm $oldlib"
-        $run $rm $oldlib
-      else
-        $show "$mkdir $objdir"
-        $run $mkdir $objdir
-      fi
+      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
@@ -1528,8 +1568,8 @@ EOF
 
       # Only create the output if not a dry run.
       if test -z "$run"; then
-        cat > $output <<EOF
-# $output - a libtool library file
+        echo > $output \
+"# $output - a libtool library file
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
 
 # The name that we can dlopen(3).
@@ -1541,14 +1581,16 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
 # Version information for $libname.
 current=$current
 age=$age
 revision=$revision
 
 # Directory that this library needs to be installed in:
-libdir='$install_libdir'
-EOF
+libdir='$install_libdir'"
       fi
 
       # Do a symbolic link so that the libtool archive can be found in
@@ -1562,13 +1604,13 @@ EOF
 
   # libtool install mode
   install)
-    progname="$progname: install"
+    modename="$modename: install"
 
     # There may be an optional /bin/sh argument at the beginning of
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL"; then
       # Aesthetically quote it.
-      arg=`$echo "$nonopt" | sed "$sed_quote_subst"`
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
        arg="\"$arg\""
@@ -1584,7 +1626,7 @@ EOF
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
-    arg=`$echo "$arg" | sed "$sed_quote_subst"`
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case "$arg" in
     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
       arg="\"$arg\""
@@ -1632,7 +1674,7 @@ EOF
       esac
 
       # Aesthetically quote the argument.
-      arg=`$echo "$arg" | sed "$sed_quote_subst"`
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
        arg="\"$arg\""
@@ -1642,29 +1684,29 @@ EOF
     done
 
     if test -z "$install_prog"; then
-      $echo "$progname: you must specify an install program" 1>&2
+      $echo "$modename: you must specify an install program" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     if test -n "$prev"; then
-      $echo "$progname: the \`$prev' option requires an argument" 1>&2
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     if test -z "$files"; then
       if test -z "$dest"; then
-        $echo "$progname: no file or destination specified" 1>&2
+        $echo "$modename: no file or destination specified" 1>&2
       else
-        $echo "$progname: you must specify a destination" 1>&2
+        $echo "$modename: you must specify a destination" 1>&2
       fi
       $echo "$help" 1>&2
       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
@@ -1672,26 +1714,26 @@ EOF
       destdir="$dest"
       destname=
     else
-      destdir=`$echo "$dest" | sed 's%/[^/]*$%%'`
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
       test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "$dest" | sed 's%^.*/%%'`
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files
       if test $# -gt 2; then
-        $echo "$progname: \`$dest' is not a directory" 1>&2
+        $echo "$modename: \`$dest' is not a directory" 1>&2
         $echo "$help" 1>&2
         exit 1
       fi
     fi
     case "$destdir" in
-    /*) ;;
+    /* | [A-Za-z]:\\*) ;;
     *)
       for file in $files; do
         case "$file" in
         *.lo) ;;
         *)
-          $echo "$progname: \`$destdir' must be an absolute directory name" 1>&2
+          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
           $echo "$help" 1>&2
           exit 1
           ;;
@@ -1718,9 +1760,9 @@ EOF
 
       *.la)
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then :
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$file' is not a valid libtool archive" 1>&2
+          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2
           exit 1
         fi
@@ -1729,7 +1771,7 @@ EOF
         old_library=
         # If there is no directory component, then add one.
         case "$file" in
-        */*) . $file ;;
+        */* | *\\*) . $file ;;
         *) . ./$file ;;
         esac
 
@@ -1747,7 +1789,7 @@ EOF
           esac
         fi
 
-        dir="`$echo "$file" | sed 's%/[^/]*$%%'`/"
+        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
         test "X$dir" = "X$file/" && dir=
         dir="$dir$objdir"
 
@@ -1763,16 +1805,6 @@ EOF
           $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
-
           if test $# -gt 0; then
             # Delete the old symlinks.
             rmcmd="$rm"
@@ -1811,7 +1843,7 @@ EOF
         fi
 
         # Install the pseudo-library for information purposes.
-        name=`$echo "$file" | sed 's%^.*/%%'`
+        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
         $show "$install_prog $file $destdir/$name"
         $run eval "$install_prog $file $destdir/$name" || exit $?
 
@@ -1826,21 +1858,21 @@ EOF
         if test -n "$destname"; then
           destfile="$destdir/$destname"
         else
-          destfile=`$echo "$file" | sed 's%^.*/%%'`
+          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
           destfile="$destdir/$destfile"
         fi
 
         # Deduce the name of the destination old-style object file.
         case "$destfile" in
         *.lo)
-          staticdest=`$echo "$destfile" | sed 's/\.lo$/\.o/'`
+          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
           ;;
         *.o)
           staticdest="$destfile"
           destfile=
           ;;
         *)
-          $echo "$progname: cannot copy a libtool object to \`$destfile'" 1>&2
+          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
           $echo "$help" 1>&2
           exit 1
           ;;
@@ -1855,7 +1887,7 @@ EOF
         # 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/'`
+          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
 
           $show "$install_prog $staticobj $staticdest"
           $run eval "$install_prog \$staticobj \$staticdest" || exit $?
@@ -1865,19 +1897,19 @@ EOF
 
       *)
         # Do a test to see if this is really a libtool program.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
           link_against_libtool_libs=
           finalize_command=
 
           # If there is no directory component, then add one.
           case "$file" in
-          */*) . $file ;;
+          */* | *\\*) . $file ;;
           *) . ./$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
+            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
             exit 1
           fi
 
@@ -1888,36 +1920,36 @@ EOF
             if test -f "$lib"; then
               # If there is no directory component, then add one.
               case "$lib" in
-              */*) . $lib ;;
+              */* | *\\*) . $lib ;;
               *) . ./$lib ;;
               esac
             fi
-            libfile="$libdir/`$echo "$lib" | sed 's%^.*/%%g'`"
+            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
             if test -z "$libdir"; then
-              $echo "$progname: warning: \`$lib' contains no -rpath information" 1>&2
+              $echo "$modename: 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
+              $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 "$progname: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
+              $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 "$progname: error: relink \`$file' with the above command before installing it" 1>&2
+                $echo "$modename: 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
+              $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 "$file" | sed "s%\([^/]*\)$%$objdir/\1%"`
+           file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
           fi
         fi
 
@@ -1928,7 +1960,7 @@ EOF
     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"
@@ -1936,16 +1968,6 @@ EOF
       $show "$install_prog $file $oldlib"
       $run eval "$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
-
       # Do each command in the postinstall commands.
       cmds=`eval \\$echo \"$old_postinstall_cmds\"`
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
@@ -1958,7 +1980,7 @@ EOF
     done
 
     if test -n "$future_libdirs"; then
-      $echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
     fi
 
     if test -n "$current_libdirs"; then
@@ -1973,44 +1995,77 @@ EOF
 
   # libtool finish mode
   finish)
-    progname="$progname: finish"
+    modename="$modename: finish"
     libdirs="$nonopt"
 
-    if test -n "$finish_cmds" && test -n "$libdirs"; then
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       for dir
       do
         libdirs="$libdirs $dir"
       done
 
       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
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish 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"
-          $show "$cmd"
-          $run eval "$cmd"
-        done
-        IFS="$save_ifs"
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         cmds=`eval \\$echo \"$finish_eval\"`
+         $run eval "$cmds"
+       fi
       done
     fi
 
-    $echo "To link against installed libraries in LIBDIR, users may have to:"
+    echo "------------------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
+    done
+    echo
+    echo "To link against installed libraries in a given directory, LIBDIR,"
+    echo "you must use the \`-LLIBDIR' flag during linking."
+    echo
+    echo " You will also need to do one of the following:"
     if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to their \`$shlibpath_var' environment variable"
+      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
+      flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
+
+      echo "   - use the \`$flag' linker flag"
     fi
-    $echo "   - use the \`-LLIBDIR' linker flag"
+    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
     ;;
 
   # libtool execute mode
   execute)
-    progname="$progname: execute"
+    modename="$modename: execute"
 
     # The first argument is the command name.
     cmd="$nonopt"
     if test -z "$cmd"; then
-      $echo "$progname: you must specify a COMMAND" 1>&2
+      $echo "$modename: you must specify a COMMAND" 1>&2
       $echo "$help"
       exit 1
     fi
@@ -2019,7 +2074,7 @@ EOF
     for file in $execute_dlfiles; do
       if test -f "$file"; then :
       else
-       $echo "$progname: \`$file' is not a file" 1>&2
+       $echo "$modename: \`$file' is not a file" 1>&2
        $echo "$help" 1>&2
        exit 1
       fi
@@ -2028,9 +2083,9 @@ EOF
       case "$file" in
       *.la)
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then :
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$lib' is not a valid libtool archive" 1>&2
+          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2
           exit 1
         fi
@@ -2041,36 +2096,36 @@ EOF
 
         # If there is no directory component, then add one.
        case "$file" in
-       */*) . $file ;;
+       */* | *\\*) . $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 "$progname: warning: \`$file' was not linked with \`-export-dynamic'"
+         test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
          continue
        fi
 
-       dir=`$echo "$file" | sed 's%/[^/]*$%%'`
+       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 "$progname: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+         $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 "$file" | sed 's%/[^/]*$%%'`
+       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
        test "X$dir" = "X$file" && dir=.
        ;;
 
       *)
-       $echo "$progname: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+       $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
         continue
        ;;
       esac
@@ -2098,10 +2153,11 @@ EOF
       case "$file" in
       -*) ;;
       *)
-       if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        # Do a test to see if this is really a libtool program.
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
          # If there is no directory component, then add one.
          case "$file" in
-         */*) . $file ;;
+         */* | *\\*) . $file ;;
          *) . ./$file ;;
          esac
 
@@ -2111,7 +2167,7 @@ EOF
         ;;
       esac
       # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "$file" | sed "$sed_quote_subst"`
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
       args="$args \"$file\""
     done
 
@@ -2122,7 +2178,7 @@ EOF
       # Now actually exec the command.
       eval "exec \$cmd$args"
 
-      $echo "$progname: cannot exec \$cmd$args"
+      $echo "$modename: cannot exec \$cmd$args"
       exit 1
     else
       # Display what would be done.
@@ -2135,7 +2191,7 @@ EOF
 
   # libtool uninstall mode
   uninstall)
-    progname="$progname: uninstall"
+    modename="$modename: uninstall"
     rm="$nonopt"
     files=
 
@@ -2148,22 +2204,22 @@ EOF
     done
 
     if test -z "$rm"; then
-      $echo "$progname: you must specify an RM program" 1>&2
+      $echo "$modename: you must specify an RM program" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     for file in $files; do
-      dir=`$echo "$file" | sed -e 's%/[^/]*$%%'`
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
       test "X$dir" = "X$file" && dir=.
-      name=`$echo "$file" | sed -e 's%^.*/%%'`
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
       rmfiles="$file"
 
       case "$name" in
       *.la)
         # Possibly a libtool archive, so verify it.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
           . $dir/$name
 
           # Delete the libtool libraries and symlinks.
@@ -2174,40 +2230,71 @@ EOF
           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.
+           cmds=`eval \\$echo \"$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
+
+          if test -n "$old_library"; then
+           # Do each command in the old_postuninstall commands.
+           cmds=`eval \\$echo \"$old_postuninstall_cmds\"`
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd"
+           done
+           IFS="$save_ifs"
+         fi
+
           # FIXME: should reinstall the best remaining shared library.
         fi
         ;;
 
       *.lo)
         if test "$build_old_libs" = yes; then
-          oldobj=`$echo "$name" | sed 's/\.lo$/\.o/'`
+          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
           rmfiles="$rmfiles $dir/$oldobj"
         fi
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
         ;;
-      esac
 
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles
+      *)
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
+       ;;
+      esac
     done
     exit 0
     ;;
 
   "")
-    $echo "$progname: you must specify a MODE" 1>&2
+    $echo "$modename: you must specify a MODE" 1>&2
     $echo "$generic_help" 1>&2
     exit 1
     ;;
   esac
 
-  $echo "$progname: invalid operation mode \`$mode'" 1>&2
+  $echo "$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
-"") cat <<EOF
-Usage: $progname [OPTION]... [MODE-ARG]...
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
 
 Provide generalized library-building support services.
 
@@ -2229,14 +2316,14 @@ MODE must be one of the following:
       link            create a library or an executable
       uninstall       remove libraries from an installed directory
 
-MODE-ARGS vary depending on the MODE.  Try \`$progname --help --mode=MODE' for
-a more detailed description of MODE.
-EOF
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+  exit 0
   ;;
 
 compile)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 
 Compile a source file into a libtool library object.
 
@@ -2245,13 +2332,12 @@ 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'."
   ;;
 
 execute)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
 
 Automatically set library path, then run a program.
 
@@ -2266,26 +2352,24 @@ 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.
-EOF
+Then, COMMAND is executed, with ARGS as arguments."
   ;;
 
 finish)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 
 Complete the installation of libtool libraries.
 
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed.
-EOF
+the \`--dry-run' option if you just want to see what would be executed."
   ;;
 
 install)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
 Install executables or libraries.
 
@@ -2293,13 +2377,12 @@ INSTALL-COMMAND is the installation command.  The first component should be
 either the \`install' or \`cp' program.
 
 The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized).
-EOF
+BSD-compatible install options are recognized)."
   ;;
 
 link)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 
 Link object files or libraries together to form another library, or to
 create an executable program.
@@ -2310,13 +2393,14 @@ a program from several object files.
 The following components of LINK-COMMAND are treated specially:
 
   -all-static       do not do any dynamic linking at all
-  -allow-undefined  allow a libtool library to reference undefined symbols
   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -static           do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
@@ -2335,13 +2419,12 @@ If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
 and \`ranlib'.
 
 If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
-created, otherwise an executable program is created.
-EOF
+created, otherwise an executable program is created."
   ;;
 
 uninstall)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+  $echo
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 
 Remove libraries from an installation directory.
 
@@ -2350,19 +2433,18 @@ RM is the name of the program to use to delete files associated with each FILE
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM.
-EOF
+Otherwise, only FILE itself is deleted using RM."
   ;;
 
 *)
-  $echo "$progname: invalid operation mode \`$mode'" 1>&2
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
   $echo "$help" 1>&2
   exit 1
   ;;
 esac
 
-$echo
-$echo "Try \`$progname --help' for more information about other modes."
+echo
+$echo "Try \`$modename --help' for more information about other modes."
 
 exit 0
 
index 805d65410991c16b6e9c053e2720a350281f8fbf..251f6275d5e9af5875d80122580896175deb3670 100644 (file)
@@ -2,6 +2,7 @@
 
 prefix=@prefix@
 exec_prefix=@exec_prefix@
+libdir=@libdir@
 
 usage="\
 Usage: gtk-config [--version] [--libs] [--cflags]"
@@ -16,7 +17,7 @@ case $1 in
     echo @GTK_VERSION@
     ;;
   --cflags)
-    echo -I@includedir@ @x_cflags@
+    echo -I$libdir/glib/include -I@includedir@ @x_cflags@
     ;;
   --libs)
     echo -L@libdir@ @x_ldflags@ -lgtk -lgdk -lglib @x_libs@ -lm
index 6140ca7c6cbaf4f0fe2a5700ede9af833ff7e8e9..7ebb9be8c04b345cb51762dd3da5357245c33df8 100755 (executable)
--- a/ltconfig
+++ b/ltconfig
@@ -1,8 +1,7 @@
 #! /bin/sh
 
 # ltconfig - Create a system-specific libtool.
-# Generated automatically from ltconfig.in by configure.
-# Copyright (C) 1996, 1997, Free Software Foundation, Inc.
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
 # This file is free software; you can redistribute it and/or modify it
 
 # A lot of this script is taken from autoconf-2.10.
 
+# 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
+
+echo=echo
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+else
+  # The Solaris and AIX default echo program unquotes backslashes.
+  # This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  # So, we emulate echo with printf '%s\n'
+  echo="printf %s\\n"
+  if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+  else
+    # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
+    echo=echo
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
+    for dir in $PATH /usr/ucb; do
+      if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
+        echo="$dir/echo"
+        break
+      fi
+    done
+    IFS="$save_ifs"
+  fi
+fi
+
+# 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'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
 # The name of this program.
-progname=`echo "$0" | sed 's%^.*/%%'`
+progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
 
 # Constants:
 PROGRAM=ltconfig
 PACKAGE=libtool
-VERSION=1.0f
+VERSION=1.1
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
 rm="rm -f"
 
 help="Try \`$progname --help' for more information."
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g'
-
-# Same as above, but don't quote variable references.
-double_quote_subst='s/\([\\"\\\\]\)/\\\1/g'
-
 # Global variables:
 can_build_shared=yes
 enable_shared=yes
@@ -99,7 +126,7 @@ Generate a system-specific libtool script.
     --help                 display this help and exit
     --no-verify            do not verify that HOST is a valid host type
     --quiet                same as \`--silent'
-    --silent               don't print informational messages
+    --silent               do not print informational messages
     --srcdir=DIR           find \`config.guess' in DIR
     --version              output version information and exit
     --with-gcc             assume that the GNU C compiler will be used
@@ -139,7 +166,7 @@ EOM
     if test -z "$ltmain"; then
       ltmain="$option"
     elif test -z "$host"; then
-# FIXME This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
 #      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
 #        echo "$progname: warning \`$option' is not a valid host type" 1>&2
 #      fi
@@ -160,7 +187,9 @@ fi
 
 if test -f "$ltmain"; then :
 else
-  echo "$progname: warning: \`$ltmain' does not exist" 1>&2
+  echo "$progname: \`$ltmain' does not exist" 1>&2
+  echo "$help" 1>&2
+  exit 1
 fi
 
 # Quote any args containing shell metacharacters.
@@ -212,7 +241,7 @@ fi
 
 if test -z "$srcdir"; then
   # Assume the source directory is the same one as the path to ltmain.sh.
-  srcdir=`echo "$ltmain" | sed 's%/[^/]*$%%'`
+  srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
   test "$srcdir" = "$ltmain" && srcdir=.
 fi
 
@@ -268,10 +297,10 @@ else
   host_alias=$host
 fi
 
-# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host" in
-*-*-linux-gnu*) ;;
-*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$host_os" in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
 esac
 
 host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
@@ -279,7 +308,7 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
 case "$host_os" in
-aix*)
+aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
@@ -293,6 +322,7 @@ esac
 # Determine commands to create old-style static archives.
 old_archive_cmds='$AR cru $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
 
 # Set a sane default for `AR'.
 test -z "$AR" && AR=ar
@@ -318,7 +348,7 @@ fi
 
 if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
-  old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib"
+  old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
 fi
 
 # Check to see if we are using GCC.
@@ -391,7 +421,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
   # Now see if the compiler is really GCC.
   with_gcc=no
   echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:394: checking whether we are using GNU C" >&5
+  echo "$progname:424: checking whether we are using GNU C" >&5
 
   $rm conftest.c
   cat > conftest.c <<EOF
@@ -399,7 +429,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
   yes;
 #endif
 EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     with_gcc=yes
   fi
   $rm conftest.c
@@ -412,14 +442,12 @@ compiler="$2"
 
 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
 pic_flag=
-profile_flag_pattern=
 special_shlib_compile_flags=
 wl=
 link_static_flag=
 no_builtin_flag=
 
 if test "$with_gcc" = yes; then
-  profile_flag_pattern='-pg?'
   wl='-Wl,'
   link_static_flag='-static'
   no_builtin_flag=' -fno-builtin'
@@ -431,6 +459,12 @@ if test "$with_gcc" = yes; then
   os2*)
     # We can build DLLs from non-PIC.
     ;;
+  amigaos*)
+    # FIXME: we need at least 68020 code to build shared libraries, but
+    # adding the `-m68020' flag to GCC prevents building anything better,
+    # like `-m68040'.
+    pic_flag='-m68020 -resident32 -malways-restore-a4'
+    ;;
   *)
     pic_flag='-fPIC'
     ;;
@@ -446,7 +480,7 @@ else
   hpux9* | hpux10*)
     # Is there a better link_static_flag that works with the bundled CC?
     wl='-Wl,'
-    link_static_flag='${wl}-a ${wl}archive'
+    link_static_flag="${wl}-a ${wl}archive"
     pic_flag='+Z'
     ;;
 
@@ -484,6 +518,12 @@ else
     wl='-Qoption ld '
     ;;
 
+  sysv4.2uw2*)
+    pic_flag='-KPIC'
+    link_static_flag='-Bstatic'
+    wl='-Wl,'
+    ;;
+
   uts4*)
     pic_flag='-pic'
     link_static_flag='-Bstatic'
@@ -504,12 +544,12 @@ if test -n "$pic_flag"; then
   echo > conftest.c
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:507: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+  echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
+  if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
     # Append any errors to the config.log.
     cat conftest.err 1>&5
 
-    # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
+    # On HP-UX, the stripped-down bundled CC does not accept +Z, but also
     # reports no error.  So, we need to grep stderr for (Bundled).
     if grep '(Bundled)' conftest.err >/dev/null; then
       echo "$ac_t"no 1>&6
@@ -547,8 +587,8 @@ $rm conftest*
 echo 'main(){return(0);}' > conftest.c
 save_LDFLAGS="$LDFLAGS"
 LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:550: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   echo "$ac_t$link_static_flag" 1>&6
 else
   echo "$ac_t"none 1>&6
@@ -580,15 +620,15 @@ if test -z "$LD"; then
   if test "$with_gcc" = yes; then
     # Check if gcc -print-prog-name=ld gives a path.
     echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:583: checking for ld used by GCC" >&5
+    echo "$progname:623: checking for ld used by GCC" >&5
     ac_prog=`($CC -print-prog-name=ld) 2>&5`
     case "$ac_prog" in
     # Accept absolute paths.
-    /*)
+    /* | [A-Za-z]:\\*)
       test -z "$LD" && LD="$ac_prog"
       ;;
     "")
-      # If it fails, then pretend we aren't using GCC.
+      # If it fails, then pretend we are not using GCC.
       ac_prog=ld
       ;;
     *)
@@ -598,10 +638,10 @@ if test -z "$LD"; then
     esac
   elif test "$with_gnu_ld" = yes; then
     echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:601: checking for GNU ld" >&5
+    echo "$progname:641: checking for GNU ld" >&5
   else
     echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:604: checking for non-GNU ld" >&5
+    echo "$progname:644: checking for non-GNU ld" >&5
   fi
 
   if test -z "$LD"; then
@@ -635,7 +675,7 @@ if test -z "$LD"; then
   fi
 fi
 
-# Check to see if it really is or isn't GNU ld.
+# Check to see if it really is or is not GNU ld.
 echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@@ -649,6 +689,7 @@ echo "$ac_t$with_gnu_ld" 1>&6
 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
 
 allow_undefined_flag=
+no_undefined_flag=
 archive_cmds=
 old_archive_from_new_cmds=
 export_dynamic_flag_spec=
@@ -656,43 +697,41 @@ hardcode_libdir_flag_spec=
 hardcode_libdir_separator=
 hardcode_direct=no
 hardcode_minus_L=no
-hardcode_runpath_var=no
 hardcode_shlibpath_var=unsupported
 runpath_var=
 
+case "$host_os" in
+amigaos* | sunos4*)
+  # On these operating systems, we should treat GNU ld like the system ld.
+  gnu_ld_acts_native=yes
+  ;;
+*)
+  gnu_ld_acts_native=no
+  ;;
+esac
+
 ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # See if GNU ld supports shared libraries.
+if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
 
-  case "$host_os" in
-  sunos4*)
+  # See if GNU ld supports shared libraries.
+  if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
+    runpath_var=LD_RUN_PATH
     ld_shlibs=yes
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ld_shlibs=yes
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
+  else
+    ld_shlibs=no
+  fi
 
   if test "$ld_shlibs" = yes; then
-    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs'
-    hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir'
-    export_dynamic_flag_spec='${wl}-export-dynamic'
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
   fi
 else
   # PORTME fill in a description of your system's linker (not GNU ld)
   case "$host_os" in
   aix3*)
     allow_undefined_flag=unsupported
-    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname'
+    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
     # Note: this linker hardcodes the directories in LIBPATH if there
     # are no directories specified by -L.
     hardcode_minus_L=yes
@@ -705,25 +744,32 @@ else
 
   aix4*)
     allow_undefined_flag=unsupported
-    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname'
+    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
     hardcode_direct=yes
     hardcode_minus_L=yes
     ;;
 
+  amigaos*)
+    archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    ;;
+
   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
   # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # doesn't break anything, and helps significantly (at the cost of a little
+  # does not break anything, and helps significantly (at the cost of a little
   # extra space).
   freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
+    hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
     ;;
 
-  # Unfortunately, older versions of FreeBSD 2 don't have this feature.
+  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
   freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
@@ -731,7 +777,7 @@ else
 
   # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
   freebsd3*)
-    archive_cmds='$CC -shared -o $lib$libobjs$deplibs'
+    archive_cmds='$CC -shared -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
@@ -739,21 +785,23 @@ else
     ;;
 
   hpux9*)
-    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib'
+    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
+    export_dynamic_flag_spec='${wl}-E'
     ;;
 
   hpux10*)
-    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
+    export_dynamic_flag_spec='${wl}-E'
     ;;
 
   irix5* | irix6*)
-    archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
+    archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     ;;
 
@@ -766,7 +814,7 @@ else
     ;;
 
   openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -Bshareable -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_shlibpath_var=no
@@ -776,7 +824,7 @@ else
     hardcode_libdir_flag_spec='-L$libdir'
     hardcode_minus_L=yes
     allow_undefined_flag=unsupported
-    archive_cmds='echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;echo DATA >> $objdir/$libname.def;echo " SINGLE NONSHARED" >> $objdir/$libname.def;echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
+    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
     old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
     ;;
 
@@ -788,34 +836,47 @@ else
     ;;
 
   sco3.2v5*)
-    archive_cmds='$LD -G -o $lib$libobjs$deplibs'
+    archive_cmds='$LD -G -o $lib$libobjs'
     hardcode_direct=yes
     ;;
 
   solaris2*)
-    case "$host_cpu" in
-    i386) archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' ;;
-    *) archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' ;;
-    esac
+    no_undefined_flag=' -z text'
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_shlibpath_var=no
+
+    # Solaris 2 before 2.5 hardcodes -L paths.
+    case "$host_os" in
+    solaris2.[0-4]*)
+      hardcode_minus_L=yes
+      ;;
+    esac
     ;;
 
   sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared -o $lib$libobjs'
+    else
+      archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+    fi
+
+    if test "$with_gnu_ld" = yes; then
+      export_dynamic_flag_spec='${wl}-export-dynamic'
+    fi
     hardcode_libdir_flag_spec='-L$libdir'
     hardcode_direct=yes
     hardcode_minus_L=yes
     hardcode_shlibpath_var=no
     ;;
 
-   uts4*)
-     archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
-     hardcode_libdir_flag_spec='-L$libdir'
-     hardcode_direct=no
-     hardcode_minus_L=no
-     hardcode_shlibpath_var=no
-     ;;
+  uts4*)
+    archive_cmds='$LD -G -h $soname -o $lib$libobjs'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_direct=no
+    hardcode_minus_L=no
+    hardcode_shlibpath_var=no
+    ;;
 
   *)
     ld_shlibs=no
@@ -828,16 +889,18 @@ echo "$ac_t$ld_shlibs" 1>&6
 if test -z "$NM"; then
   echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
   case "$NM" in
-  /*) ;; # Let the user override the test with a path.
+  /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
   *)
     IFS="${IFS=        }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-    for ac_dir in /usr/ucb $PATH /bin; do
-      test -z "$ac_dir" && dir=.
+    for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+      test -z "$ac_dir" && ac_dir=.
       if test -f $ac_dir/nm; then
         # Check to see if the nm accepts a BSD-compat flag.
-        if ($ac_dir/nm -B /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then
+        # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+        #   nm: unknown option "B" ignored
+        if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
           NM="$ac_dir/nm -B"
-        elif ($ac_dir/nm -p /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then
+        elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
           NM="$ac_dir/nm -p"
        else
           NM="$ac_dir/nm"
@@ -872,6 +935,10 @@ case "$host_os" in
 aix*)
   symcode='[BCDTU]'
   ;;
+irix*)
+  # Cannot use undefined symbols on IRIX because inlined functions mess us up.
+  symcode='[BCDEGRST]'
+  ;;
 solaris2*)
   symcode='[BDTU]'
   ;;
@@ -900,17 +967,17 @@ void nm_test_func(){}
 main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-echo "$progname:900: checking if global_symbol_pipe works" >&5
-if { (eval echo $progname:901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
+echo "$progname:970: checking if global_symbol_pipe works" >&5
+if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
   # Now try to grab the symbols.
   nlist=conftest.nm
-  if { echo "$progname:904: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+  if { echo "$progname:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
 
     # 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 "$wcout" | sed 's/^[         ]*\([0-9][0-9]*\).*$/\1/'`
+      count=`$echo "X$wcout" | $Xsed -e 's/^[  ]*\([0-9][0-9]*\).*$/\1/'`
       (test "$count" -ge 0) 2>/dev/null || count=-1
     else
       rm -f "$nlist"T
@@ -947,9 +1014,9 @@ struct {
 dld_preloaded_symbols[] =
 {
 EOF
-        sed 's/^\(.*\) \(.*\)$/  {"\1", \&\2},/' < "$nlist" >> conftest.c
+        sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
         cat <<\EOF >> conftest.c
-  {0},
+  {0, (__ptr_t) 0}
 };
 
 #ifdef __cplusplus
@@ -962,7 +1029,7 @@ EOF
        save_CFLAGS="$CFLAGS"
         LIBS='conftestm.o'
        CFLAGS="$CFLAGS$no_builtin_flag"
-        if { (eval echo $progname:962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+        if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
           pipe_works=yes
         else
           echo "$progname: failed program was:" >&5
@@ -984,7 +1051,7 @@ else
 fi
 $rm conftest*
 
-# Don't use the global_symbol_pipe unless it works.
+# Do not use the global_symbol_pipe unless it works.
 echo "$ac_t$pipe_works" 1>&6
 test "$pipe_works" = yes || global_symbol_pipe=
 
@@ -992,7 +1059,7 @@ test "$pipe_works" = yes || global_symbol_pipe=
 echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
-   test "$hardcode_runpath_var" = yes; then
+   test -n "$runpath_var"; then
 
   # We can hardcode non-existant directories.
   if test "$hardcode_direct" != no && \
@@ -1008,7 +1075,7 @@ if test -n "$hardcode_libdir_flag_spec" || \
 elif test "$hardcode_direct" != yes && \
      test "$hardcode_minus_L" != yes && \
      test "$hardcode_shlibpath_var" != yes; then
-  # We can't hardcode anything.
+  # We cannot hardcode anything.
   hardcode_action=unsupported
 else
   # We can only hardcode existing directories.
@@ -1031,7 +1098,9 @@ library_names_spec=
 libname_spec='lib$name'
 soname_spec=
 postinstall_cmds=
+postuninstall_cmds=
 finish_cmds=
+finish_eval=
 shlibpath_var=
 version_type=none
 dynamic_linker="$host_os ld.so"
@@ -1040,23 +1109,29 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
 case "$host_os" in
 aix3* | aix4*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.a'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='$libname.so.$major'
+  soname_spec='${libname}${release}.so.$major'
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 freebsd2* | freebsd3*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix $libname.so'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 gnu*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
+  library_names_spec='${libname}${release}.so.$versuffix'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1066,16 +1141,16 @@ hpux9* | hpux10*)
   dynamic_linker="$host_os dld.sl"
   version_type=sunos
   shlibpath_var=SHLIB_PATH
-  library_names_spec='$libname.sl.$versuffix $libname.sl.$major $libname.sl'
-  soname_spec='$libname.sl.$major'
+  library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
+  soname_spec='${libname}${release}.sl.$major'
   # HP-UX runs *really* slowly unless shared libraries are mode 555.
   postinstall_cmds='chmod 555 $lib'
   ;;
 
 irix5* | irix6*)
   version_type=osf
-  soname_spec='$libname.so'
-  library_names_spec='$libname.so.$versuffix $libname.so'
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1087,9 +1162,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
 # This must be Linux ELF.
 linux-gnu*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
 
   if test -f /lib/ld.so.1; then
@@ -1105,13 +1180,12 @@ linux-gnu*)
 
 netbsd* | openbsd*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix'
+  finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 os2*)
-  version_type=none
   libname_spec='$name'
   library_names_spec='$libname.dll $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -1120,36 +1194,43 @@ os2*)
 
 osf3* | osf4*)
   version_type=osf
-  soname_spec='$libname.so'
-  library_names_spec='$libname.so.$versuffix $libname.so'
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so.$versuffix $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sco3.2v5*)
   version_type=osf
-  soname_spec='$libname.so.$major'
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 solaris2*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 sunos4*)
   version_type=sunos
-  library_names_spec='$libname.so.$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  library_names_spec='${libname}${release}.so.$versuffix'
+  finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+sysv4.2uw2*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
 uts4*)
   version_type=linux
-  library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-  soname_spec='$libname.so.$major'
+  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+  soname_spec='${libname}${release}.so.$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -1160,12 +1241,6 @@ esac
 echo "$ac_t$dynamic_linker"
 test "$dynamic_linker" = no && can_build_shared=no
 
-# FIXME add checks for striplib and old_striplib here.
-# strip -x works for most platforms, though not for static libraries on NetBSD
-# HP-UX requires "-r" for library stripping
-striplib=
-old_striplib=
-
 # Report the final consequences.
 echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
 
@@ -1203,25 +1278,30 @@ fi
 rmdir .libs 2>/dev/null
 echo "$ac_t$objdir" 1>&6
 
+# Copy echo and quote the copy, instead of the original, because it is
+# used later.
+ltecho="$echo"
+
 # Now quote all the things that may contain metacharacters.
-for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
   old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
   link_static_flag no_builtin_flag export_dynamic_flag_spec \
-  profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \
+  libname_spec library_names_spec soname_spec RANLIB \
   old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-  archive_cmds postinstall_cmds \
-  allow_undefined_flag finish_cmds global_symbol_pipe \
-  striplib old_striplib \
+  old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
+  allow_undefined_flag no_undefined_flag \
+  finish_cmds finish_eval global_symbol_pipe \
   hardcode_libdir_flag_spec hardcode_libdir_separator; do
 
   case "$var" in
   reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-  old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds)
+  old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
+  postinstall_cmds | postuninstall_cmds | finish_cmds)
     # Double-quote double-evaled strings.
-    eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
+    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
     ;;
   *)
-    eval "$var=\`echo \"\$$var\" | sed \"\$sed_quote_subst\"\`"
+    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
     ;;
   esac
 done
@@ -1234,8 +1314,31 @@ cat <<EOF > $ofile
 #! /bin/sh
 
 # libtool - Provide generalized library-building support services.
-#
 # Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
+# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+#
+# 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
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
 # This program was configured as follows,
 # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 #
@@ -1246,6 +1349,16 @@ cat <<EOF > $ofile
 # Compiler and other test output produced by $progname, useful for
 # debugging $progname, is in ./config.log if it exists.
 
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="sed -e s/^X//"
+
+# 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
+
+# An echo program that does not interpret backslashes.
+echo="$ltecho"
+
 # The version of $progname that generated this script.
 LTCONFIG_VERSION="$VERSION"
 
@@ -1299,9 +1412,6 @@ no_builtin_flag="$no_builtin_flag"
 # Compiler flag to allow reflexive dlopens.
 export_dynamic_flag_spec="$export_dynamic_flag_spec"
 
-# Pattern to match compiler flags for creating libNAME_p libraries:
-profile_flag_pattern="$profile_flag_pattern"
-
 # Library versioning type.
 version_type=$version_type
 
@@ -1319,6 +1429,7 @@ soname_spec="$soname_spec"
 RANLIB="$RANLIB"
 old_archive_cmds="$old_archive_cmds"
 old_postinstall_cmds="$old_postinstall_cmds"
+old_postuninstall_cmds="$old_postuninstall_cmds"
 
 # Create an old-style archive from a shared archive.
 old_archive_from_new_cmds="$old_archive_from_new_cmds"
@@ -1326,20 +1437,23 @@ old_archive_from_new_cmds="$old_archive_from_new_cmds"
 # Commands used to build and install a shared archive.
 archive_cmds="$archive_cmds"
 postinstall_cmds="$postinstall_cmds"
+postuninstall_cmds="$postuninstall_cmds"
 
 # Flag that allows shared libraries with undefined symbols to be built.
 allow_undefined_flag="$allow_undefined_flag"
 
+# Flag that forces no undefined symbols.
+no_undefined_flag="$no_undefined_flag"
+
 # Commands used to finish a libtool library installation in a directory.
 finish_cmds="$finish_cmds"
 
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval="$finish_eval"
+
 # Take the output of nm and produce a listing of raw symbols and C names.
 global_symbol_pipe="$global_symbol_pipe"
 
-# How to strip a library file.
-striplib="$striplib"
-old_striplib="$old_striplib"
-
 # This is the shared library runtime path variable.
 runpath_var=$runpath_var
 
@@ -1364,10 +1478,6 @@ hardcode_direct=$hardcode_direct
 # resulting binary.
 hardcode_minus_L=$hardcode_minus_L
 
-# Set to yes if using RUNPATH_VAR=DIR during linking hardcodes DIR into the
-# resulting binary.
-hardcode_runpath_var=$hardcode_runpath_var
-
 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
 # the resulting binary.
 hardcode_shlibpath_var=$hardcode_shlibpath_var
@@ -1375,7 +1485,7 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var
 EOF
 
 case "$host_os" in
-aix*)
+aix3*)
   cat <<\EOF >> $ofile
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
@@ -1389,25 +1499,8 @@ EOF
   ;;
 esac
 
-# Detect if we are using a relative or absolute path to ltmain.sh.
-case "$ltmain" in
-/*) cat <<EOF >> $ofile
-# Execute the libtool backend.
-. $ltmain
-EOF
-  ;;
-*) cat <<EOF >> $ofile
-# Find the path to this script.
-thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\`
-test "X\$0" = "X\$thisdir" && thisdir=.
-
-# Execute the libtool backend.
-. \$thisdir/$ltmain
-EOF
-  ;;
-esac
-
-echo 'exit 1' >> $ofile
+# Append the ltmain.sh script.
+cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
 
 chmod +x $ofile
 exit 0
index cb46c849873c5bb5ba1563d1d8bc3466e6b85028..2cf2fb308d708a0964a87f17f86d1317bfb0c0c8 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,6 +1,7 @@
 # ltmain.sh - Provide generalized library-building support services.
-# Generated automatically from ltmain.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
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-#FIXME: echo=echo
-echo='printf %s\n'
-if test "X`$echo '\t'`" = 'X\t'; then :
-else
-  # The Solaris and AIX default echo program unquotes backslashes.
-  # This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  # So, we emulate echo with printf '%s\n'
-  echo='printf %s\n'
-  if test "X`$echo '\t'`" = 'X\t'; then :
-  else
-    # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
-    echo=echo
-    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
-    save_PATH="$PATH"
-    PATH="$PATH":/usr/ucb
-    for dir in $PATH; do
-      if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
-        echo="$dir/echo"
-        break
-      fi
-    done
-    IFS="$save_ifs"
-    PATH="$save_PATH"
-  fi
-fi
-
 # The name of this program.
 progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.0f
+VERSION=1.1
 
 default_mode=
 help="Try \`$progname --help' for more information."
@@ -66,7 +41,8 @@ rm="rm -f"
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g'
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 
 # NLS nuisances.
 # Only set LANG and LC_ALL to C if already set.
@@ -76,14 +52,14 @@ if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
 
 if test "$LTCONFIG_VERSION" != "$VERSION"; then
-  $echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   exit 1
 fi
 
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$progname: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 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
 
@@ -104,7 +80,7 @@ do
   shift
 
   case "$arg" in
-  -*=*) optarg=`$echo "$arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
   *) optarg= ;;
   esac
 
@@ -131,7 +107,7 @@ do
     ;;
 
   --version)
-    $echo "$PROGRAM (GNU $PACKAGE) $VERSION"
+    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
     exit 0
     ;;
 
@@ -140,16 +116,16 @@ do
     ;;
 
   --features)
-    $echo "host: $host"
+    echo "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
+      echo "enable shared libraries"
     else
-      $echo "disable shared libraries"
+      echo "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
+      echo "enable static libraries"
     else
-      $echo "disable static libraries"
+      echo "disable static libraries"
     fi
     exit 0
     ;;
@@ -169,7 +145,7 @@ do
     ;;
 
   -*)
-    $echo "$progname: unrecognized option \`$arg'" 1>&2
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
     $echo "$help" 1>&2
     exit 1
     ;;
@@ -182,7 +158,7 @@ do
 done
 
 if test -n "$prevopt"; then
-  $echo "$progname: option \`$prevopt' requires an argument" 1>&2
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
   $echo "$help" 1>&2
   exit 1
 fi
@@ -192,7 +168,7 @@ 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
@@ -207,7 +183,7 @@ if test -z "$show_help"; then
     *db | *dbx)
       mode=execute
       ;;
-    *install*|cp)
+    *install*|cp|mv)
       mode=install
       ;;
     *rm)
@@ -220,9 +196,9 @@ if test -z "$show_help"; 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
+          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
         else
-          $echo "$progname: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
         fi
       fi
       ;;
@@ -231,20 +207,20 @@ if test -z "$show_help"; then
 
   # Only execute mode is allowed to have -dlopen flags.
   if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$progname: unrecognized option \`-dlopen'" 1>&2
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
     $echo "$help" 1>&2
     exit 1
   fi
 
   # Change the help message to a mode-specific one.
   generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
+  help="Try \`$modename --help --mode=$mode' for more information."
 
   # These modes are in order of execution frequency so that they run quickly.
   case "$mode" in
   # libtool compile mode
   compile)
-    progname="$progname: compile"
+    modename="$modename: compile"
     # Get the compilation command and the source file.
     base_compile=
     lastarg=
@@ -253,12 +229,20 @@ if test -z "$show_help"; then
 
     for arg
     do
-      # The only flag that cannot be specified is the output filename.
-      if test "X$arg" = "X-o"; then
-       $echo "$progname: you cannot specify the output filename with \`-o'" 1>&2
+      # Accept any command-line options.
+      case "$arg" in
+      -o)
+       $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
        $echo "$help" 1>&2
        exit 1
-      fi
+       ;;
+
+      -static)
+       build_libtool_libs=no
+       build_old_libs=yes
+       continue
+       ;;
+      esac
 
       # Accept the current argument as the source file.
       lastarg="$srcfile"
@@ -269,7 +253,7 @@ if test -z "$show_help"; then
       # 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 "$lastarg" | sed "$sed_quote_subst"`
+      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
@@ -289,11 +273,15 @@ if test -z "$show_help"; then
     done
 
     # Get the name of the library object.
-    libobj=`$echo "$srcfile" | sed -e 's%^.*/%%'`
+    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
 
     # Recognize several different file suffixes.
-    xform='[cCFSfm]'
+    xform='[cCFSfms]'
     case "$libobj" in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
     *.c++) xform=c++ ;;
     *.cc) xform=cc ;;
     *.cpp) xform=cpp ;;
@@ -302,18 +290,18 @@ if test -z "$show_help"; then
     *.for) xform=for ;;
     esac
 
-    libobj=`$echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
     case "$libobj" in
-    *.lo) obj=`$echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
     *)
-      $echo "$progname: cannot determine name of library object from \`$srcfile'" 1>&2
+      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
       exit 1
       ;;
     esac
 
     if test -z "$base_compile"; then
-      $echo "$progname: you must specify a compilation command" 1>&2
+      $echo "$modename: you must specify a compilation command" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
@@ -366,11 +354,11 @@ if test -z "$show_help"; then
       fi
     fi
 
-    # Create an invalid libtool object if no PIC, so that we don't accidentally
-    # link it into a program.
+    # Create an invalid libtool object if no PIC, so that we do not
+    # accidentally link it into a program.
     if test "$build_libtool_libs" != yes; then
-      $show "$echo timestamp > $libobj"
-      $run eval "\$echo timestamp > \$libobj" || exit $?
+      $show "echo timestamp > $libobj"
+      $run eval "echo timestamp > \$libobj" || exit $?
     fi
 
     exit 0
@@ -378,9 +366,9 @@ if test -z "$show_help"; then
 
   # libtool link mode
   link)
-    progname="$progname: link"
+    modename="$modename: link"
     CC="$nonopt"
-    allow_undefined=no
+    allow_undefined=yes
     compile_command="$CC"
     finalize_command="$CC"
 
@@ -397,6 +385,7 @@ if test -z "$show_help"; then
     objs=
     prev=
     prevarg=
+    release=
     rpath=
     perm_rpath=
     temp_rpath=
@@ -408,7 +397,7 @@ if test -z "$show_help"; then
       case "$arg" in
       -all-static | -static)
         if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-           $echo "$progname: warning: complete static linking is impossible in this configuration" 1>&2
+           $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
         fi
         build_libtool_libs=no
        build_old_libs=yes
@@ -443,6 +432,11 @@ if test -z "$show_help"; then
             ;;
           esac
           ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
         rpath)
           rpath="$rpath $arg"
          prev=
@@ -468,7 +462,8 @@ if test -z "$show_help"; then
        ;;
 
       -allow-undefined)
-       allow_undefined=yes
+       # FIXME: remove this flag sometime in the future.
+       $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
        continue
        ;;
 
@@ -498,13 +493,13 @@ if test -z "$show_help"; then
         ;;
 
       -L*)
-        dir=`$echo "$arg" | sed 's%^-L\(.*\)$%\1%'`
+        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 "$progname: \`-L$dir' cannot specify a relative directory" 1>&2
+          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
           exit 1
           ;;
         esac
@@ -513,8 +508,18 @@ if test -z "$show_help"; then
 
       -l*) deplibs="$deplibs $arg" ;;
 
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
       -o) prev=output ;;
 
+      -release)
+       prev=release
+       continue
+       ;;
+
       -rpath)
         prev=rpath
         continue
@@ -538,7 +543,7 @@ if test -z "$show_help"; then
       -* | +*)
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "$arg" | sed "$sed_quote_subst"`
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case "$arg" in
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
          arg="\"$arg\""
@@ -566,7 +571,7 @@ if test -z "$show_help"; then
 
        if test "$prev" = dlprefiles; then
          # Preload the old-style object.
-         dlprefiles="$dlprefiles "`$echo "$arg" | sed 's/\.lo$/\.o/'`
+         dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
          prev=
        fi
        libobjs="$libobjs $arg"
@@ -581,20 +586,20 @@ if test -z "$show_help"; then
         old_library=
 
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $arg >/dev/null 2>&1; then :
+        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
+          $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 ;;
         *) . ./$arg ;;
         esac
 
         if test -z "$libdir"; then
-          $echo "$progname: \`$arg' contains no -rpath information" 1>&2
+          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
           exit 1
         fi
 
@@ -605,13 +610,13 @@ if test -z "$show_help"; then
         done
 
         if test -z "$linklib"; then
-          $echo "$progname: cannot find name of link library for \`$arg'" 1>&2
+          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
           exit 1
         fi
 
         # Find the relevant object directory and library name.
-        name=`$echo "$arg" | sed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
-        dir=`$echo "$arg" | sed 's%/[^/]*$%%'`
+        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
@@ -625,7 +630,10 @@ if test -z "$show_help"; then
             # If there is no dlname, we need to preload.
             prev=dlprefiles
           else
-            # We should not create a dependency on this library.
+            # 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
@@ -679,7 +687,7 @@ if test -z "$show_help"; then
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
             fi
-          elif test "$hardcode_runpath_var" = yes; then
+          elif test -n "$runpath_var"; then
             # Do the same for the permanent run path.
             case "$perm_rpath " in
             *" $libdir "*) ;;
@@ -703,11 +711,11 @@ if test -z "$show_help"; then
           relink)
             # We need an absolute path.
             case "$dir" in
-            /*) ;;
+            /* | [A-Za-z]:\\*) ;;
             *)
               absdir=`cd "$dir" && pwd`
               if test -z "$absdir"; then
-                $echo "$progname: cannot determine absolute directory name of \`$dir'" 1>&2
+                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
                 exit 1
               fi
               dir="$absdir"
@@ -725,7 +733,7 @@ if test -z "$show_help"; then
             ;;
 
           *)
-            $echo "$progname: \`$hardcode_action' is an unknown hardcode action" 1>&2
+            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
             exit 1
             ;;
           esac
@@ -739,13 +747,13 @@ if test -z "$show_help"; then
             finalize_shlibpath="$finalize_shlibpath$libdir:"
             finalize_command="$finalize_command -l$name"
           else
-            # We can't seem to hardcode it, guess we'll fake it.
+            # We cannot seem to hardcode it, guess we'll fake it.
             finalize_command="$finalize_command -L$libdir -l$name"
           fi
         else
           # Transform directly to old archives if we don't build new libraries.
           if test -n "$pic_flag" && test -z "$old_library"; then
-            $echo "$progname: cannot find static library for \`$arg'" 1>&2
+            $echo "$modename: cannot find static library for \`$arg'" 1>&2
             exit 1
           fi
 
@@ -761,6 +769,10 @@ if test -z "$show_help"; then
            finalize_command="$finalize_command -L$dir -l$name"
          fi
         fi
+
+       # Add in any libraries that this one depends upon.
+       compile_command="$compile_command$dependency_libs"
+       finalize_command="$finalize_command$dependency_libs"
        continue
         ;;
 
@@ -768,7 +780,7 @@ if test -z "$show_help"; then
       *)
        # Unknown arguments in both finalize_command and compile_command need
        # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "$arg" | sed "$sed_quote_subst"`
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
        case "$arg" in
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
          arg="\"$arg\""
@@ -778,12 +790,20 @@ if test -z "$show_help"; then
       esac
 
       # Now actually substitute the argument into the commands.
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
+      if test -n "$arg"; then
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
+      fi
     done
 
     if test -n "$prev"; then
-      $echo "$progname: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -n "$vinfo" && test -n "$release"; then
+      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
@@ -792,28 +812,37 @@ if test -z "$show_help"; then
     oldobjs=
     case "$output" in
     "")
-      $echo "$progname: you must specify an output file" 1>&2
+      $echo "$modename: you must specify an output file" 1>&2
       $echo "$help" 1>&2
       exit 1
       ;;
 
-    */*)
-      $echo "$progname: output file \`$output' must have no directory components" 1>&2
+    */* | *\\*)
+      $echo "$modename: output file \`$output' must have no directory components" 1>&2
       exit 1
       ;;
 
+    *.a)
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      build_old_libs=yes
+      oldlib="$output"
+      $show "$rm $oldlib"
+      $run $rm $oldlib
+      ;;
+
     *.la)
       # Make sure we only generate libraries of the form `libNAME.la'.
       case "$output" in
       lib*) ;;
       *)
-       $echo "$progname: libtool library \`$arg' must begin with \`lib'" 1>&2
+       $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
        $echo "$help" 1>&2
        exit 1
        ;;
       esac
 
-      name=`$echo "$output" | sed -e 's/\.la$//' -e 's/^lib//'`
+      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
       libname=`eval \\$echo \"$libname_spec\"`
 
       # All the library-specific variables (install_libdir is set above).
@@ -825,35 +854,32 @@ if test -z "$show_help"; then
       age=0
 
       if test -n "$objs"; then
-        $echo "$progname: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
         exit 1
       fi
 
       # How the heck are we supposed to write a wrapper for a shared library?
       if test -n "$link_against_libtool_libs"; then
-        $echo "$progname: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
+        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
         exit 1
       fi
 
-      # Add libc to deplibs on all systems.
-      deplibs="$deplibs -lc"
-
       if test -n "$dlfiles$dlprefiles"; then
-        $echo "$progname: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
+        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
       fi
 
       if test -z "$rpath"; then
-        $echo "$progname: you must specify an installation directory with \`-rpath'" 1>&2
+        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
        $echo "$help" 1>&2
         exit 1
       fi
 
       set dummy $rpath
       if test $# -gt 2; then
-       $echo "$progname: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+       $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
       fi
       install_libdir="$2"
 
@@ -863,7 +889,7 @@ if test -z "$show_help"; then
       IFS="$save_ifs"
 
       if test -n "$5"; then
-        $echo "$progname: too many parameters to \`-version-info'" 1>&2
+        $echo "$modename: too many parameters to \`-version-info'" 1>&2
         $echo "$help" 1>&2
         exit 1
       fi
@@ -876,8 +902,8 @@ if test -z "$show_help"; then
       case "$current" in
       0 | [1-9] | [1-9][0-9]*) ;;
       *)
-        $echo "$progname: CURRENT \`$current' is not a nonnegative integer" 1>&2
-        $echo "$progname: \`$vinfo' is not valid version information" 1>&2
+        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
         exit 1
         ;;
       esac
@@ -885,8 +911,8 @@ if test -z "$show_help"; then
       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
+        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
         exit 1
         ;;
       esac
@@ -894,15 +920,15 @@ if test -z "$show_help"; then
       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
+        $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 "$progname: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-        $echo "$progname: \`$vinfo' is not valid version information" 1>&2
+        $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
 
@@ -942,16 +968,16 @@ if test -z "$show_help"; then
         ;;
 
       *)
-        $echo "$progname: unknown library version type \`$version_type'" 1>&2
-        $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+        $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
 
       # Create the output directory, or remove our outputs if we need to.
       if test -d $objdir; then
-        $show "$rm $objdir/$output $objdir/$libname.*"
-        $run $rm $objdir/$output $objdir/$libname.*
+        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
       else
         $show "$mkdir $objdir"
         $run $mkdir $objdir
@@ -965,15 +991,19 @@ if test -z "$show_help"; then
       # 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
+          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
           build_libtool_libs=no
          build_old_libs=yes
         fi
       else
-        # Clear the flag.
-        allow_undefined_flag=
+        # Don't allow undefined symbols.
+        allow_undefined_flag="$no_undefined_flag"
       fi
 
+      # Add libc to deplibs on all systems.
+      dependency_libs="$deplibs"
+      deplibs="$deplibs -lc"
+
       if test "$build_libtool_libs" = yes; then
         # Get the real and link names of the library.
         library_names=`eval \\$echo \"$library_names_spec\"`
@@ -994,7 +1024,7 @@ if test -z "$show_help"; then
        done
 
         # Use standard objects if they are PIC.
-        test -z "$pic_flag" && libobjs=`$echo "$libobjs " | sed -e 's/\.lo /.o /g' -e 's/ $//g'`
+        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
 
         # Do each of the archive commands.
         cmds=`eval \\$echo \"$archive_cmds\"`
@@ -1007,9 +1037,9 @@ if test -z "$show_help"; then
         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
+          $show "(cd $objdir && $LN_S $realname $linkname)"
+          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
         done
 
         # If -export-dynamic was specified, set the dlname.
@@ -1018,41 +1048,48 @@ if test -z "$show_help"; then
           dlname="$soname"
         fi
       fi
+
+      # Now set the variables for building old libraries.
+      oldlib="$objdir/$libname.a"
       ;;
 
     *.lo | *.o)
       if test -n "$link_against_libtool_libs"; then
-        $echo "$progname: error: cannot link libtool libraries into reloadable objects" 1>&2
+        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
         exit 1
       fi
 
       if test -n "$deplibs"; then
-        $echo "$progname: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
       fi
 
       if test -n "$dlfiles$dlprefiles"; then
-        $echo "$progname: warning: \`-dlopen' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
       fi
 
       if test -n "$rpath"; then
-        $echo "$progname: warning: \`-rpath' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
       fi
 
       if test -n "$vinfo"; then
-        $echo "$progname: warning: \`-version-info' is ignored while creating objects" 1>&2
+        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
       case "$output" in
       *.lo)
         if test -n "$objs"; then
-          $echo "$progname: cannot build library object \`$output' from non-libtool objects" 1>&2
+          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
           exit 1
         fi
         libobj="$output"
-        obj=`$echo "$output" | sed 's/\.lo$/.o/'`
+        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
         ;;
       *)
         libobj=
@@ -1064,7 +1101,7 @@ if test -z "$show_help"; then
       $run $rm $obj $libobj
 
       # Create the old-style object.
-      reload_objs="$objs"`$echo "$libobjs " | sed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
+      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       output="$obj"
       cmds=`eval \\$echo \"$reload_cmds\"`
@@ -1082,8 +1119,8 @@ if test -z "$show_help"; then
       if test "$build_libtool_libs" != yes; then
         # Create an invalid libtool object if no PIC, so that we don't
         # accidentally link it into a program.
-        $show "$echo timestamp > $libobj"
-        $run eval "\$echo timestamp > $libobj" || exit $?
+        $show "echo timestamp > $libobj"
+        $run eval "echo timestamp > $libobj" || exit $?
         exit 0
       fi
 
@@ -1110,7 +1147,11 @@ if test -z "$show_help"; then
 
     *)
       if test -n "$vinfo"; then
-        $echo "$progname: warning: \`-version-info' is ignored while linking programs" 1>&2
+        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
       fi
 
       if test -n "$rpath"; then
@@ -1141,7 +1182,7 @@ if test -z "$show_help"; then
               compile_command="$compile_command $flag"
               finalize_command="$finalize_command $flag"
             fi
-          elif test "$hardcode_runpath_var" = yes; then
+          elif test -n "$runpath_var"; then
             case "$perm_rpath " in
             *" $libdir "*) ;;
             *) perm_rpath="$perm_rpath $libdir" ;;
@@ -1152,14 +1193,14 @@ if test -z "$show_help"; then
 
       # Substitute the hardcoded libdirs into the compile commands.
       if test -n "$hardcode_libdir_separator"; 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"`
+       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
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
         # Transform all the library objects into standard objects.
-        compile_command=`$echo "$compile_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
-        finalize_command=`$echo "$finalize_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
+        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
       fi
 
       if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
@@ -1170,7 +1211,7 @@ if test -z "$show_help"; then
 
       if test -n "$dlsyms"; then
         # Add our own program objects to the preloaded list.
-        dlprefiles=`$echo "$objs$dlprefiles " | sed -e 's/\.lo /.o /g' -e 's/ $//'`
+        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
 
        # Discover the nlist of each of the dlfiles.
         nlist="$objdir/${output}.nm"
@@ -1203,7 +1244,7 @@ if test -z "$show_help"; then
          if sort "$nlist" | uniq > "$nlist"T; then
            mv -f "$nlist"T "$nlist"
            wcout=`wc "$nlist" 2>/dev/null`
-           count=`$echo "$wcout" | sed 's/^[   ]*\([0-9][0-9]*\).*$/\1/'`
+           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
@@ -1213,29 +1254,29 @@ if test -z "$show_help"; then
          case "$dlsyms" in
          "") ;;
          *.c)
-           cat <<EOF > "$objdir/$dlsyms"
-/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
+           $echo > "$objdir/$dlsyms" \
+"/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
 
 #ifdef __cplusplus
-extern "C" {
+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. */
-EOF
+/* 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"
+             echo '/* NONE */' >> "$objdir/$dlsyms"
 EOF
            fi
 
-           cat <<EOF >> "$objdir/$dlsyms"
-
+           $echo >> "$objdir/$dlsyms" \
+"
 #undef dld_preloaded_symbol_count
 #undef dld_preloaded_symbols
 
@@ -1254,25 +1295,23 @@ struct {
   __ptr_t address;
 }
 dld_preloaded_symbols[] =
-{
-EOF
+{"
 
            if test -f "$nlist"; then
-             sed 's/^\(.*\) \(.*\)$/  {"\1", \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
+             sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
            fi
 
-           cat <<\EOF >> "$objdir/$dlsyms"
-  {0},
+           $echo >> "$objdir/$dlsyms" \
+"  {0, (__ptr_t) 0}
 };
 
 #ifdef __cplusplus
 }
-#endif
-EOF
+#endif"
            ;;
 
          *)
-           echo "$progname: unknown suffix for \`$dlsyms'" 1>&2
+           $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
            exit 1
            ;;
          esac
@@ -1283,25 +1322,25 @@ EOF
         $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
 
         # Transform the symbol file into the correct name.
-        compile_command=`$echo "$compile_command" | sed "s%@SYMFILE@%$objdir/${output}S.o%"`
-        finalize_command=`$echo "$finalize_command" | sed "s%@SYMFILE@%$objdir/${output}S.o%"`
+        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
       elif test "$export_dynamic" != yes; then
-        test -n "$dlfiles$dlprefiles" && $echo "$progname: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
+        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 "$progname: not configured to extract global symbols from dlpreopened files" 1>&2
+        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
 
         # Nullify the symbol file.
-        compile_command=`$echo "$compile_command" | sed "s% @SYMFILE@%%"`
-        finalize_command=`$echo "$finalize_command" | sed "s% @SYMFILE@%%"`
+        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 "$compile_command" | sed 's%@OUTPUT@%'"$output"'%g'`
-        finalize_command=`$echo "$finalize_command" | sed 's%@OUTPUT@%'"$output"'%g'`
+        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"
@@ -1310,14 +1349,19 @@ EOF
       fi
 
       # Replace the output file specification.
-      compile_command=`$echo "$compile_command" | sed 's%@OUTPUT@%'"$objdir/$output"'%g'`
-      finalize_command=`$echo "$finalize_command" | sed 's%@OUTPUT@%'"$objdir/$output"'T%g'`
+      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
 
       # Create the binary in the object directory, then wrap it.
       if test -d $objdir; then :
       else
         $show "$mkdir $objdir"
-        $run $mkdir $objdir || exit $?
+       $run $mkdir $objdir
+       status=$?
+       if test $status -eq 0 || test -d $objdir; then :
+       else
+         exit $status
+       fi
       fi
 
       if test -n "$shlibpath_var"; then
@@ -1325,7 +1369,7 @@ EOF
         rpath=
         for dir in $temp_rpath; do
           case "$dir" in
-          /*)
+          /* | [A-Za-z]:\\*)
             # Absolute path.
             rpath="$rpath$dir:"
             ;;
@@ -1348,7 +1392,7 @@ EOF
         finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
       fi
 
-      if test -n "$perm_rpath"; then
+      if test -n "$runpath_var" && test -n "$perm_rpath"; then
         # We should set the runpath_var.
         rpath=
         for dir in $perm_rpath; do
@@ -1361,8 +1405,8 @@ EOF
       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
+        $echo "$modename: warning: using a buggy system linker" 1>&2
+        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
         ;;
       esac
 
@@ -1373,15 +1417,18 @@ EOF
       $show "creating $output"
 
       # Quote the finalize command for shipping.
-      finalize_command=`$echo "$finalize_command" | sed "$sed_quote_subst"`
+      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+
+      # Quote $echo for shipping.
+      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 
       # Only actually do things if our run command is non-null.
       if test -z "$run"; then
         $rm $output
         trap "$rm $output; exit 1" 1 2 15
 
-        cat > $output <<EOF
-#! /bin/sh
+        $echo > $output \
+"#! /bin/sh
 
 # $output - temporary wrapper script for $objdir/$output
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
@@ -1392,116 +1439,109 @@ EOF
 # This wrapper script should never be moved out of \``pwd`'.
 # If it is, it will not operate correctly.
 
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+
 # This environment variable determines our operation mode.
-if test "\$libtool_install_magic" = "$magic"; then
+if test \"\$libtool_install_magic\" = \"$magic\"; then
   # install mode needs the following variables:
   link_against_libtool_libs='$link_against_libtool_libs'
-  finalize_command="$finalize_command"
+  finalize_command=\"$finalize_command\"
 else
   # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test "\$libtool_execute_magic" = "$magic"; then :
+  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
   else
-    echo='$echo'
-    file="\$0"
+    echo=\"$qecho\"
+    file=\"\$0\"
   fi
 
   # Find the directory that this script lives in.
-  thisdir=\`\$echo "\$file" | sed 's%/[^/]*$%%'\`
-  test "x\$thisdir" = "x\$file" && thisdir=.
+  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 "\$file" | sed 's%/[^/]*\$%%'\`
+  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
-      /*) thisdir="\$destdir" ;;
-      *) thisdir="\$thisdir/\$destdir" ;;
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
       esac
     fi
 
-    file=\`\$echo "\$file" | sed 's%^.*/%%'\`
-    file=\`ls -ld "\$thisdir/\$file" | sed -n 's/.*-> //p'\`
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
   done
 
   # Try to get the absolute directory name.
-  absdir=\`cd "\$thisdir" && pwd\`
-  test -n "\$absdir" && thisdir="\$absdir"
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 
-  progdir="\$thisdir/$objdir"
+  progdir=\"\$thisdir/$objdir\"
   program='$output'
 
-  if test -f "\$progdir/\$program"; then
-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
-          cat >> $output <<EOF
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var="$temp_rpath\$$shlibpath_var"
+          $echo >> $output \
+"    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
-    $shlibpath_var=\`\$echo \$$shlibpath_var | sed -e 's/:*\$//'\`
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
 
     export $shlibpath_var
-
-EOF
+"
         fi
 
-        cat >> $output <<EOF
-    if test "\$libtool_execute_magic" != "$magic"; then
+        echo >> $output \
+"    if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
       args=
       for arg
       do
         # Quote arguments (to preserve shell metacharacters).
-       sed_quote_subst='$sed_quote_subst'
-       arg=\`\$echo "\$arg" | sed "\$sed_quote_subst"\`
-        args="\$args \\"\$arg\\""
+       arg=\`\$echo \"X\$arg\" | \$Xsed -e \"\$sed_quote_subst\"\`
+        args=\"\$args \\\"\$arg\\\"\"
       done
 
       # Export the path to the program.
-      PATH="\$progdir:\$PATH"
+      PATH=\"\$progdir:\$PATH\"
       export PATH
 
-      eval "exec \$program \$args"
+      eval \"exec \$program \$args\"
 
-      \$echo "\$0: cannot exec \$program \$args"
+      \$echo \"\$0: cannot exec \$program \$args\"
       exit 1
     fi
   else
     # The program doesn't exist.
-    \$echo "\$0: error: \$progdir/\$program does not exist" 1>&2
-    \$echo "This script is just a wrapper for \$program." 1>&2
-    \$echo "See the $PACKAGE documentation for more information." 1>&2
+    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    echo \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
-fi
-EOF
+fi"
         chmod +x $output
       fi
       exit 0
       ;;
     esac
 
-
     # See if we need to build an old-fashioned archive.
     if test "$build_old_libs" = "yes"; then
-      # Now set the variables for building old libraries.
-      oldlib="$objdir/$libname.a"
-
       # Transform .lo files to .o files.
-      oldobjs="$objs"`$echo "$libobjs " | sed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
-
-      if test -d "$objdir"; then
-        $show "$rm $oldlib"
-        $run $rm $oldlib
-      else
-        $show "$mkdir $objdir"
-        $run $mkdir $objdir
-      fi
+      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
@@ -1528,8 +1568,8 @@ EOF
 
       # Only create the output if not a dry run.
       if test -z "$run"; then
-        cat > $output <<EOF
-# $output - a libtool library file
+        echo > $output \
+"# $output - a libtool library file
 # Generated by ltmain.sh - GNU $PACKAGE $VERSION
 
 # The name that we can dlopen(3).
@@ -1541,14 +1581,16 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
 # Version information for $libname.
 current=$current
 age=$age
 revision=$revision
 
 # Directory that this library needs to be installed in:
-libdir='$install_libdir'
-EOF
+libdir='$install_libdir'"
       fi
 
       # Do a symbolic link so that the libtool archive can be found in
@@ -1562,13 +1604,13 @@ EOF
 
   # libtool install mode
   install)
-    progname="$progname: install"
+    modename="$modename: install"
 
     # There may be an optional /bin/sh argument at the beginning of
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL"; then
       # Aesthetically quote it.
-      arg=`$echo "$nonopt" | sed "$sed_quote_subst"`
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
        arg="\"$arg\""
@@ -1584,7 +1626,7 @@ EOF
 
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
-    arg=`$echo "$arg" | sed "$sed_quote_subst"`
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
     case "$arg" in
     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*)
       arg="\"$arg\""
@@ -1632,7 +1674,7 @@ EOF
       esac
 
       # Aesthetically quote the argument.
-      arg=`$echo "$arg" | sed "$sed_quote_subst"`
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
       case "$arg" in
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
        arg="\"$arg\""
@@ -1642,29 +1684,29 @@ EOF
     done
 
     if test -z "$install_prog"; then
-      $echo "$progname: you must specify an install program" 1>&2
+      $echo "$modename: you must specify an install program" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     if test -n "$prev"; then
-      $echo "$progname: the \`$prev' option requires an argument" 1>&2
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     if test -z "$files"; then
       if test -z "$dest"; then
-        $echo "$progname: no file or destination specified" 1>&2
+        $echo "$modename: no file or destination specified" 1>&2
       else
-        $echo "$progname: you must specify a destination" 1>&2
+        $echo "$modename: you must specify a destination" 1>&2
       fi
       $echo "$help" 1>&2
       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
@@ -1672,26 +1714,26 @@ EOF
       destdir="$dest"
       destname=
     else
-      destdir=`$echo "$dest" | sed 's%/[^/]*$%%'`
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
       test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "$dest" | sed 's%^.*/%%'`
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files
       if test $# -gt 2; then
-        $echo "$progname: \`$dest' is not a directory" 1>&2
+        $echo "$modename: \`$dest' is not a directory" 1>&2
         $echo "$help" 1>&2
         exit 1
       fi
     fi
     case "$destdir" in
-    /*) ;;
+    /* | [A-Za-z]:\\*) ;;
     *)
       for file in $files; do
         case "$file" in
         *.lo) ;;
         *)
-          $echo "$progname: \`$destdir' must be an absolute directory name" 1>&2
+          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
           $echo "$help" 1>&2
           exit 1
           ;;
@@ -1718,9 +1760,9 @@ EOF
 
       *.la)
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then :
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$file' is not a valid libtool archive" 1>&2
+          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2
           exit 1
         fi
@@ -1729,7 +1771,7 @@ EOF
         old_library=
         # If there is no directory component, then add one.
         case "$file" in
-        */*) . $file ;;
+        */* | *\\*) . $file ;;
         *) . ./$file ;;
         esac
 
@@ -1747,7 +1789,7 @@ EOF
           esac
         fi
 
-        dir="`$echo "$file" | sed 's%/[^/]*$%%'`/"
+        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
         test "X$dir" = "X$file/" && dir=
         dir="$dir$objdir"
 
@@ -1763,16 +1805,6 @@ EOF
           $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
-
           if test $# -gt 0; then
             # Delete the old symlinks.
             rmcmd="$rm"
@@ -1811,7 +1843,7 @@ EOF
         fi
 
         # Install the pseudo-library for information purposes.
-        name=`$echo "$file" | sed 's%^.*/%%'`
+        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
         $show "$install_prog $file $destdir/$name"
         $run eval "$install_prog $file $destdir/$name" || exit $?
 
@@ -1826,21 +1858,21 @@ EOF
         if test -n "$destname"; then
           destfile="$destdir/$destname"
         else
-          destfile=`$echo "$file" | sed 's%^.*/%%'`
+          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
           destfile="$destdir/$destfile"
         fi
 
         # Deduce the name of the destination old-style object file.
         case "$destfile" in
         *.lo)
-          staticdest=`$echo "$destfile" | sed 's/\.lo$/\.o/'`
+          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
           ;;
         *.o)
           staticdest="$destfile"
           destfile=
           ;;
         *)
-          $echo "$progname: cannot copy a libtool object to \`$destfile'" 1>&2
+          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
           $echo "$help" 1>&2
           exit 1
           ;;
@@ -1855,7 +1887,7 @@ EOF
         # 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/'`
+          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
 
           $show "$install_prog $staticobj $staticdest"
           $run eval "$install_prog \$staticobj \$staticdest" || exit $?
@@ -1865,19 +1897,19 @@ EOF
 
       *)
         # Do a test to see if this is really a libtool program.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
           link_against_libtool_libs=
           finalize_command=
 
           # If there is no directory component, then add one.
           case "$file" in
-          */*) . $file ;;
+          */* | *\\*) . $file ;;
           *) . ./$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
+            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
             exit 1
           fi
 
@@ -1888,36 +1920,36 @@ EOF
             if test -f "$lib"; then
               # If there is no directory component, then add one.
               case "$lib" in
-              */*) . $lib ;;
+              */* | *\\*) . $lib ;;
               *) . ./$lib ;;
               esac
             fi
-            libfile="$libdir/`$echo "$lib" | sed 's%^.*/%%g'`"
+            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
             if test -z "$libdir"; then
-              $echo "$progname: warning: \`$lib' contains no -rpath information" 1>&2
+              $echo "$modename: 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
+              $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 "$progname: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
+              $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 "$progname: error: relink \`$file' with the above command before installing it" 1>&2
+                $echo "$modename: 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
+              $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 "$file" | sed "s%\([^/]*\)$%$objdir/\1%"`
+           file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
           fi
         fi
 
@@ -1928,7 +1960,7 @@ EOF
     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"
@@ -1936,16 +1968,6 @@ EOF
       $show "$install_prog $file $oldlib"
       $run eval "$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
-
       # Do each command in the postinstall commands.
       cmds=`eval \\$echo \"$old_postinstall_cmds\"`
       IFS="${IFS=      }"; save_ifs="$IFS"; IFS=';'
@@ -1958,7 +1980,7 @@ EOF
     done
 
     if test -n "$future_libdirs"; then
-      $echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
     fi
 
     if test -n "$current_libdirs"; then
@@ -1973,44 +1995,77 @@ EOF
 
   # libtool finish mode
   finish)
-    progname="$progname: finish"
+    modename="$modename: finish"
     libdirs="$nonopt"
 
-    if test -n "$finish_cmds" && test -n "$libdirs"; then
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       for dir
       do
         libdirs="$libdirs $dir"
       done
 
       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
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish 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"
-          $show "$cmd"
-          $run eval "$cmd"
-        done
-        IFS="$save_ifs"
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         cmds=`eval \\$echo \"$finish_eval\"`
+         $run eval "$cmds"
+       fi
       done
     fi
 
-    $echo "To link against installed libraries in LIBDIR, users may have to:"
+    echo "------------------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
+    done
+    echo
+    echo "To link against installed libraries in a given directory, LIBDIR,"
+    echo "you must use the \`-LLIBDIR' flag during linking."
+    echo
+    echo " You will also need to do one of the following:"
     if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to their \`$shlibpath_var' environment variable"
+      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
+      flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
+
+      echo "   - use the \`$flag' linker flag"
     fi
-    $echo "   - use the \`-LLIBDIR' linker flag"
+    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
     ;;
 
   # libtool execute mode
   execute)
-    progname="$progname: execute"
+    modename="$modename: execute"
 
     # The first argument is the command name.
     cmd="$nonopt"
     if test -z "$cmd"; then
-      $echo "$progname: you must specify a COMMAND" 1>&2
+      $echo "$modename: you must specify a COMMAND" 1>&2
       $echo "$help"
       exit 1
     fi
@@ -2019,7 +2074,7 @@ EOF
     for file in $execute_dlfiles; do
       if test -f "$file"; then :
       else
-       $echo "$progname: \`$file' is not a file" 1>&2
+       $echo "$modename: \`$file' is not a file" 1>&2
        $echo "$help" 1>&2
        exit 1
       fi
@@ -2028,9 +2083,9 @@ EOF
       case "$file" in
       *.la)
         # Check to see that this really is a libtool archive.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then :
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
         else
-          $echo "$progname: \`$lib' is not a valid libtool archive" 1>&2
+          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
           $echo "$help" 1>&2
           exit 1
         fi
@@ -2041,36 +2096,36 @@ EOF
 
         # If there is no directory component, then add one.
        case "$file" in
-       */*) . $file ;;
+       */* | *\\*) . $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 "$progname: warning: \`$file' was not linked with \`-export-dynamic'"
+         test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
          continue
        fi
 
-       dir=`$echo "$file" | sed 's%/[^/]*$%%'`
+       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 "$progname: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+         $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 "$file" | sed 's%/[^/]*$%%'`
+       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
        test "X$dir" = "X$file" && dir=.
        ;;
 
       *)
-       $echo "$progname: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+       $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
         continue
        ;;
       esac
@@ -2098,10 +2153,11 @@ EOF
       case "$file" in
       -*) ;;
       *)
-       if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        # Do a test to see if this is really a libtool program.
+        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
          # If there is no directory component, then add one.
          case "$file" in
-         */*) . $file ;;
+         */* | *\\*) . $file ;;
          *) . ./$file ;;
          esac
 
@@ -2111,7 +2167,7 @@ EOF
         ;;
       esac
       # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "$file" | sed "$sed_quote_subst"`
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
       args="$args \"$file\""
     done
 
@@ -2122,7 +2178,7 @@ EOF
       # Now actually exec the command.
       eval "exec \$cmd$args"
 
-      $echo "$progname: cannot exec \$cmd$args"
+      $echo "$modename: cannot exec \$cmd$args"
       exit 1
     else
       # Display what would be done.
@@ -2135,7 +2191,7 @@ EOF
 
   # libtool uninstall mode
   uninstall)
-    progname="$progname: uninstall"
+    modename="$modename: uninstall"
     rm="$nonopt"
     files=
 
@@ -2148,22 +2204,22 @@ EOF
     done
 
     if test -z "$rm"; then
-      $echo "$progname: you must specify an RM program" 1>&2
+      $echo "$modename: you must specify an RM program" 1>&2
       $echo "$help" 1>&2
       exit 1
     fi
 
     for file in $files; do
-      dir=`$echo "$file" | sed -e 's%/[^/]*$%%'`
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
       test "X$dir" = "X$file" && dir=.
-      name=`$echo "$file" | sed -e 's%^.*/%%'`
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
       rmfiles="$file"
 
       case "$name" in
       *.la)
         # Possibly a libtool archive, so verify it.
-        if egrep '^# Generated by ltmain.sh' $file >/dev/null 2>&1; then
+        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
           . $dir/$name
 
           # Delete the libtool libraries and symlinks.
@@ -2174,40 +2230,71 @@ EOF
           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.
+           cmds=`eval \\$echo \"$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
+
+          if test -n "$old_library"; then
+           # Do each command in the old_postuninstall commands.
+           cmds=`eval \\$echo \"$old_postuninstall_cmds\"`
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd"
+           done
+           IFS="$save_ifs"
+         fi
+
           # FIXME: should reinstall the best remaining shared library.
         fi
         ;;
 
       *.lo)
         if test "$build_old_libs" = yes; then
-          oldobj=`$echo "$name" | sed 's/\.lo$/\.o/'`
+          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
           rmfiles="$rmfiles $dir/$oldobj"
         fi
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
         ;;
-      esac
 
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles
+      *)
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles
+       ;;
+      esac
     done
     exit 0
     ;;
 
   "")
-    $echo "$progname: you must specify a MODE" 1>&2
+    $echo "$modename: you must specify a MODE" 1>&2
     $echo "$generic_help" 1>&2
     exit 1
     ;;
   esac
 
-  $echo "$progname: invalid operation mode \`$mode'" 1>&2
+  $echo "$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
-"") cat <<EOF
-Usage: $progname [OPTION]... [MODE-ARG]...
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
 
 Provide generalized library-building support services.
 
@@ -2229,14 +2316,14 @@ MODE must be one of the following:
       link            create a library or an executable
       uninstall       remove libraries from an installed directory
 
-MODE-ARGS vary depending on the MODE.  Try \`$progname --help --mode=MODE' for
-a more detailed description of MODE.
-EOF
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+  exit 0
   ;;
 
 compile)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 
 Compile a source file into a libtool library object.
 
@@ -2245,13 +2332,12 @@ 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'."
   ;;
 
 execute)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
 
 Automatically set library path, then run a program.
 
@@ -2266,26 +2352,24 @@ 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.
-EOF
+Then, COMMAND is executed, with ARGS as arguments."
   ;;
 
 finish)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 
 Complete the installation of libtool libraries.
 
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed.
-EOF
+the \`--dry-run' option if you just want to see what would be executed."
   ;;
 
 install)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
 Install executables or libraries.
 
@@ -2293,13 +2377,12 @@ INSTALL-COMMAND is the installation command.  The first component should be
 either the \`install' or \`cp' program.
 
 The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized).
-EOF
+BSD-compatible install options are recognized)."
   ;;
 
 link)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 
 Link object files or libraries together to form another library, or to
 create an executable program.
@@ -2310,13 +2393,14 @@ a program from several object files.
 The following components of LINK-COMMAND are treated specially:
 
   -all-static       do not do any dynamic linking at all
-  -allow-undefined  allow a libtool library to reference undefined symbols
   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -static           do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
@@ -2335,13 +2419,12 @@ If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
 and \`ranlib'.
 
 If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
-created, otherwise an executable program is created.
-EOF
+created, otherwise an executable program is created."
   ;;
 
 uninstall)
-  cat <<EOF
-Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+  $echo
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 
 Remove libraries from an installation directory.
 
@@ -2350,19 +2433,18 @@ RM is the name of the program to use to delete files associated with each FILE
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM.
-EOF
+Otherwise, only FILE itself is deleted using RM."
   ;;
 
 *)
-  $echo "$progname: invalid operation mode \`$mode'" 1>&2
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
   $echo "$help" 1>&2
   exit 1
   ;;
 esac
 
-$echo
-$echo "Try \`$progname --help' for more information about other modes."
+echo
+$echo "Try \`$modename --help' for more information about other modes."
 
 exit 0