[SCM] LibASS packaging branch, master, updated. debian/0.9.6-1-15-gf0cb87c

xtophe-guest at users.alioth.debian.org xtophe-guest at users.alioth.debian.org
Fri Aug 21 20:03:31 UTC 2009


The following commit has been merged in the master branch:
commit 395643c45b24be1fcbc86777b30e6240e993470c
Merge: 395ad47ad538be012f779dfaa3abb3511b331262 b07ed0eb35ccd1dbd33038e41c6b62387145dbb7
Author: Christophe Mutricy <xtophe at videolan.org>
Date:   Fri Aug 21 00:18:17 2009 +0100

    Merge commit 'upstream/0.9.7'
    
    Conflicts:
    	Changelog
    	Makefile.in
    	config.h.in
    	configure
    	configure.ac
    	libass/Makefile.am
    	libass/Makefile.in
    	libass/ass.c
    	libass/ass.h
    	libass/ass_bitmap.c
    	libass/ass_bitmap.h
    	libass/ass_cache.c
    	libass/ass_cache.h
    	libass/ass_font.c
    	libass/ass_font.h
    	libass/ass_fontconfig.c
    	libass/ass_fontconfig.h
    	libass/ass_render.c
    	libass/ass_types.h
    	libass/ass_utils.c
    	libass/ass_utils.h
    	libass/mputils.c
    	test/Makefile.in

diff --combined ltmain.sh
index 6d056ec,e420fac..e420fac
mode 100755,100644..100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@@ -1,83 -1,52 +1,52 @@@
- # Generated from ltmain.m4sh.
- 
- # ltmain.sh (GNU libtool) 2.2.4
- # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
- 
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
- # This is free software; see the source for copying conditions.  There is NO
- # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- 
- # GNU Libtool is free software; you can redistribute it and/or modify
+ # ltmain.sh - Provide generalized library-building support services.
+ # NOTE: Changing this file will not affect anything until you rerun configure.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+ # 2007, 2008  Free Software Foundation, Inc.
+ # Originally by Gordon Matzigkeit <gord at 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.
  #
- # As a special exception to the GNU General Public License,
- # if you distribute this file as part of a program or library that
- # is built using GNU Libtool, you may include this file under the
- # same distribution terms that you use for the rest of that program.
- #
- # GNU Libtool is distributed in the hope that it will be useful, but
+ # 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 GNU Libtool; see the file COPYING.  If not, a copy
- # can be downloaded from http://www.gnu.org/licenses/gpl.html,
- # or obtained by writing to the Free Software Foundation, Inc.,
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- 
- # Usage: $progname [OPTION]... [MODE-ARG]...
- #
- # Provide generalized library-building support services.
- #
- #     --config             show all configuration variables
- #     --debug              enable verbose shell tracing
- # -n, --dry-run            display commands without modifying any files
- #     --features           display basic configuration information and exit
- #     --mode=MODE          use operation mode MODE
- #     --preserve-dup-deps  don't remove duplicate dependency libraries
- #     --quiet, --silent    don't print informational messages
- #     --tag=TAG            use configuration variables from tag TAG
- # -v, --verbose            print informational messages (default)
- #     --version            print version information
- # -h, --help               print short or long help message
- #
- # MODE must be one of the following:
- #
- #       clean              remove files from the build directory
- #       compile            compile a source file into a libtool object
- #       execute            automatically set library path, then run a program
- #       finish             complete the installation of libtool libraries
- #       install            install libraries or executables
- #       link               create a library or an executable
- #       uninstall          remove libraries from an installed directory
- #
- # MODE-ARGS vary depending on the MODE.
- # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
- #
- # When reporting a bug, please describe a test case to reproduce it and
- # include the following information:
- #
- #       host-triplet:	$host
- #       shell:		$SHELL
- #       compiler:		$LTCC
- #       compiler flags:		$LTCFLAGS
- #       linker:		$LD (gnu? $with_gnu_ld)
- #       $progname:		(GNU libtool) 2.2.4 Debian-2.2.4-0ubuntu4
- #       automake:		$automake_version
- #       autoconf:		$autoconf_version
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  #
- # Report bugs to <bug-libtool at gnu.org>.
+ # 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.
+ 
+ basename="s,^.*/,,g"
+ 
+ # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+ # is ksh but when the shell is invoked as "sh" and the current value of
+ # the _XPG environment variable is not equal to 1 (one), the special
+ # positional parameter $0, within a function call, is the name of the
+ # function.
+ progpath="$0"
+ 
+ # The name of this program:
+ progname=`echo "$progpath" | $SED $basename`
+ modename="$progname"
+ 
+ # Global variables:
+ EXIT_SUCCESS=0
+ EXIT_FAILURE=1
  
  PROGRAM=ltmain.sh
  PACKAGE=libtool
- VERSION="2.2.4 Debian-2.2.4-0ubuntu4"
- TIMESTAMP=""
- package_revision=1.2976
+ VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
+ TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
  
- # Be Bourne compatible
+ # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
  if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
    emulate sh
    NULLCMD=:
@@@ -91,261 -60,104 +60,104 @@@ f
  BIN_SH=xpg4; export BIN_SH # for Tru64
  DUALCASE=1; export DUALCASE # for MKS sh
  
- # NLS nuisances: We save the old values to restore during execute mode.
+ # Check that we have a working $echo.
+ if test "X$1" = X--no-reexec; then
+   # Discard the --no-reexec flag, and continue.
+   shift
+ elif test "X$1" = X--fallback-echo; then
+   # Avoid inline document here, it may be left over
+   :
+ elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+   # Yippee, $echo works!
+   :
+ else
+   # Restart under the correct shell, and then maybe $echo will work.
+   exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+ fi
+ 
+ if test "X$1" = X--fallback-echo; then
+   # used as fallback echo
+   shift
+   cat <<EOF
+ $*
+ EOF
+   exit $EXIT_SUCCESS
+ fi
+ 
+ default_mode=
+ help="Try \`$progname --help' for more information."
+ magic="%%%MAGIC variable%%%"
+ mkdir="mkdir"
+ mv="mv -f"
+ rm="rm -f"
+ 
+ # Sed substitution that helps us do robust quoting.  It backslashifies
+ # metacharacters that are still active within double-quoted strings.
+ Xsed="${SED}"' -e 1s/^X//'
+ sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+ # test EBCDIC or ASCII
+ case `echo X|tr X '\101'` in
+  A) # ASCII based system
+     # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+   SP2NL='tr \040 \012'
+   NL2SP='tr \015\012 \040\040'
+   ;;
+  *) # EBCDIC based system
+   SP2NL='tr \100 \n'
+   NL2SP='tr \r\n \100\100'
+   ;;
+ esac
+ 
+ # NLS nuisances.
  # Only set LANG and LC_ALL to C if already set.
  # These must not be set unconditionally because not all systems understand
  # e.g. LANG=C (notably SCO).
- lt_user_locale=
- lt_safe_locale=
+ # We save the old values to restore during execute mode.
+ lt_env=
  for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
  do
    eval "if test \"\${$lt_var+set}\" = set; then
-           save_$lt_var=\$$lt_var
-           $lt_var=C
+ 	  save_$lt_var=\$$lt_var
+ 	  lt_env=\"$lt_var=\$$lt_var \$lt_env\"
+ 	  $lt_var=C
  	  export $lt_var
  	fi"
  done
  
- $lt_unset CDPATH
- 
- 
- 
- 
- 
- : ${CP="cp -f"}
- : ${ECHO="echo"}
- : ${EGREP="/bin/grep -E"}
- : ${FGREP="/bin/grep -F"}
- : ${GREP="/bin/grep"}
- : ${LN_S="ln -s"}
- : ${MAKE="make"}
- : ${MKDIR="mkdir"}
- : ${MV="mv -f"}
- : ${RM="rm -f"}
- : ${SED="/bin/sed"}
- : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
- : ${Xsed="$SED -e 1s/^X//"}
- 
- # Global variables:
- EXIT_SUCCESS=0
- EXIT_FAILURE=1
- EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
- EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
- 
- exit_status=$EXIT_SUCCESS
+ if test -n "$lt_env"; then
+   lt_env="env $lt_env"
+ fi
  
  # Make sure IFS has a sensible default
  lt_nl='
  '
  IFS=" 	$lt_nl"
  
- dirname="s,/[^/]*$,,"
- basename="s,^.*/,,"
- 
- # func_dirname_and_basename file append nondir_replacement
- # perform func_basename and func_dirname in a single function
- # call:
- #   dirname:  Compute the dirname of FILE.  If nonempty,
- #             add APPEND to the result, otherwise set result
- #             to NONDIR_REPLACEMENT.
- #             value returned in "$func_dirname_result"
- #   basename: Compute filename of FILE.
- #             value retuned in "$func_basename_result"
- # Implementation must be kept synchronized with func_dirname
- # and func_basename. For efficiency, we do not delegate to
- # those functions but instead duplicate the functionality here.
- func_dirname_and_basename ()
- {
-   # Extract subdirectory from the argument.
-   func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-   if test "X$func_dirname_result" = "X${1}"; then
-     func_dirname_result="${3}"
-   else
-     func_dirname_result="$func_dirname_result${2}"
-   fi
-   func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
- }
- 
- # Generated shell functions inserted here.
- 
- # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
- # is ksh but when the shell is invoked as "sh" and the current value of
- # the _XPG environment variable is not equal to 1 (one), the special
- # positional parameter $0, within a function call, is the name of the
- # function.
- progpath="$0"
- 
- # The name of this program:
- # In the unlikely event $progname began with a '-', it would play havoc with
- # func_echo (imagine progname=-n), so we prepend ./ in that case:
- func_dirname_and_basename "$progpath"
- progname=$func_basename_result
- case $progname in
-   -*) progname=./$progname ;;
- esac
- 
- # Make sure we have an absolute path for reexecution:
- case $progpath in
-   [\\/]*|[A-Za-z]:\\*) ;;
-   *[\\/]*)
-      progdir=$func_dirname_result
-      progdir=`cd "$progdir" && pwd`
-      progpath="$progdir/$progname"
-      ;;
-   *)
-      save_IFS="$IFS"
-      IFS=:
-      for progdir in $PATH; do
-        IFS="$save_IFS"
-        test -x "$progdir/$progname" && break
-      done
-      IFS="$save_IFS"
-      test -n "$progdir" || progdir=`pwd`
-      progpath="$progdir/$progname"
-      ;;
- esac
- 
- # Sed substitution that helps us do robust quoting.  It backslashifies
- # metacharacters that are still active within double-quoted strings.
- Xsed="${SED}"' -e 1s/^X//'
- sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
- 
- # Same as above, but do not quote variable references.
- double_quote_subst='s/\(["`\\]\)/\\\1/g'
- 
- # Re-`\' parameter expansions in output of double_quote_subst that were
- # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
- # in input to double_quote_subst, that '$' was protected from expansion.
- # Since each input `\' is now two `\'s, look for any number of runs of
- # four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
- bs='\\'
- bs2='\\\\'
- bs4='\\\\\\\\'
- dollar='\$'
- sed_double_backslash="\
-   s/$bs4/&\\
- /g
-   s/^$bs2$dollar/$bs&/
-   s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-   s/\n//g"
- 
- # Standard options:
- opt_dry_run=false
- opt_help=false
- opt_quiet=false
- opt_verbose=false
- opt_warning=:
- 
- # func_echo arg...
- # Echo program name prefixed message, along with the current mode
- # name if it has been set yet.
- func_echo ()
- {
-     $ECHO "$progname${mode+: }$mode: $*"
- }
- 
- # func_verbose arg...
- # Echo program name prefixed message in verbose mode only.
- func_verbose ()
- {
-     $opt_verbose && func_echo ${1+"$@"}
- 
-     # A bug in bash halts the script if the last line of a function
-     # fails when set -e is in force, so we need another command to
-     # work around that:
-     :
- }
- 
- # func_error arg...
- # Echo program name prefixed message to standard error.
- func_error ()
- {
-     $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
- }
- 
- # func_warning arg...
- # Echo program name prefixed warning message to standard error.
- func_warning ()
- {
-     $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
- 
-     # bash bug again:
-     :
- }
- 
- # func_fatal_error arg...
- # Echo program name prefixed message to standard error, and exit.
- func_fatal_error ()
- {
-     func_error ${1+"$@"}
-     exit $EXIT_FAILURE
- }
- 
- # func_fatal_help arg...
- # Echo program name prefixed message to standard error, followed by
- # a help hint, and exit.
- func_fatal_help ()
- {
-     func_error ${1+"$@"}
-     func_fatal_error "$help"
- }
- help="Try \`$progname --help' for more information."  ## default
- 
- 
- # func_grep expression filename
- # Check whether EXPRESSION matches any line of FILENAME, without output.
- func_grep ()
- {
-     $GREP "$1" "$2" >/dev/null 2>&1
- }
- 
- 
- # func_mkdir_p directory-path
- # Make sure the entire path to DIRECTORY-PATH is available.
- func_mkdir_p ()
- {
-     my_directory_path="$1"
-     my_dir_list=
- 
-     if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
- 
-       # Protect directory names starting with `-'
-       case $my_directory_path in
-         -*) my_directory_path="./$my_directory_path" ;;
-       esac
- 
-       # While some portion of DIR does not yet exist...
-       while test ! -d "$my_directory_path"; do
-         # ...make a list in topmost first order.  Use a colon delimited
- 	# list incase some portion of path contains whitespace.
-         my_dir_list="$my_directory_path:$my_dir_list"
- 
-         # If the last portion added has no slash in it, the list is done
-         case $my_directory_path in */*) ;; *) break ;; esac
- 
-         # ...otherwise throw away the child directory and loop
-         my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
-       done
-       my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
- 
-       save_mkdir_p_IFS="$IFS"; IFS=':'
-       for my_dir in $my_dir_list; do
- 	IFS="$save_mkdir_p_IFS"
-         # mkdir can fail with a `File exist' error if two processes
-         # try to create one of the directories concurrently.  Don't
-         # stop in that case!
-         $MKDIR "$my_dir" 2>/dev/null || :
-       done
-       IFS="$save_mkdir_p_IFS"
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+   $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 $EXIT_FAILURE
+ fi
  
-       # Bail out if we (or some other process) failed to create a directory.
-       test -d "$my_directory_path" || \
-         func_fatal_error "Failed to create \`$1'"
-     fi
- }
+ # Global variables.
+ mode=$default_mode
+ nonopt=
+ prev=
+ prevopt=
+ run=
+ show="$echo"
+ show_help=
+ execute_dlfiles=
+ duplicate_deps=no
+ preserve_args=
+ lo2o="s/\\.lo\$/.${objext}/"
+ o2lo="s/\\.${objext}\$/.lo/"
+ extracted_archives=
+ extracted_serial=0
  
+ #####################################
+ # Shell function definitions:
+ # This seems to be the best place for them
  
  # func_mktempdir [string]
  # Make a temporary directory that won't clash with other running
@@@ -355,7 -167,7 +167,7 @@@ func_mktempdir (
  {
      my_template="${TMPDIR-/tmp}/${1-$progname}"
  
-     if test "$opt_dry_run" = ":"; then
+     if test "$run" = ":"; then
        # Return a directory name, but don't create it in dry-run mode
        my_tmpdir="${my_template}-$$"
      else
@@@ -364,742 -176,486 +176,486 @@@
        my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
  
        if test ! -d "$my_tmpdir"; then
-         # Failing that, at least try and use $RANDOM to avoid a race
-         my_tmpdir="${my_template}-${RANDOM-0}$$"
+ 	# Failing that, at least try and use $RANDOM to avoid a race
+ 	my_tmpdir="${my_template}-${RANDOM-0}$$"
  
-         save_mktempdir_umask=`umask`
-         umask 0077
-         $MKDIR "$my_tmpdir"
-         umask $save_mktempdir_umask
+ 	save_mktempdir_umask=`umask`
+ 	umask 0077
+ 	$mkdir "$my_tmpdir"
+ 	umask $save_mktempdir_umask
        fi
  
        # If we're not in dry-run mode, bomb out on failure
-       test -d "$my_tmpdir" || \
-         func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+       test -d "$my_tmpdir" || {
+         $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+ 	exit $EXIT_FAILURE
+       }
      fi
  
-     $ECHO "X$my_tmpdir" | $Xsed
+     $echo "X$my_tmpdir" | $Xsed
  }
  
  
- # func_quote_for_eval arg
- # Aesthetically quote ARG to be evaled later.
- # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
- # is double-quoted, suitable for a subsequent eval, whereas
- # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
- # which are still active within double quotes backslashified.
- func_quote_for_eval ()
+ # func_win32_libid arg
+ # return the library type of file 'arg'
+ #
+ # Need a lot of goo to handle *both* DLLs and import libs
+ # Has to be a shell function in order to 'eat' the argument
+ # that is supplied when $file_magic_command is called.
+ func_win32_libid ()
  {
-     case $1 in
-       *[\\\`\"\$]*)
- 	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
-       *)
-         func_quote_for_eval_unquoted_result="$1" ;;
-     esac
- 
-     case $func_quote_for_eval_unquoted_result in
-       # Double-quote args containing shell metacharacters to delay
-       # word splitting, command substitution and and variable
-       # expansion for a subsequent eval.
-       # Many Bourne shells cannot handle close brackets correctly
-       # in scan sets, so we specify it separately.
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-         func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-         ;;
-       *)
-         func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+   win32_libid_type="unknown"
+   win32_fileres=`file -L $1 2>/dev/null`
+   case $win32_fileres in
+   *ar\ archive\ import\ library*) # definitely import
+     win32_libid_type="x86 archive import"
+     ;;
+   *ar\ archive*) # could be an import, or static
+     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+       win32_nmres=`eval $NM -f posix -A $1 | \
+ 	$SED -n -e '1,100{
+ 		/ I /{
+ 			s,.*,import,
+ 			p
+ 			q
+ 			}
+ 		}'`
+       case $win32_nmres in
+       import*)  win32_libid_type="x86 archive import";;
+       *)        win32_libid_type="x86 archive static";;
+       esac
+     fi
+     ;;
+   *DLL*)
+     win32_libid_type="x86 DLL"
+     ;;
+   *executable*) # but shell scripts are "executable" too...
+     case $win32_fileres in
+     *MS\ Windows\ PE\ Intel*)
+       win32_libid_type="x86 DLL"
+       ;;
      esac
+     ;;
+   esac
+   $echo $win32_libid_type
  }
  
  
- # func_quote_for_expand arg
- # Aesthetically quote ARG to be evaled later; same as above,
- # but do not quote variable references.
- func_quote_for_expand ()
+ # func_infer_tag arg
+ # Infer tagged configuration to use if any are available and
+ # if one wasn't chosen via the "--tag" command line option.
+ # Only attempt this if the compiler in the base compile
+ # command doesn't match the default compiler.
+ # arg is usually of the form 'gcc ...'
+ func_infer_tag ()
  {
-     case $1 in
-       *[\\\`\"]*)
- 	my_arg=`$ECHO "X$1" | $Xsed \
- 	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+     if test -n "$available_tags" && test -z "$tagname"; then
+       CC_quoted=
+       for arg in $CC; do
+ 	case $arg in
+ 	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	  arg="\"$arg\""
+ 	  ;;
+ 	esac
+ 	CC_quoted="$CC_quoted $arg"
+       done
+       case $@ in
+       # Blanks in the command may have been stripped by the calling shell,
+       # but not from the CC environment variable when configure was run.
+       " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+       # Blanks at the start of $base_compile will cause this to fail
+       # if we don't check for them as well.
        *)
-         my_arg="$1" ;;
-     esac
- 
-     case $my_arg in
-       # Double-quote args containing shell metacharacters to delay
-       # word splitting and command substitution for a subsequent eval.
-       # Many Bourne shells cannot handle close brackets correctly
-       # in scan sets, so we specify it separately.
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-         my_arg="\"$my_arg\""
-         ;;
-     esac
- 
-     func_quote_for_expand_result="$my_arg"
- }
- 
- 
- # func_show_eval cmd [fail_exp]
- # Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
- # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
- # is given, then evaluate it.
- func_show_eval ()
- {
-     my_cmd="$1"
-     my_fail_exp="${2-:}"
- 
-     ${opt_silent-false} || {
-       func_quote_for_expand "$my_cmd"
-       eval "func_echo $func_quote_for_expand_result"
-     }
- 
-     if ${opt_dry_run-false}; then :; else
-       eval "$my_cmd"
-       my_status=$?
-       if test "$my_status" -eq 0; then :; else
- 	eval "(exit $my_status); $my_fail_exp"
-       fi
+ 	for z in $available_tags; do
+ 	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ 	    # Evaluate the configuration.
+ 	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ 	    CC_quoted=
+ 	    for arg in $CC; do
+ 	    # Double-quote args containing other shell metacharacters.
+ 	    case $arg in
+ 	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	      arg="\"$arg\""
+ 	      ;;
+ 	    esac
+ 	    CC_quoted="$CC_quoted $arg"
+ 	  done
+ 	    case "$@ " in
+ 	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+ 	      # The compiler in the base compile command matches
+ 	      # the one in the tagged configuration.
+ 	      # Assume this is the tagged configuration we want.
+ 	      tagname=$z
+ 	      break
+ 	      ;;
+ 	    esac
+ 	  fi
+ 	done
+ 	# If $tagname still isn't set, then no tagged configuration
+ 	# was found and let the user know that the "--tag" command
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+ 	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+ 	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+ 	;;
+       esac
      fi
  }
  
  
- # func_show_eval_locale cmd [fail_exp]
- # Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
- # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
- # is given, then evaluate it.  Use the saved locale for evaluation.
- func_show_eval_locale ()
+ # func_extract_an_archive dir oldlib
+ func_extract_an_archive ()
  {
-     my_cmd="$1"
-     my_fail_exp="${2-:}"
- 
-     ${opt_silent-false} || {
-       func_quote_for_expand "$my_cmd"
-       eval "func_echo $func_quote_for_expand_result"
-     }
+     f_ex_an_ar_dir="$1"; shift
+     f_ex_an_ar_oldlib="$1"
  
-     if ${opt_dry_run-false}; then :; else
-       eval "$lt_user_locale
- 	    $my_cmd"
-       my_status=$?
-       eval "$lt_safe_locale"
-       if test "$my_status" -eq 0; then :; else
- 	eval "(exit $my_status); $my_fail_exp"
-       fi
+     $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+     $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+      :
+     else
+       $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+       exit $EXIT_FAILURE
      fi
  }
  
- 
- 
- 
- 
- # func_version
- # Echo version message to standard output and exit.
- func_version ()
- {
-     $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
-         s/^# //
- 	s/^# *$//
-         s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-         p
-      }' < "$progpath"
-      exit $?
- }
- 
- # func_usage
- # Echo short help message to standard output and exit.
- func_usage ()
+ # func_extract_archives gentop oldlib ...
+ func_extract_archives ()
  {
-     $SED -n '/^# Usage:/,/# -h/ {
-         s/^# //
- 	s/^# *$//
- 	s/\$progname/'$progname'/
- 	p
-     }' < "$progpath"
-     $ECHO
-     $ECHO "run \`$progname --help | more' for full usage"
-     exit $?
- }
+     my_gentop="$1"; shift
+     my_oldlibs=${1+"$@"}
+     my_oldobjs=""
+     my_xlib=""
+     my_xabs=""
+     my_xdir=""
+     my_status=""
+ 
+     $show "${rm}r $my_gentop"
+     $run ${rm}r "$my_gentop"
+     $show "$mkdir $my_gentop"
+     $run $mkdir "$my_gentop"
+     my_status=$?
+     if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+       exit $my_status
+     fi
  
- # func_help
- # Echo long help message to standard output and exit.
- func_help ()
- {
-     $SED -n '/^# Usage:/,/# Report bugs to/ {
-         s/^# //
- 	s/^# *$//
- 	s*\$progname*'$progname'*
- 	s*\$host*'"$host"'*
- 	s*\$SHELL*'"$SHELL"'*
- 	s*\$LTCC*'"$LTCC"'*
- 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
- 	s*\$LD*'"$LD"'*
- 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
- 	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- 	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
- 	p
-      }' < "$progpath"
-     exit $?
- }
+     for my_xlib in $my_oldlibs; do
+       # Extract the objects.
+       case $my_xlib in
+ 	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ 	*) my_xabs=`pwd`"/$my_xlib" ;;
+       esac
+       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+       my_xlib_u=$my_xlib
+       while :; do
+         case " $extracted_archives " in
+ 	*" $my_xlib_u "*)
+ 	  extracted_serial=`expr $extracted_serial + 1`
+ 	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ 	*) break ;;
+ 	esac
+       done
+       extracted_archives="$extracted_archives $my_xlib_u"
+       my_xdir="$my_gentop/$my_xlib_u"
  
- # func_missing_arg argname
- # Echo program name prefixed message to standard error and set global
- # exit_cmd.
- func_missing_arg ()
- {
-     func_error "missing argument for $1"
-     exit_cmd=exit
+       $show "${rm}r $my_xdir"
+       $run ${rm}r "$my_xdir"
+       $show "$mkdir $my_xdir"
+       $run $mkdir "$my_xdir"
+       exit_status=$?
+       if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+ 	exit $exit_status
+       fi
+       case $host in
+       *-darwin*)
+ 	$show "Extracting $my_xabs"
+ 	# Do not bother doing anything if just a dry run
+ 	if test -z "$run"; then
+ 	  darwin_orig_dir=`pwd`
+ 	  cd $my_xdir || exit $?
+ 	  darwin_archive=$my_xabs
+ 	  darwin_curdir=`pwd`
+ 	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+ 	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+ 	  if test -n "$darwin_arches"; then 
+ 	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+ 	    darwin_arch=
+ 	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
+ 	    for darwin_arch in  $darwin_arches ; do
+ 	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ 	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ 	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ 	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ 	      cd "$darwin_curdir"
+ 	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ 	    done # $darwin_arches
+       ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+ 	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+ 	    darwin_file=
+ 	    darwin_files=
+ 	    for darwin_file in $darwin_filelist; do
+ 	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ 	      lipo -create -output "$darwin_file" $darwin_files
+ 	    done # $darwin_filelist
+ 	    ${rm}r unfat-$$
+ 	    cd "$darwin_orig_dir"
+ 	  else
+ 	    cd "$darwin_orig_dir"
+  	    func_extract_an_archive "$my_xdir" "$my_xabs"
+ 	  fi # $darwin_arches
+ 	fi # $run
+ 	;;
+       *)
+         func_extract_an_archive "$my_xdir" "$my_xabs"
+         ;;
+       esac
+       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+     done
+     func_extract_archives_result="$my_oldobjs"
  }
+ # End of Shell function definitions
+ #####################################
  
- exit_cmd=:
- 
- 
- 
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
  
+ disable_libs=no
  
- # Check that we have a working $ECHO.
- if test "X$1" = X--no-reexec; then
-   # Discard the --no-reexec flag, and continue.
-   shift
- elif test "X$1" = X--fallback-echo; then
-   # Avoid inline document here, it may be left over
-   :
- elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-   # Yippee, $ECHO works!
-   :
- else
-   # Restart under the correct shell, and then maybe $ECHO will work.
-   exec $SHELL "$progpath" --no-reexec ${1+"$@"}
- fi
- 
- if test "X$1" = X--fallback-echo; then
-   # used as fallback echo
+ # Parse our command line options once, thoroughly.
+ while test "$#" -gt 0
+ do
+   arg="$1"
    shift
-   cat <<EOF
- $*
- EOF
-   exit $EXIT_SUCCESS
- fi
- 
- magic="%%%MAGIC variable%%%"
- magic_exe="%%%MAGIC EXE variable%%%"
  
- # Global variables.
- # $mode is unset
- nonopt=
- execute_dlfiles=
- preserve_args=
- lo2o="s/\\.lo\$/.${objext}/"
- o2lo="s/\\.${objext}\$/.lo/"
- extracted_archives=
- extracted_serial=0
+   case $arg in
+   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+   *) optarg= ;;
+   esac
  
- opt_dry_run=false
- opt_duplicate_deps=false
- opt_silent=false
- opt_debug=:
+   # If the previous option needs an argument, assign it.
+   if test -n "$prev"; then
+     case $prev in
+     execute_dlfiles)
+       execute_dlfiles="$execute_dlfiles $arg"
+       ;;
+     tag)
+       tagname="$arg"
+       preserve_args="${preserve_args}=$arg"
+ 
+       # Check whether tagname contains only valid characters
+       case $tagname in
+       *[!-_A-Za-z0-9,/]*)
+ 	$echo "$progname: invalid tag name: $tagname" 1>&2
+ 	exit $EXIT_FAILURE
+ 	;;
+       esac
  
- # If this variable is set in any of the actions, the command in it
- # will be execed at the end.  This prevents here-documents from being
- # left over by shells.
- exec_cmd=
+       case $tagname in
+       CC)
+ 	# Don't test for the "default" C tag, as we know, it's there, but
+ 	# not specially marked.
+ 	;;
+       *)
+ 	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+ 	  taglist="$taglist $tagname"
+ 	  # Evaluate the configuration.
+ 	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+ 	else
+ 	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
+ 	fi
+ 	;;
+       esac
+       ;;
+     *)
+       eval "$prev=\$arg"
+       ;;
+     esac
  
- # func_fatal_configuration arg...
- # Echo program name prefixed message to standard error, followed by
- # a configuration failure hint, and exit.
- func_fatal_configuration ()
- {
-     func_error ${1+"$@"}
-     func_error "See the $PACKAGE documentation for more information."
-     func_fatal_error "Fatal configuration error."
- }
+     prev=
+     prevopt=
+     continue
+   fi
  
+   # Have we seen a non-optional argument yet?
+   case $arg in
+   --help)
+     show_help=yes
+     ;;
  
- # func_config
- # Display the configuration for all the tags in this script.
- func_config ()
- {
-     re_begincf='^# ### BEGIN LIBTOOL'
-     re_endcf='^# ### END LIBTOOL'
+   --version)
+     echo "\
+ $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
  
-     # Default configuration.
-     $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+ Copyright (C) 2008  Free Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+     exit $?
+     ;;
  
+   --config)
+     ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
      # Now print the configurations for the tags.
      for tagname in $taglist; do
-       $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
      done
- 
      exit $?
- }
+     ;;
  
- # func_features
- # Display the features supported by this script.
- func_features ()
- {
-     $ECHO "host: $host"
+   --debug)
+     $echo "$progname: enabling shell trace mode"
+     set -x
+     preserve_args="$preserve_args $arg"
+     ;;
+ 
+   --dry-run | -n)
+     run=:
+     ;;
+ 
+   --features)
+     $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 $?
- }
- 
- # func_enable_tag tagname
- # Verify that TAGNAME is valid, and either flag an error and exit, or
- # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
- # variable here.
- func_enable_tag ()
- {
-   # Global variable:
-   tagname="$1"
- 
-   re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-   re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-   sed_extractcf="/$re_begincf/,/$re_endcf/p"
+     ;;
  
-   # Validate tagname.
-   case $tagname in
-     *[!-_A-Za-z0-9,/]*)
-       func_fatal_error "invalid tag name: $tagname"
-       ;;
-   esac
+   --finish) mode="finish" ;;
  
-   # Don't test for the "default" C tag, as we know it's
-   # there but not specially marked.
-   case $tagname in
-     CC) ;;
-     *)
-       if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- 	taglist="$taglist $tagname"
- 
- 	# Evaluate the configuration.  Be careful to quote the path
- 	# and the sed script, to avoid splitting on whitespace, but
- 	# also don't use non-portable quotes within backquotes within
- 	# quotes we have to do it in 2 steps:
- 	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- 	eval "$extractedcf"
-       else
- 	func_error "ignoring unknown tag $tagname"
-       fi
-       ;;
-   esac
- }
+   --mode) prevopt="--mode" prev=mode ;;
+   --mode=*) mode="$optarg" ;;
  
- # Parse options once, thoroughly.  This comes as soon as possible in
- # the script to make things like `libtool --version' happen quickly.
- {
+   --preserve-dup-deps) duplicate_deps="yes" ;;
  
-   # Shorthand for --mode=foo, only valid as the first argument
-   case $1 in
-   clean|clea|cle|cl)
-     shift; set dummy --mode clean ${1+"$@"}; shift
+   --quiet | --silent)
+     show=:
+     preserve_args="$preserve_args $arg"
      ;;
-   compile|compil|compi|comp|com|co|c)
-     shift; set dummy --mode compile ${1+"$@"}; shift
-     ;;
-   execute|execut|execu|exec|exe|ex|e)
-     shift; set dummy --mode execute ${1+"$@"}; shift
+ 
+   --tag)
+     prevopt="--tag"
+     prev=tag
+     preserve_args="$preserve_args --tag"
      ;;
-   finish|finis|fini|fin|fi|f)
-     shift; set dummy --mode finish ${1+"$@"}; shift
+   --tag=*)
+     set tag "$optarg" ${1+"$@"}
+     shift
+     prev=tag
+     preserve_args="$preserve_args --tag"
      ;;
-   install|instal|insta|inst|ins|in|i)
-     shift; set dummy --mode install ${1+"$@"}; shift
+ 
+   -dlopen)
+     prevopt="-dlopen"
+     prev=execute_dlfiles
      ;;
-   link|lin|li|l)
-     shift; set dummy --mode link ${1+"$@"}; shift
+ 
+   -*)
+     $echo "$modename: unrecognized option \`$arg'" 1>&2
+     $echo "$help" 1>&2
+     exit $EXIT_FAILURE
      ;;
-   uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-     shift; set dummy --mode uninstall ${1+"$@"}; shift
+ 
+   *)
+     nonopt="$arg"
+     break
      ;;
    esac
+ done
  
-   # Parse non-mode specific arguments:
-   while test "$#" -gt 0; do
-     opt="$1"
-     shift
- 
-     case $opt in
-       --config)		func_config					;;
- 
-       --debug)		preserve_args="$preserve_args $opt"
- 			func_echo "enabling shell trace mode"
- 			opt_debug='set -x'
- 			$opt_debug
- 			;;
- 
-       -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
- 			execute_dlfiles="$execute_dlfiles $1"
- 			shift
- 			;;
- 
-       --dry-run | -n)	opt_dry_run=:					;;
-       --features)       func_features					;;
-       --finish)		mode="finish"					;;
- 
-       --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
- 			case $1 in
- 			  # Valid mode arguments:
- 			  clean)	;;
- 			  compile)	;;
- 			  execute)	;;
- 			  finish)	;;
- 			  install)	;;
- 			  link)		;;
- 			  relink)	;;
- 			  uninstall)	;;
- 
- 			  # Catch anything else as an error
- 			  *) func_error "invalid argument for $opt"
- 			     exit_cmd=exit
- 			     break
- 			     ;;
- 		        esac
- 
- 			mode="$1"
- 			shift
- 			;;
- 
-       --preserve-dup-deps)
- 			opt_duplicate_deps=:				;;
- 
-       --quiet|--silent)	preserve_args="$preserve_args $opt"
- 			opt_silent=:
- 			;;
- 
-       --verbose| -v)	preserve_args="$preserve_args $opt"
- 			opt_silent=false
- 			;;
- 
-       --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
- 			preserve_args="$preserve_args $opt $1"
- 			func_enable_tag "$1"	# tagname is set here
- 			shift
- 			;;
- 
-       # Separate optargs to long options:
-       -dlopen=*|--mode=*|--tag=*)
- 			func_opt_split "$opt"
- 			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
- 			shift
- 			;;
- 
-       -\?|-h)		func_usage					;;
-       --help)		opt_help=:					;;
-       --version)	func_version					;;
+ if test -n "$prevopt"; then
+   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+   $echo "$help" 1>&2
+   exit $EXIT_FAILURE
+ fi
  
-       -*)		func_fatal_help "unrecognized option \`$opt'"	;;
+ case $disable_libs in
+ no) 
+   ;;
+ shared)
+   build_libtool_libs=no
+   build_old_libs=yes
+   ;;
+ static)
+   build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+   ;;
+ esac
  
-       *)		nonopt="$opt"
- 			break
- 			;;
-     esac
-   done
+ # If this variable is set in any of the actions, the command in it
+ # will be execed at the end.  This prevents here-documents from being
+ # left over by shells.
+ exec_cmd=
  
+ if test -z "$show_help"; then
  
-   case $host in
-     *cygwin* | *mingw* | *pw32*)
-       # don't eliminate duplications in $postdeps and $predeps
-       opt_duplicate_compiler_generated_deps=:
+   # Infer the operation mode.
+   if test -z "$mode"; then
+     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+     $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+     case $nonopt in
+     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+       mode=link
+       for arg
+       do
+ 	case $arg in
+ 	-c)
+ 	   mode=compile
+ 	   break
+ 	   ;;
+ 	esac
+       done
        ;;
-     *)
-       opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+     *db | *dbx | *strace | *truss)
+       mode=execute
        ;;
-   esac
- 
-   # Having warned about all mis-specified options, bail out if
-   # anything was wrong.
-   $exit_cmd $EXIT_FAILURE
- }
+     *install*|cp|mv)
+       mode=install
+       ;;
+     *rm)
+       mode=uninstall
+       ;;
+     *)
+       # If we have no mode, but dlfiles were specified, then do execute mode.
+       test -n "$execute_dlfiles" && mode=execute
  
- # func_check_version_match
- # Ensure that we are using m4 macros, and libtool script from the same
- # release of libtool.
- func_check_version_match ()
- {
-   if test "$package_revision" != "$macro_revision"; then
-     if test "$VERSION" != "$macro_version"; then
-       if test -z "$macro_version"; then
-         cat >&2 <<_LT_EOF
- $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
- $progname: definition of this LT_INIT comes from an older release.
- $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
- $progname: and run autoconf again.
- _LT_EOF
-       else
-         cat >&2 <<_LT_EOF
- $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
- $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
- $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
- $progname: and run autoconf again.
- _LT_EOF
+       # Just use the default operation mode.
+       if test -z "$mode"; then
+ 	if test -n "$nonopt"; then
+ 	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+ 	else
+ 	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+ 	fi
        fi
-     else
-       cat >&2 <<_LT_EOF
- $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
- $progname: but the definition of this LT_INIT comes from revision $macro_revision.
- $progname: You should recreate aclocal.m4 with macros from revision $package_revision
- $progname: of $PACKAGE $VERSION and run autoconf again.
- _LT_EOF
-     fi
- 
-     exit $EXIT_MISMATCH
-   fi
- }
- 
- 
- ## ----------- ##
- ##    Main.    ##
- ## ----------- ##
- 
- $opt_help || {
-   # Sanity checks first:
-   func_check_version_match
- 
-   if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-     func_fatal_configuration "not configured to build any kind of library"
+       ;;
+     esac
    fi
  
-   test -z "$mode" && func_fatal_error "error: you must specify a MODE."
- 
- 
-   # Darwin sucks
-   eval std_shrext=\"$shrext_cmds\"
- 
- 
    # Only execute mode is allowed to have -dlopen flags.
    if test -n "$execute_dlfiles" && test "$mode" != execute; then
-     func_error "unrecognized option \`-dlopen'"
-     $ECHO "$help" 1>&2
+     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+     $echo "$help" 1>&2
      exit $EXIT_FAILURE
    fi
  
    # Change the help message to a mode-specific one.
    generic_help="$help"
-   help="Try \`$progname --help --mode=$mode' for more information."
- }
- 
- 
- # func_lalib_p file
- # True iff FILE is a libtool `.la' library or `.lo' object file.
- # This function is only a basic sanity check; it will hardly flush out
- # determined imposters.
- func_lalib_p ()
- {
-     $SED -e 4q "$1" 2>/dev/null \
-       | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
- }
- 
- # func_lalib_unsafe_p file
- # True iff FILE is a libtool `.la' library or `.lo' object file.
- # This function implements the same check as func_lalib_p without
- # resorting to external programs.  To this end, it redirects stdin and
- # closes it afterwards, without saving the original file descriptor.
- # As a safety measure, use it only where a negative result would be
- # fatal anyway.  Works if `file' does not exist.
- func_lalib_unsafe_p ()
- {
-     lalib_p=no
-     if test -r "$1" && exec 5<&0 <"$1"; then
- 	for lalib_p_l in 1 2 3 4
- 	do
- 	    read lalib_p_line
- 	    case "$lalib_p_line" in
- 		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
- 	    esac
- 	done
- 	exec 0<&5 5<&-
-     fi
-     test "$lalib_p" = yes
- }
- 
- # func_ltwrapper_script_p file
- # True iff FILE is a libtool wrapper script
- # This function is only a basic sanity check; it will hardly flush out
- # determined imposters.
- func_ltwrapper_script_p ()
- {
-     func_lalib_p "$1"
- }
- 
- # func_ltwrapper_executable_p file
- # True iff FILE is a libtool wrapper executable
- # This function is only a basic sanity check; it will hardly flush out
- # determined imposters.
- func_ltwrapper_executable_p ()
- {
-     func_ltwrapper_exec_suffix=
-     case $1 in
-     *.exe) ;;
-     *) func_ltwrapper_exec_suffix=.exe ;;
-     esac
-     $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
- }
- 
- # func_ltwrapper_scriptname file
- # Assumes file is an ltwrapper_executable
- # uses $file to determine the appropriate filename for a
- # temporary ltwrapper_script.
- func_ltwrapper_scriptname ()
- {
-     func_ltwrapper_scriptname_result=""
-     if func_ltwrapper_executable_p "$1"; then
- 	func_dirname_and_basename "$1" "" "."
- 	func_stripname '' '.exe' "$func_basename_result"
- 	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-     fi
- }
- 
- # func_ltwrapper_p file
- # True iff FILE is a libtool wrapper script or wrapper executable
- # This function is only a basic sanity check; it will hardly flush out
- # determined imposters.
- func_ltwrapper_p ()
- {
-     func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
- }
- 
- 
- # func_execute_cmds commands fail_cmd
- # Execute tilde-delimited COMMANDS.
- # If FAIL_CMD is given, eval that upon failure.
- # FAIL_CMD may read-access the current command in variable CMD!
- func_execute_cmds ()
- {
-     $opt_debug
-     save_ifs=$IFS; IFS='~'
-     for cmd in $1; do
-       IFS=$save_ifs
-       eval cmd=\"$cmd\"
-       func_show_eval "$cmd" "${2-:}"
-     done
-     IFS=$save_ifs
- }
- 
- 
- # func_source file
- # Source FILE, adding directory component if necessary.
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)!  Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- func_source ()
- {
-     $opt_debug
-     case $1 in
-     */* | *\\*)	. "$1" ;;
-     *)		. "./$1" ;;
-     esac
- }
- 
- 
- # func_infer_tag arg
- # Infer tagged configuration to use if any are available and
- # if one wasn't chosen via the "--tag" command line option.
- # Only attempt this if the compiler in the base compile
- # command doesn't match the default compiler.
- # arg is usually of the form 'gcc ...'
- func_infer_tag ()
- {
-     $opt_debug
-     if test -n "$available_tags" && test -z "$tagname"; then
-       CC_quoted=
-       for arg in $CC; do
-         func_quote_for_eval "$arg"
- 	CC_quoted="$CC_quoted $func_quote_for_eval_result"
-       done
-       case $@ in
-       # Blanks in the command may have been stripped by the calling shell,
-       # but not from the CC environment variable when configure was run.
-       " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
-       # Blanks at the start of $base_compile will cause this to fail
-       # if we don't check for them as well.
-       *)
- 	for z in $available_tags; do
- 	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- 	    # Evaluate the configuration.
- 	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- 	    CC_quoted=
- 	    for arg in $CC; do
- 	      # Double-quote args containing other shell metacharacters.
- 	      func_quote_for_eval "$arg"
- 	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
- 	    done
- 	    case "$@ " in
- 	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
- 	      # The compiler in the base compile command matches
- 	      # the one in the tagged configuration.
- 	      # Assume this is the tagged configuration we want.
- 	      tagname=$z
- 	      break
- 	      ;;
- 	    esac
- 	  fi
- 	done
- 	# If $tagname still isn't set, then no tagged configuration
- 	# was found and let the user know that the "--tag" command
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  func_echo "unable to infer tagged configuration"
- 	  func_fatal_error "specify a tag with \`--tag'"
- #	else
- #	  func_verbose "using $tagname tagged configuration"
- 	fi
- 	;;
-       esac
-     fi
- }
- 
- 
- 
- # func_write_libtool_object output_name pic_name nonpic_name
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- func_write_libtool_object ()
- {
-     write_libobj=${1}
-     if test "$build_libtool_libs" = yes; then
-       write_lobj=\'${2}\'
-     else
-       write_lobj=none
-     fi
- 
-     if test "$build_old_libs" = yes; then
-       write_oldobj=\'${3}\'
-     else
-       write_oldobj=none
-     fi
- 
-     $opt_dry_run || {
-       cat >${write_libobj}T <<EOF
- # $write_libobj - a libtool object file
- # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
- #
- # Please DO NOT delete this file!
- # It is necessary for linking the library.
- 
- # Name of the PIC object.
- pic_object=$write_lobj
+   help="Try \`$modename --help --mode=$mode' for more information."
  
- # Name of the non-PIC object
- non_pic_object=$write_oldobj
- 
- EOF
-       $MV "${write_libobj}T" "${write_libobj}"
-     }
- }
- 
- # func_mode_compile arg...
- func_mode_compile ()
- {
-     $opt_debug
+   # These modes are in order of execution frequency so that they run quickly.
+   case $mode in
+   # libtool compile mode
+   compile)
+     modename="$modename: compile"
      # Get the compilation command and the source file.
      base_compile=
      srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
@@@ -1108,7 -664,6 +664,6 @@@
      arg_mode=normal
      libobj=
      later=
-     pie_flag=
  
      for arg
      do
@@@ -1129,18 -684,15 +684,15 @@@
  	# Accept any command-line options.
  	case $arg in
  	-o)
- 	  test -n "$libobj" && \
- 	    func_fatal_error "you cannot specify \`-o' more than once"
+ 	  if test -n "$libobj" ; then
+ 	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+ 	    exit $EXIT_FAILURE
+ 	  fi
  	  arg_mode=target
  	  continue
  	  ;;
  
- 	-pie | -fpie | -fPIE)
-           pie_flag="$pie_flag $arg"
- 	  continue
- 	  ;;
- 
- 	-shared | -static | -prefer-pic | -prefer-non-pic)
+ 	-static | -prefer-pic | -prefer-non-pic)
  	  later="$later $arg"
  	  continue
  	  ;;
@@@ -1156,25 -708,31 +708,31 @@@
  	  ;;            #  replaced later.  I would guess that would be a bug.
  
  	-Wc,*)
- 	  func_stripname '-Wc,' '' "$arg"
- 	  args=$func_stripname_result
+ 	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
  	  lastarg=
  	  save_ifs="$IFS"; IFS=','
- 	  for arg in $args; do
+  	  for arg in $args; do
  	    IFS="$save_ifs"
- 	    func_quote_for_eval "$arg"
- 	    lastarg="$lastarg $func_quote_for_eval_result"
+ 
+ 	    # Double-quote args containing other shell metacharacters.
+ 	    # Many Bourne shells cannot handle close brackets correctly
+ 	    # in scan sets, so we specify it separately.
+ 	    case $arg in
+ 	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	      arg="\"$arg\""
+ 	      ;;
+ 	    esac
+ 	    lastarg="$lastarg $arg"
  	  done
  	  IFS="$save_ifs"
- 	  func_stripname ' ' '' "$lastarg"
- 	  lastarg=$func_stripname_result
+ 	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
  
  	  # Add the arguments to base_compile.
  	  base_compile="$base_compile $lastarg"
  	  continue
  	  ;;
  
- 	*)
+ 	* )
  	  # Accept the current argument as the source file.
  	  # The previous "srcfile" becomes the current argument.
  	  #
@@@ -1186,42 -744,66 +744,66 @@@
        esac    #  case $arg_mode
  
        # Aesthetically quote the previous argument.
-       func_quote_for_eval "$lastarg"
-       base_compile="$base_compile $func_quote_for_eval_result"
+       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+ 
+       case $lastarg in
+       # Double-quote args containing other shell metacharacters.
+       # Many Bourne shells cannot handle close brackets correctly
+       # in scan sets, and some SunOS ksh mistreat backslash-escaping
+       # in scan sets (worked around with variable expansion),
+       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
+       # at all, so we specify them separately.
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	lastarg="\"$lastarg\""
+ 	;;
+       esac
+ 
+       base_compile="$base_compile $lastarg"
      done # for arg
  
      case $arg_mode in
      arg)
-       func_fatal_error "you must specify an argument for -Xcompile"
+       $echo "$modename: you must specify an argument for -Xcompile"
+       exit $EXIT_FAILURE
        ;;
      target)
-       func_fatal_error "you must specify a target with \`-o'"
+       $echo "$modename: you must specify a target with \`-o'" 1>&2
+       exit $EXIT_FAILURE
        ;;
      *)
        # Get the name of the library object.
-       test -z "$libobj" && {
- 	func_basename "$srcfile"
- 	libobj="$func_basename_result"
-       }
+       [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
        ;;
      esac
  
      # Recognize several different file suffixes.
      # If the user specifies -o file.o, it is replaced with file.lo
+     xform='[cCFSifmso]'
      case $libobj in
-     *.[cCFSifmso] | \
-     *.ada | *.adb | *.ads | *.asm | \
-     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-     *.[fF][09]? | *.for | *.java | *.obj | *.sx)
-       func_xform "$libobj"
-       libobj=$func_xform_result
-       ;;
+     *.ada) xform=ada ;;
+     *.adb) xform=adb ;;
+     *.ads) xform=ads ;;
+     *.asm) xform=asm ;;
+     *.c++) xform=c++ ;;
+     *.cc) xform=cc ;;
+     *.ii) xform=ii ;;
+     *.class) xform=class ;;
+     *.cpp) xform=cpp ;;
+     *.cxx) xform=cxx ;;
+     *.[fF][09]?) xform=[fF][09]. ;;
+     *.for) xform=for ;;
+     *.java) xform=java ;;
+     *.obj) xform=obj ;;
+     *.sx) xform=sx ;;
      esac
  
+     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+ 
      case $libobj in
-     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
      *)
-       func_fatal_error "cannot determine name of library object from \`$libobj'"
+       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+       exit $EXIT_FAILURE
        ;;
      esac
  
@@@ -1229,15 -811,7 +811,7 @@@
  
      for arg in $later; do
        case $arg in
-       -shared)
- 	test "$build_libtool_libs" != yes && \
- 	  func_fatal_configuration "can not build a shared library"
- 	build_old_libs=no
- 	continue
- 	;;
- 
        -static)
- 	build_libtool_libs=no
  	build_old_libs=yes
  	continue
  	;;
@@@ -1254,17 -828,28 +828,28 @@@
        esac
      done
  
-     func_quote_for_eval "$libobj"
-     test "X$libobj" != "X$func_quote_for_eval_result" \
-       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-       && func_warning "libobj name \`$libobj' may not contain shell special characters."
-     func_dirname_and_basename "$obj" "/" ""
-     objname="$func_basename_result"
-     xdir="$func_dirname_result"
+     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+     case $qlibobj in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	qlibobj="\"$qlibobj\"" ;;
+     esac
+     test "X$libobj" != "X$qlibobj" \
+ 	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
+ 	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+     if test "X$xdir" = "X$obj"; then
+       xdir=
+     else
+       xdir=$xdir/
+     fi
      lobj=${xdir}$objdir/$objname
  
-     test -z "$base_compile" && \
-       func_fatal_help "you must specify a compilation command"
+     if test -z "$base_compile"; then
+       $echo "$modename: you must specify a compilation command" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
  
      # Delete any leftover library objects.
      if test "$build_old_libs" = yes; then
@@@ -1273,6 -858,9 +858,9 @@@
        removelist="$lobj $libobj ${libobj}T"
      fi
  
+     $run $rm $removelist
+     trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+ 
      # On Cygwin there's no "real" PIC flag so we must build both object types
      case $host_os in
      cygwin* | mingw* | pw32* | os2*)
@@@ -1287,8 -875,10 +875,10 @@@
      # Calculate the filename of the output object if compiler does
      # not support -o with -c
      if test "$compiler_c_o" = no; then
-       output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
        lockfile="$output_obj.lock"
+       removelist="$removelist $output_obj $lockfile"
+       trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
      else
        output_obj=
        need_locks=no
@@@ -1298,13 -888,13 +888,13 @@@
      # Lock this critical section if it is needed
      # We use this script file to make the link, it avoids creating a new file
      if test "$need_locks" = yes; then
-       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
- 	func_echo "Waiting for $lockfile to be removed"
+       until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+ 	$show "Waiting for $lockfile to be removed"
  	sleep 2
        done
      elif test "$need_locks" = warn; then
        if test -f "$lockfile"; then
- 	$ECHO "\
+ 	$echo "\
  *** ERROR, $lockfile exists and contains:
  `cat $lockfile 2>/dev/null`
  
@@@ -1315,22 -905,34 +905,34 @@@ repeat this compilation, it may succeed
  avoid parallel builds (make -j) in this platform, or get a better
  compiler."
  
- 	$opt_dry_run || $RM $removelist
+ 	$run $rm $removelist
  	exit $EXIT_FAILURE
        fi
-       removelist="$removelist $output_obj"
-       $ECHO "$srcfile" > "$lockfile"
+       $echo "$srcfile" > "$lockfile"
      fi
  
      if test -n "$fix_srcfile_path"; then
        eval srcfile=\"$fix_srcfile_path\"
      fi
-     func_quote_for_eval "$srcfile"
-     qsrcfile=$func_quote_for_eval_result
+     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+     case $qsrcfile in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+       qsrcfile="\"$qsrcfile\"" ;;
+     esac
+ 
+     $run $rm "$libobj" "${libobj}T"
+ 
+     # Create a libtool object file (analogous to a ".la" file),
+     # but don't create it if we're doing a dry run.
+     test -z "$run" && cat > ${libobj}T <<EOF
+ # $libobj - a libtool object file
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+ #
+ # Please DO NOT delete this file!
+ # It is necessary for linking the library.
+ 
+ # Name of the PIC object.
+ EOF
  
      # Only build a PIC object if we are building libtool libraries.
      if test "$build_libtool_libs" = yes; then
@@@ -1344,19 -946,32 +946,32 @@@
  	command="$base_compile $qsrcfile"
        fi
  
-       func_mkdir_p "$xdir$objdir"
+       if test ! -d "${xdir}$objdir"; then
+ 	$show "$mkdir ${xdir}$objdir"
+ 	$run $mkdir ${xdir}$objdir
+ 	exit_status=$?
+ 	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+ 	  exit $exit_status
+ 	fi
+       fi
  
        if test -z "$output_obj"; then
  	# Place PIC objects in $objdir
  	command="$command -o $lobj"
        fi
  
-       func_show_eval_locale "$command"	\
-           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+       $run $rm "$lobj" "$output_obj"
+ 
+       $show "$command"
+       if $run eval $lt_env "$command"; then :
+       else
+ 	test -n "$output_obj" && $run $rm $removelist
+ 	exit $EXIT_FAILURE
+       fi
  
        if test "$need_locks" = warn &&
  	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- 	$ECHO "\
+ 	$echo "\
  *** ERROR, $lockfile contains:
  `cat $lockfile 2>/dev/null`
  
@@@ -1370,27 -985,45 +985,45 @@@ repeat this compilation, it may succeed
  avoid parallel builds (make -j) in this platform, or get a better
  compiler."
  
- 	$opt_dry_run || $RM $removelist
+ 	$run $rm $removelist
  	exit $EXIT_FAILURE
        fi
  
        # Just move the object if needed, then go on to compile the next one
        if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- 	func_show_eval '$MV "$output_obj" "$lobj"' \
- 	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ 	$show "$mv $output_obj $lobj"
+ 	if $run $mv $output_obj $lobj; then :
+ 	else
+ 	  error=$?
+ 	  $run $rm $removelist
+ 	  exit $error
+ 	fi
        fi
  
+       # Append the name of the PIC object to the libtool object file.
+       test -z "$run" && cat >> ${libobj}T <<EOF
+ pic_object='$objdir/$objname'
+ 
+ EOF
+ 
        # Allow error messages only from the first compilation.
        if test "$suppress_opt" = yes; then
- 	suppress_output=' >/dev/null 2>&1'
+         suppress_output=' >/dev/null 2>&1'
        fi
+     else
+       # No PIC object so indicate it doesn't exist in the libtool
+       # object file.
+       test -z "$run" && cat >> ${libobj}T <<EOF
+ pic_object=none
+ 
+ EOF
      fi
  
      # Only build a position-dependent object if we build old libraries.
      if test "$build_old_libs" = yes; then
        if test "$pic_mode" != yes; then
  	# Don't build PIC code
- 	command="$base_compile $qsrcfile$pie_flag"
+ 	command="$base_compile $qsrcfile"
        else
  	command="$base_compile $qsrcfile $pic_flag"
        fi
@@@ -1400,12 -1033,17 +1033,17 @@@
  
        # Suppress compiler output if we already did a PIC compilation.
        command="$command$suppress_output"
-       func_show_eval_locale "$command" \
-         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+       $run $rm "$obj" "$output_obj"
+       $show "$command"
+       if $run eval $lt_env "$command"; then :
+       else
+ 	$run $rm $removelist
+ 	exit $EXIT_FAILURE
+       fi
  
        if test "$need_locks" = warn &&
  	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- 	$ECHO "\
+ 	$echo "\
  *** ERROR, $lockfile contains:
  `cat $lockfile 2>/dev/null`
  
@@@ -1419,2101 -1057,51 +1057,51 @@@ repeat this compilation, it may succeed
  avoid parallel builds (make -j) in this platform, or get a better
  compiler."
  
- 	$opt_dry_run || $RM $removelist
+ 	$run $rm $removelist
  	exit $EXIT_FAILURE
        fi
  
        # Just move the object if needed
        if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- 	func_show_eval '$MV "$output_obj" "$obj"' \
- 	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-       fi
-     fi
- 
-     $opt_dry_run || {
-       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
- 
-       # Unlock the critical section if it was locked
-       if test "$need_locks" != no; then
- 	removelist=$lockfile
-         $RM "$lockfile"
-       fi
-     }
- 
-     exit $EXIT_SUCCESS
- }
- 
- $opt_help || {
- test "$mode" = compile && func_mode_compile ${1+"$@"}
- }
- 
- func_mode_help ()
- {
-     # We need to display help for each of the modes.
-     case $mode in
-       "")
-         # Generic help is extracted from the usage comments
-         # at the start of this file.
-         func_help
-         ;;
- 
-       clean)
-         $ECHO \
- "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
- 
- Remove files from the build directory.
- 
- RM is the name of the program to use to delete files associated with each FILE
- (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
- to RM.
- 
- If FILE is a libtool library, object or program, all the files associated
- with it are deleted. Otherwise, only FILE itself is deleted using RM."
-         ;;
- 
-       compile)
-       $ECHO \
- "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
- 
- Compile a source file into a libtool library object.
- 
- This mode accepts the following additional options:
- 
-   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-   -no-suppress      do not suppress compiler output for multiple passes
-   -prefer-pic       try to building PIC objects only
-   -prefer-non-pic   try to building non-PIC objects only
-   -shared           do not build a \`.o' file suitable for static linking
-   -static           only build a \`.o' file suitable for static linking
- 
- COMPILE-COMMAND is a command to be used in creating a \`standard' object file
- from the given SOURCEFILE.
- 
- The output file name is determined by removing the directory component from
- SOURCEFILE, then substituting the C source code suffix \`.c' with the
- library object suffix, \`.lo'."
-         ;;
- 
-       execute)
-         $ECHO \
- "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
- 
- Automatically set library path, then run a program.
- 
- This mode accepts the following additional options:
- 
-   -dlopen FILE      add the directory containing FILE to the library path
- 
- This mode sets the library path environment variable according to \`-dlopen'
- flags.
- 
- If any of the ARGS are libtool executable wrappers, then they are translated
- into their corresponding uninstalled binary, and any of their required library
- directories are added to the library path.
- 
- Then, COMMAND is executed, with ARGS as arguments."
-         ;;
- 
-       finish)
-         $ECHO \
- "Usage: $progname [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."
-         ;;
- 
-       install)
-         $ECHO \
- "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
- 
- Install executables or libraries.
- 
- INSTALL-COMMAND is the installation command.  The first component should be
- either the \`install' or \`cp' program.
- 
- The following components of INSTALL-COMMAND are treated specially:
- 
-   -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
- 
- The rest of the components are interpreted as arguments to that command (only
- BSD-compatible install options are recognized)."
-         ;;
- 
-       link)
-         $ECHO \
- "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
- 
- Link object files or libraries together to form another library, or to
- create an executable program.
- 
- LINK-COMMAND is a command using the C compiler that you would use to create
- 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
-   -avoid-version    do not add a version suffix if possible
-   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-   -export-symbols SYMFILE
-                     try to export only the symbols listed in SYMFILE
-   -export-symbols-regex REGEX
-                     try to export only the symbols matching REGEX
-   -LLIBDIR          search LIBDIR for required installed libraries
-   -lNAME            OUTPUT-FILE requires the installed library libNAME
-   -module           build a library that can dlopened
-   -no-fast-install  disable the fast-install mode
-   -no-install       link a not-installable executable
-   -no-undefined     declare that a library does not refer to external symbols
-   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-   -objectlist FILE  Use a list of object files found in FILE to specify objects
-   -precious-files-regex REGEX
-                     don't remove output files matching REGEX
-   -release RELEASE  specify package release information
-   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-   -shared           only do dynamic linking of libtool libraries
-   -shrext SUFFIX    override the standard shared library file extension
-   -static           do not do any dynamic linking of uninstalled libtool libraries
-   -static-libtool-libs
-                     do not do any dynamic linking of libtool libraries
-   -version-info CURRENT[:REVISION[:AGE]]
-                     specify library version info [each variable defaults to 0]
-   -weak LIBNAME     declare that the target provides the LIBNAME interface
- 
- All other options (arguments beginning with \`-') are ignored.
- 
- Every other argument is treated as a filename.  Files ending in \`.la' are
- treated as uninstalled libtool libraries, other files are standard or library
- object files.
- 
- If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
- only library objects (\`.lo' files) may be specified, and \`-rpath' is
- required, except when creating a convenience library.
- 
- If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
- using \`ar' and \`ranlib', or on Windows using \`lib'.
- 
- If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
- is created, otherwise an executable program is created."
-         ;;
- 
-       uninstall)
-         $ECHO \
- "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
- 
- Remove libraries from an installation directory.
- 
- RM is the name of the program to use to delete files associated with each FILE
- (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
- to RM.
- 
- If FILE is a libtool library, all the files associated with it are deleted.
- Otherwise, only FILE itself is deleted using RM."
-         ;;
- 
-       *)
-         func_fatal_help "invalid operation mode \`$mode'"
-         ;;
-     esac
- 
-     $ECHO
-     $ECHO "Try \`$progname --help' for more information about other modes."
- 
-     exit $?
- }
- 
-   # Now that we've collected a possible --mode arg, show help if necessary
-   $opt_help && func_mode_help
- 
- 
- # func_mode_execute arg...
- func_mode_execute ()
- {
-     $opt_debug
-     # The first argument is the command name.
-     cmd="$nonopt"
-     test -z "$cmd" && \
-       func_fatal_help "you must specify a COMMAND"
- 
-     # Handle -dlopen flags immediately.
-     for file in $execute_dlfiles; do
-       test -f "$file" \
- 	|| func_fatal_help "\`$file' is not a file"
- 
-       dir=
-       case $file in
-       *.la)
- 	# Check to see that this really is a libtool archive.
- 	func_lalib_unsafe_p "$file" \
- 	  || func_fatal_help "\`$lib' is not a valid libtool archive"
- 
- 	# Read the libtool library.
- 	dlname=
- 	library_names=
- 	func_source "$file"
- 
- 	# Skip this library if it cannot be dlopened.
- 	if test -z "$dlname"; then
- 	  # Warn if it was a shared library.
- 	  test -n "$library_names" && \
- 	    func_warning "\`$file' was not linked with \`-export-dynamic'"
- 	  continue
- 	fi
- 
- 	func_dirname "$file" "" "."
- 	dir="$func_dirname_result"
- 
- 	if test -f "$dir/$objdir/$dlname"; then
- 	  dir="$dir/$objdir"
+ 	$show "$mv $output_obj $obj"
+ 	if $run $mv $output_obj $obj; then :
  	else
- 	  if test ! -f "$dir/$dlname"; then
- 	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
- 	  fi
+ 	  error=$?
+ 	  $run $rm $removelist
+ 	  exit $error
  	fi
- 	;;
- 
-       *.lo)
- 	# Just add the directory containing the .lo file.
- 	func_dirname "$file" "" "."
- 	dir="$func_dirname_result"
- 	;;
- 
-       *)
- 	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
- 	continue
- 	;;
-       esac
- 
-       # Get the absolute pathname.
-       absdir=`cd "$dir" && pwd`
-       test -n "$absdir" && dir="$absdir"
- 
-       # Now add the directory to shlibpath_var.
-       if eval "test -z \"\$$shlibpath_var\""; then
- 	eval "$shlibpath_var=\"\$dir\""
-       else
- 	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-       fi
-     done
- 
-     # This variable tells wrapper scripts just to set shlibpath_var
-     # rather than running their programs.
-     libtool_execute_magic="$magic"
- 
-     # Check if any of the arguments is a wrapper script.
-     args=
-     for file
-     do
-       case $file in
-       -*) ;;
-       *)
- 	# Do a test to see if this is really a libtool program.
- 	if func_ltwrapper_script_p "$file"; then
- 	  func_source "$file"
- 	  # Transform arg to wrapped name.
- 	  file="$progdir/$program"
- 	elif func_ltwrapper_executable_p "$file"; then
- 	  func_ltwrapper_scriptname "$file"
- 	  func_source "$func_ltwrapper_scriptname_result"
- 	  # Transform arg to wrapped name.
- 	  file="$progdir/$program"
- 	fi
- 	;;
-       esac
-       # Quote arguments (to preserve shell metacharacters).
-       func_quote_for_eval "$file"
-       args="$args $func_quote_for_eval_result"
-     done
- 
-     if test "X$opt_dry_run" = Xfalse; then
-       if test -n "$shlibpath_var"; then
- 	# Export the shlibpath_var.
- 	eval "export $shlibpath_var"
        fi
  
-       # Restore saved environment variables
-       for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-       do
- 	eval "if test \"\${save_$lt_var+set}\" = set; then
-                 $lt_var=\$save_$lt_var; export $lt_var
- 	      else
- 		$lt_unset $lt_var
- 	      fi"
-       done
+       # Append the name of the non-PIC object the libtool object file.
+       # Only append if the libtool object file exists.
+       test -z "$run" && cat >> ${libobj}T <<EOF
+ # Name of the non-PIC object.
+ non_pic_object='$objname'
  
-       # Now prepare to actually exec the command.
-       exec_cmd="\$cmd$args"
+ EOF
      else
-       # Display what would be done.
-       if test -n "$shlibpath_var"; then
- 	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- 	$ECHO "export $shlibpath_var"
-       fi
-       $ECHO "$cmd$args"
-       exit $EXIT_SUCCESS
-     fi
- }
- 
- test "$mode" = execute && func_mode_execute ${1+"$@"}
- 
- 
- # func_mode_finish arg...
- func_mode_finish ()
- {
-     $opt_debug
-     libdirs="$nonopt"
-     admincmds=
+       # Append the name of the non-PIC object the libtool object file.
+       # Only append if the libtool object file exists.
+       test -z "$run" && cat >> ${libobj}T <<EOF
+ # Name of the non-PIC object.
+ non_pic_object=none
  
-     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-       for dir
-       do
- 	libdirs="$libdirs $dir"
-       done
- 
-       for libdir in $libdirs; do
- 	if test -n "$finish_cmds"; then
- 	  # Do each command in the finish commands.
- 	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
- '"$cmd"'"'
- 	fi
- 	if test -n "$finish_eval"; then
- 	  # Do the single finish_eval.
- 	  eval cmds=\"$finish_eval\"
- 	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
-        $cmds"
- 	fi
-       done
+ EOF
      fi
  
-     # Exit here if they wanted silent mode.
-     $opt_silent && exit $EXIT_SUCCESS
+     $run $mv "${libobj}T" "${libobj}"
  
-     $ECHO "X----------------------------------------------------------------------" | $Xsed
-     $ECHO "Libraries have been installed in:"
-     for libdir in $libdirs; do
-       $ECHO "   $libdir"
-     done
-     $ECHO
-     $ECHO "If you ever happen to want to link against installed libraries"
-     $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-     $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-     $ECHO "flag during linking and do at least one of the following:"
-     if test -n "$shlibpath_var"; then
-       $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-       $ECHO "     during execution"
+     # Unlock the critical section if it was locked
+     if test "$need_locks" != no; then
+       $run $rm "$lockfile"
      fi
-     if test -n "$runpath_var"; then
-       $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
-       $ECHO "     during linking"
-     fi
-     if test -n "$hardcode_libdir_flag_spec"; then
-       libdir=LIBDIR
-       eval flag=\"$hardcode_libdir_flag_spec\"
  
-       $ECHO "   - use the \`$flag' linker flag"
-     fi
-     if test -n "$admincmds"; then
-       $ECHO "   - have your system administrator run these commands:$admincmds"
-     fi
-     if test -f /etc/ld.so.conf; then
-       $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-     fi
-     $ECHO
- 
-     $ECHO "See any operating system documentation about shared libraries for"
-     case $host in
-       solaris2.[6789]|solaris2.1[0-9])
-         $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- 	$ECHO "pages."
- 	;;
-       *)
-         $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
-         ;;
-     esac
-     $ECHO "X----------------------------------------------------------------------" | $Xsed
      exit $EXIT_SUCCESS
- }
- 
- test "$mode" = finish && func_mode_finish ${1+"$@"}
- 
- 
- # func_mode_install arg...
- func_mode_install ()
- {
-     $opt_debug
-     # There may be an optional sh(1) argument at the beginning of
-     # install_prog (especially on Windows NT).
-     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-        # Allow the use of GNU shtool's install command.
-        $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
-       # Aesthetically quote it.
-       func_quote_for_eval "$nonopt"
-       install_prog="$func_quote_for_eval_result "
-       arg=$1
-       shift
-     else
-       install_prog=
-       arg=$nonopt
-     fi
- 
-     # The real first argument should be the name of the installation program.
-     # Aesthetically quote it.
-     func_quote_for_eval "$arg"
-     install_prog="$install_prog$func_quote_for_eval_result"
- 
-     # We need to accept at least all the BSD install flags.
-     dest=
-     files=
-     opts=
-     prev=
-     install_type=
-     isdir=no
-     stripme=
-     for arg
-     do
-       if test -n "$dest"; then
- 	files="$files $dest"
- 	dest=$arg
- 	continue
-       fi
- 
-       case $arg in
-       -d) isdir=yes ;;
-       -f)
- 	case " $install_prog " in
- 	*[\\\ /]cp\ *) ;;
- 	*) prev=$arg ;;
- 	esac
- 	;;
-       -g | -m | -o)
- 	prev=$arg
- 	;;
-       -s)
- 	stripme=" -s"
- 	continue
- 	;;
-       -*)
- 	;;
-       *)
- 	# If the previous option needed an argument, then skip it.
- 	if test -n "$prev"; then
- 	  prev=
- 	else
- 	  dest=$arg
- 	  continue
- 	fi
- 	;;
-       esac
- 
-       # Aesthetically quote the argument.
-       func_quote_for_eval "$arg"
-       install_prog="$install_prog $func_quote_for_eval_result"
-     done
- 
-     test -z "$install_prog" && \
-       func_fatal_help "you must specify an install program"
- 
-     test -n "$prev" && \
-       func_fatal_help "the \`$prev' option requires an argument"
- 
-     if test -z "$files"; then
-       if test -z "$dest"; then
- 	func_fatal_help "no file or destination specified"
-       else
- 	func_fatal_help "you must specify a destination"
-       fi
-     fi
- 
-     # Strip any trailing slash from the destination.
-     func_stripname '' '/' "$dest"
-     dest=$func_stripname_result
- 
-     # Check to see that the destination is a directory.
-     test -d "$dest" && isdir=yes
-     if test "$isdir" = yes; then
-       destdir="$dest"
-       destname=
-     else
-       func_dirname_and_basename "$dest" "" "."
-       destdir="$func_dirname_result"
-       destname="$func_basename_result"
- 
-       # Not a directory, so check to see that there is only one file specified.
-       set dummy $files; shift
-       test "$#" -gt 1 && \
- 	func_fatal_help "\`$dest' is not a directory"
-     fi
-     case $destdir in
-     [\\/]* | [A-Za-z]:[\\/]*) ;;
-     *)
-       for file in $files; do
- 	case $file in
- 	*.lo) ;;
- 	*)
- 	  func_fatal_help "\`$destdir' must be an absolute directory name"
- 	  ;;
- 	esac
-       done
-       ;;
-     esac
- 
-     # This variable tells wrapper scripts just to set variables rather
-     # than running their programs.
-     libtool_install_magic="$magic"
- 
-     staticlibs=
-     future_libdirs=
-     current_libdirs=
-     for file in $files; do
- 
-       # Do each installation.
-       case $file in
-       *.$libext)
- 	# Do the static libraries later.
- 	staticlibs="$staticlibs $file"
- 	;;
- 
-       *.la)
- 	# Check to see that this really is a libtool archive.
- 	func_lalib_unsafe_p "$file" \
- 	  || func_fatal_help "\`$file' is not a valid libtool archive"
- 
- 	library_names=
- 	old_library=
- 	relink_command=
- 	func_source "$file"
- 
- 	# Add the libdir to current_libdirs if it is the destination.
- 	if test "X$destdir" = "X$libdir"; then
- 	  case "$current_libdirs " in
- 	  *" $libdir "*) ;;
- 	  *) current_libdirs="$current_libdirs $libdir" ;;
- 	  esac
- 	else
- 	  # Note the libdir as a future libdir.
- 	  case "$future_libdirs " in
- 	  *" $libdir "*) ;;
- 	  *) future_libdirs="$future_libdirs $libdir" ;;
- 	  esac
- 	fi
- 
- 	func_dirname "$file" "/" ""
- 	dir="$func_dirname_result"
- 	dir="$dir$objdir"
- 
- 	if test -n "$relink_command"; then
- 	  # Determine the prefix the user has applied to our future dir.
- 	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
- 
- 	  # Don't allow the user to place us outside of our expected
- 	  # location b/c this prevents finding dependent libraries that
- 	  # are installed to the same prefix.
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
- 	  test "$inst_prefix_dir" = "$destdir" && \
- 	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
- 	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- 	  else
- 	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
- 	  fi
- 
- 	  func_warning "relinking \`$file'"
- 	  func_show_eval "$relink_command" \
- 	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
- 	fi
- 
- 	# See the names of the shared library.
- 	set dummy $library_names; shift
- 	if test -n "$1"; then
- 	  realname="$1"
- 	  shift
- 
- 	  srcname="$realname"
- 	  test -n "$relink_command" && srcname="$realname"T
- 
- 	  # Install the shared library and build the symlinks.
- 	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
- 	      'exit $?'
- 	  tstripme="$stripme"
- 	  case $host_os in
- 	  cygwin* | mingw* | pw32*)
- 	    case $realname in
- 	    *.dll.a)
- 	      tstripme=""
- 	      ;;
- 	    esac
- 	    ;;
- 	  esac
- 	  if test -n "$tstripme" && test -n "$striplib"; then
- 	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
- 	  fi
- 
- 	  if test "$#" -gt 0; then
- 	    # Delete the old symlinks, and create new ones.
- 	    # Try `ln -sf' first, because the `ln' binary might depend on
- 	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
- 	    # so we also need to try rm && ln -s.
- 	    for linkname
- 	    do
- 	      test "$linkname" != "$realname" \
- 		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
- 	    done
- 	  fi
- 
- 	  # Do each command in the postinstall commands.
- 	  lib="$destdir/$realname"
- 	  func_execute_cmds "$postinstall_cmds" 'exit $?'
- 	fi
- 
- 	# Install the pseudo-library for information purposes.
- 	func_basename "$file"
- 	name="$func_basename_result"
- 	instname="$dir/$name"i
- 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
- 
- 	# Maybe install the static library, too.
- 	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- 	;;
- 
-       *.lo)
- 	# Install (i.e. copy) a libtool object.
- 
- 	# Figure out destination file name, if it wasn't already specified.
- 	if test -n "$destname"; then
- 	  destfile="$destdir/$destname"
- 	else
- 	  func_basename "$file"
- 	  destfile="$func_basename_result"
- 	  destfile="$destdir/$destfile"
- 	fi
- 
- 	# Deduce the name of the destination old-style object file.
- 	case $destfile in
- 	*.lo)
- 	  func_lo2o "$destfile"
- 	  staticdest=$func_lo2o_result
- 	  ;;
- 	*.$objext)
- 	  staticdest="$destfile"
- 	  destfile=
- 	  ;;
- 	*)
- 	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
- 	  ;;
- 	esac
- 
- 	# Install the libtool object if requested.
- 	test -n "$destfile" && \
- 	  func_show_eval "$install_prog $file $destfile" 'exit $?'
- 
- 	# Install the old object if enabled.
- 	if test "$build_old_libs" = yes; then
- 	  # Deduce the name of the old-style object file.
- 	  func_lo2o "$file"
- 	  staticobj=$func_lo2o_result
- 	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
- 	fi
- 	exit $EXIT_SUCCESS
- 	;;
- 
-       *)
- 	# Figure out destination file name, if it wasn't already specified.
- 	if test -n "$destname"; then
- 	  destfile="$destdir/$destname"
- 	else
- 	  func_basename "$file"
- 	  destfile="$func_basename_result"
- 	  destfile="$destdir/$destfile"
- 	fi
- 
- 	# If the file is missing, and there is a .exe on the end, strip it
- 	# because it is most likely a libtool script we actually want to
- 	# install
- 	stripped_ext=""
- 	case $file in
- 	  *.exe)
- 	    if test ! -f "$file"; then
- 	      func_stripname '' '.exe' "$file"
- 	      file=$func_stripname_result
- 	      stripped_ext=".exe"
- 	    fi
- 	    ;;
- 	esac
- 
- 	# Do a test to see if this is really a libtool program.
- 	case $host in
- 	*cygwin*|*mingw*)
- 	    if func_ltwrapper_executable_p "$file"; then
- 	      func_ltwrapper_scriptname "$file"
- 	      wrapper=$func_ltwrapper_scriptname_result
- 	    else
- 	      func_stripname '' '.exe' "$file"
- 	      wrapper=$func_stripname_result
- 	    fi
- 	    ;;
- 	*)
- 	    wrapper=$file
- 	    ;;
- 	esac
- 	if func_ltwrapper_script_p "$wrapper"; then
- 	  notinst_deplibs=
- 	  relink_command=
- 
- 	  func_source "$wrapper"
- 
- 	  # Check the variables that should have been set.
- 	  test -z "$generated_by_libtool_version" && \
- 	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
- 
- 	  finalize=yes
- 	  for lib in $notinst_deplibs; do
- 	    # Check to see that each library is installed.
- 	    libdir=
- 	    if test -f "$lib"; then
- 	      func_source "$lib"
- 	    fi
- 	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- 	    if test -n "$libdir" && test ! -f "$libfile"; then
- 	      func_warning "\`$lib' has not been installed in \`$libdir'"
- 	      finalize=no
- 	    fi
- 	  done
- 
- 	  relink_command=
- 	  func_source "$wrapper"
- 
- 	  outputname=
- 	  if test "$fast_install" = no && test -n "$relink_command"; then
- 	    $opt_dry_run || {
- 	      if test "$finalize" = yes; then
- 	        tmpdir=`func_mktempdir`
- 		func_basename "$file$stripped_ext"
- 		file="$func_basename_result"
- 	        outputname="$tmpdir/$file"
- 	        # Replace the output file specification.
- 	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
- 
- 	        $opt_silent || {
- 	          func_quote_for_expand "$relink_command"
- 		  eval "func_echo $func_quote_for_expand_result"
- 	        }
- 	        if eval "$relink_command"; then :
- 	          else
- 		  func_error "error: relink \`$file' with the above command before installing it"
- 		  $opt_dry_run || ${RM}r "$tmpdir"
- 		  continue
- 	        fi
- 	        file="$outputname"
- 	      else
- 	        func_warning "cannot relink \`$file'"
- 	      fi
- 	    }
- 	  else
- 	    # Install the binary that we compiled earlier.
- 	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- 	  fi
- 	fi
- 
- 	# remove .exe since cygwin /usr/bin/install will append another
- 	# one anyway
- 	case $install_prog,$host in
- 	*/usr/bin/install*,*cygwin*)
- 	  case $file:$destfile in
- 	  *.exe:*.exe)
- 	    # this is ok
- 	    ;;
- 	  *.exe:*)
- 	    destfile=$destfile.exe
- 	    ;;
- 	  *:*.exe)
- 	    func_stripname '' '.exe' "$destfile"
- 	    destfile=$func_stripname_result
- 	    ;;
- 	  esac
- 	  ;;
- 	esac
- 	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
- 	$opt_dry_run || if test -n "$outputname"; then
- 	  ${RM}r "$tmpdir"
- 	fi
- 	;;
-       esac
-     done
- 
-     for file in $staticlibs; do
-       func_basename "$file"
-       name="$func_basename_result"
- 
-       # Set up the ranlib parameters.
-       oldlib="$destdir/$name"
- 
-       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
- 
-       if test -n "$stripme" && test -n "$old_striplib"; then
- 	func_show_eval "$old_striplib $oldlib" 'exit $?'
-       fi
- 
-       # Do each command in the postinstall commands.
-       func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-     done
- 
-     test -n "$future_libdirs" && \
-       func_warning "remember to run \`$progname --finish$future_libdirs'"
- 
-     if test -n "$current_libdirs"; then
-       # Maybe just do a dry run.
-       $opt_dry_run && current_libdirs=" -n$current_libdirs"
-       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-     else
-       exit $EXIT_SUCCESS
-     fi
- }
- 
- test "$mode" = install && func_mode_install ${1+"$@"}
- 
- 
- # func_generate_dlsyms outputname originator pic_p
- # Extract symbols from dlprefiles and create ${outputname}S.o with
- # a dlpreopen symbol table.
- func_generate_dlsyms ()
- {
-     $opt_debug
-     my_outputname="$1"
-     my_originator="$2"
-     my_pic_p="${3-no}"
-     my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-     my_dlsyms=
- 
-     if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       if test -n "$NM" && test -n "$global_symbol_pipe"; then
- 	my_dlsyms="${my_outputname}S.c"
-       else
- 	func_error "not configured to extract global symbols from dlpreopened files"
-       fi
-     fi
- 
-     if test -n "$my_dlsyms"; then
-       case $my_dlsyms in
-       "") ;;
-       *.c)
- 	# Discover the nlist of each of the dlfiles.
- 	nlist="$output_objdir/${my_outputname}.nm"
- 
- 	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
- 
- 	# Parse the name list into a source file.
- 	func_verbose "creating $output_objdir/$my_dlsyms"
- 
- 	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
- /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
- /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
- 
- #ifdef __cplusplus
- extern \"C\" {
- #endif
- 
- /* External symbol declarations for the compiler. */\
- "
- 
- 	if test "$dlself" = yes; then
- 	  func_verbose "generating symbol list for \`$output'"
- 
- 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
- 
- 	  # Add our own program objects to the symbol list.
- 	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- 	  for progfile in $progfiles; do
- 	    func_verbose "extracting global C symbols from \`$progfile'"
- 	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
- 	  done
- 
- 	  if test -n "$exclude_expsyms"; then
- 	    $opt_dry_run || {
- 	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- 	      eval '$MV "$nlist"T "$nlist"'
- 	    }
- 	  fi
- 
- 	  if test -n "$export_symbols_regex"; then
- 	    $opt_dry_run || {
- 	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- 	      eval '$MV "$nlist"T "$nlist"'
- 	    }
- 	  fi
- 
- 	  # Prepare the list of exported symbols
- 	  if test -z "$export_symbols"; then
- 	    export_symbols="$output_objdir/$outputname.exp"
- 	    $opt_dry_run || {
- 	      $RM $export_symbols
- 	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- 	      case $host in
- 	      *cygwin* | *mingw* )
-                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- 	        ;;
- 	      esac
- 	    }
- 	  else
- 	    $opt_dry_run || {
- 	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- 	      eval '$MV "$nlist"T "$nlist"'
- 	      case $host in
- 	        *cygwin | *mingw* )
- 	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- 	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- 	          ;;
- 	      esac
- 	    }
- 	  fi
- 	fi
- 
- 	for dlprefile in $dlprefiles; do
- 	  func_verbose "extracting global C symbols from \`$dlprefile'"
- 	  func_basename "$dlprefile"
- 	  name="$func_basename_result"
- 	  $opt_dry_run || {
- 	    eval '$ECHO ": $name " >> "$nlist"'
- 	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- 	  }
- 	done
- 
- 	$opt_dry_run || {
- 	  # Make sure we have at least an empty file.
- 	  test -f "$nlist" || : > "$nlist"
- 
- 	  if test -n "$exclude_expsyms"; then
- 	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- 	    $MV "$nlist"T "$nlist"
- 	  fi
- 
- 	  # Try sorting and uniquifying the output.
- 	  if $GREP -v "^: " < "$nlist" |
- 	      if sort -k 3 </dev/null >/dev/null 2>&1; then
- 		sort -k 3
- 	      else
- 		sort +2
- 	      fi |
- 	      uniq > "$nlist"S; then
- 	    :
- 	  else
- 	    $GREP -v "^: " < "$nlist" > "$nlist"S
- 	  fi
- 
- 	  if test -f "$nlist"S; then
- 	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
- 	  else
- 	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
- 	  fi
- 
- 	  $ECHO >> "$output_objdir/$my_dlsyms" "\
- 
- /* The mapping between symbol names and symbols.  */
- typedef struct {
-   const char *name;
-   void *address;
- } lt_dlsymlist;
- "
- 	  case $host in
- 	  *cygwin* | *mingw* )
- 	    $ECHO >> "$output_objdir/$my_dlsyms" "\
- /* DATA imports from DLLs on WIN32 con't be const, because
-    runtime relocations are performed -- see ld's documentation
-    on pseudo-relocs.  */"
- 	    lt_dlsym_const= ;;
- 	  *osf5*)
- 	    echo >> "$output_objdir/$my_dlsyms" "\
- /* This system does not cope well with relocations in const data */"
- 	    lt_dlsym_const= ;;
- 	  *)
- 	    lt_dlsym_const=const ;;
- 	  esac
- 
- 	  $ECHO >> "$output_objdir/$my_dlsyms" "\
- extern $lt_dlsym_const lt_dlsymlist
- lt_${my_prefix}_LTX_preloaded_symbols[];
- $lt_dlsym_const lt_dlsymlist
- lt_${my_prefix}_LTX_preloaded_symbols[] =
- {\
-   { \"$my_originator\", (void *) 0 },"
- 
- 	  case $need_lib_prefix in
- 	  no)
- 	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
- 	    ;;
- 	  *)
- 	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
- 	    ;;
- 	  esac
- 	  $ECHO >> "$output_objdir/$my_dlsyms" "\
-   {0, (void *) 0}
- };
- 
- /* This works around a problem in FreeBSD linker */
- #ifdef FREEBSD_WORKAROUND
- static const void *lt_preloaded_setup() {
-   return lt_${my_prefix}_LTX_preloaded_symbols;
- }
- #endif
- 
- #ifdef __cplusplus
- }
- #endif\
- "
- 	} # !$opt_dry_run
- 
- 	pic_flag_for_symtable=
- 	case "$compile_command " in
- 	*" -static "*) ;;
- 	*)
- 	  case $host in
- 	  # compiling the symbol table file with pic_flag works around
- 	  # a FreeBSD bug that causes programs to crash when -lm is
- 	  # linked before any other PIC object.  But we must not use
- 	  # pic_flag when linking with -static.  The problem exists in
- 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- 	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
- 	  *-*-hpux*)
- 	    pic_flag_for_symtable=" $pic_flag"  ;;
- 	  *)
- 	    if test "X$my_pic_p" != Xno; then
- 	      pic_flag_for_symtable=" $pic_flag"
- 	    fi
- 	    ;;
- 	  esac
- 	  ;;
- 	esac
- 	symtab_cflags=
- 	for arg in $LTCFLAGS; do
- 	  case $arg in
- 	  -pie | -fpie | -fPIE) ;;
- 	  *) symtab_cflags="$symtab_cflags $arg" ;;
- 	  esac
- 	done
- 
- 	# Now compile the dynamic symbol file.
- 	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
- 
- 	# Clean up the generated files.
- 	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
- 
- 	# Transform the symbol file into the correct name.
- 	symfileobj="$output_objdir/${my_outputname}S.$objext"
- 	case $host in
- 	*cygwin* | *mingw* )
- 	  if test -f "$output_objdir/$my_outputname.def"; then
- 	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- 	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- 	  else
- 	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- 	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- 	  fi
- 	  ;;
- 	*)
- 	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- 	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- 	  ;;
- 	esac
- 	;;
-       *)
- 	func_fatal_error "unknown suffix for \`$my_dlsyms'"
- 	;;
-       esac
-     else
-       # We keep going just in case the user didn't refer to
-       # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-       # really was required.
- 
-       # Nullify the symbol file.
-       compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-       finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-     fi
- }
- 
- # func_win32_libid arg
- # return the library type of file 'arg'
- #
- # Need a lot of goo to handle *both* DLLs and import libs
- # Has to be a shell function in order to 'eat' the argument
- # that is supplied when $file_magic_command is called.
- func_win32_libid ()
- {
-   $opt_debug
-   win32_libid_type="unknown"
-   win32_fileres=`file -L $1 2>/dev/null`
-   case $win32_fileres in
-   *ar\ archive\ import\ library*) # definitely import
-     win32_libid_type="x86 archive import"
-     ;;
-   *ar\ archive*) # could be an import, or static
-     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-        $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-       win32_nmres=`eval $NM -f posix -A $1 |
- 	$SED -n -e '
- 	    1,100{
- 		/ I /{
- 		    s,.*,import,
- 		    p
- 		    q
- 		}
- 	    }'`
-       case $win32_nmres in
-       import*)  win32_libid_type="x86 archive import";;
-       *)        win32_libid_type="x86 archive static";;
-       esac
-     fi
-     ;;
-   *DLL*)
-     win32_libid_type="x86 DLL"
      ;;
-   *executable*) # but shell scripts are "executable" too...
-     case $win32_fileres in
-     *MS\ Windows\ PE\ Intel*)
-       win32_libid_type="x86 DLL"
-       ;;
-     esac
-     ;;
-   esac
-   $ECHO "$win32_libid_type"
- }
- 
- 
- 
- # func_extract_an_archive dir oldlib
- func_extract_an_archive ()
- {
-     $opt_debug
-     f_ex_an_ar_dir="$1"; shift
-     f_ex_an_ar_oldlib="$1"
-     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
-     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-      :
-     else
-       func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-     fi
- }
- 
- 
- # func_extract_archives gentop oldlib ...
- func_extract_archives ()
- {
-     $opt_debug
-     my_gentop="$1"; shift
-     my_oldlibs=${1+"$@"}
-     my_oldobjs=""
-     my_xlib=""
-     my_xabs=""
-     my_xdir=""
- 
-     for my_xlib in $my_oldlibs; do
-       # Extract the objects.
-       case $my_xlib in
- 	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- 	*) my_xabs=`pwd`"/$my_xlib" ;;
-       esac
-       func_basename "$my_xlib"
-       my_xlib="$func_basename_result"
-       my_xlib_u=$my_xlib
-       while :; do
-         case " $extracted_archives " in
- 	*" $my_xlib_u "*)
- 	  func_arith $extracted_serial + 1
- 	  extracted_serial=$func_arith_result
- 	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
- 	*) break ;;
- 	esac
-       done
-       extracted_archives="$extracted_archives $my_xlib_u"
-       my_xdir="$my_gentop/$my_xlib_u"
- 
-       func_mkdir_p "$my_xdir"
- 
-       case $host in
-       *-darwin*)
- 	func_verbose "Extracting $my_xabs"
- 	# Do not bother doing anything if just a dry run
- 	$opt_dry_run || {
- 	  darwin_orig_dir=`pwd`
- 	  cd $my_xdir || exit $?
- 	  darwin_archive=$my_xabs
- 	  darwin_curdir=`pwd`
- 	  darwin_base_archive=`basename "$darwin_archive"`
- 	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
- 	  if test -n "$darwin_arches"; then
- 	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
- 	    darwin_arch=
- 	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- 	    for darwin_arch in  $darwin_arches ; do
- 	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- 	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- 	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- 	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- 	      cd "$darwin_curdir"
- 	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- 	    done # $darwin_arches
-             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
- 	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
- 	    darwin_file=
- 	    darwin_files=
- 	    for darwin_file in $darwin_filelist; do
- 	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- 	      $LIPO -create -output "$darwin_file" $darwin_files
- 	    done # $darwin_filelist
- 	    $RM -rf unfat-$$
- 	    cd "$darwin_orig_dir"
- 	  else
- 	    cd $darwin_orig_dir
- 	    func_extract_an_archive "$my_xdir" "$my_xabs"
- 	  fi # $darwin_arches
- 	} # !$opt_dry_run
- 	;;
-       *)
-         func_extract_an_archive "$my_xdir" "$my_xabs"
- 	;;
-       esac
-       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-     done
- 
-     func_extract_archives_result="$my_oldobjs"
- }
- 
- 
- 
- # func_emit_wrapper arg
- #
- # emit a libtool wrapper script on stdout
- # don't directly open a file because we may want to
- # incorporate the script contents within a cygwin/mingw
- # wrapper executable.  Must ONLY be called from within
- # func_mode_link because it depends on a number of variable
- # set therein.
- #
- # arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
- # variable will take.  If 'yes', then the emitted script
- # will assume that the directory in which it is stored is
- # the '.lib' directory.  This is a cygwin/mingw-specific
- # behavior.
- func_emit_wrapper ()
- {
- 	func_emit_wrapper_arg1=no
- 	if test -n "$1" ; then
- 	  func_emit_wrapper_arg1=$1
- 	fi
- 
- 	$ECHO "\
- #! $SHELL
- 
- # $output - temporary wrapper script for $objdir/$outputname
- # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
- #
- # The $output program cannot be directly executed until all the libtool
- # libraries that it depends on are installed.
- #
- # This wrapper script should never be moved out of the build directory.
- # 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 1s/^X//'
- sed_quote_subst='$sed_quote_subst'
- 
- # Be Bourne compatible
- if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
-   # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '\${1+\"\$@\"}'='\"\$@\"'
-   setopt NO_GLOB_SUBST
- else
-   case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
- fi
- BIN_SH=xpg4; export BIN_SH # for Tru64
- DUALCASE=1; export DUALCASE # for MKS sh
- 
- # The HP-UX ksh and POSIX shell print the target directory to stdout
- # if CDPATH is set.
- (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- 
- relink_command=\"$relink_command\"
- 
- # This environment variable determines our operation mode.
- if test \"\$libtool_install_magic\" = \"$magic\"; then
-   # install mode needs the following variables:
-   generated_by_libtool_version='$macro_version'
-   notinst_deplibs='$notinst_deplibs'
- else
-   # When we are sourced in execute mode, \$file and \$ECHO are already set.
-   if test \"\$libtool_execute_magic\" != \"$magic\"; then
-     ECHO=\"$qecho\"
-     file=\"\$0\"
-     # Make sure echo works.
-     if test \"X\$1\" = X--no-reexec; then
-       # Discard the --no-reexec flag, and continue.
-       shift
-     elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-       # Yippee, \$ECHO works!
-       :
-     else
-       # Restart under the correct shell, and then maybe \$ECHO will work.
-       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-     fi
-   fi\
- "
- 	$ECHO "\
- 
-   # Find the directory that this script lives in.
-   thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
- 
-   # Follow symbolic links until we get to the real thisdir.
-   file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-   while test -n \"\$file\"; do
-     destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
- 
-     # If there was a directory component, then change thisdir.
-     if test \"x\$destdir\" != \"x\$file\"; then
-       case \"\$destdir\" in
-       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-       *) thisdir=\"\$thisdir/\$destdir\" ;;
-       esac
-     fi
- 
-     file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-     file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-   done
- 
-   # Usually 'no', except on cygwin/mingw when embedded into
-   # the cwrapper.
-   WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-   if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-     # special case for '.'
-     if test \"\$thisdir\" = \".\"; then
-       thisdir=\`pwd\`
-     fi
-     # remove .libs from thisdir
-     case \"\$thisdir\" in
-     *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
-     $objdir )   thisdir=. ;;
-     esac
-   fi
- 
-   # Try to get the absolute directory name.
-   absdir=\`cd \"\$thisdir\" && pwd\`
-   test -n \"\$absdir\" && thisdir=\"\$absdir\"
- "
- 
- 	if test "$fast_install" = yes; then
- 	  $ECHO "\
-   program=lt-'$outputname'$exeext
-   progdir=\"\$thisdir/$objdir\"
- 
-   if test ! -f \"\$progdir/\$program\" ||
-      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
- 
-     file=\"\$\$-\$program\"
- 
-     if test ! -d \"\$progdir\"; then
-       $MKDIR \"\$progdir\"
-     else
-       $RM \"\$progdir/\$file\"
-     fi"
- 
- 	  $ECHO "\
- 
-     # relink executable if necessary
-     if test -n \"\$relink_command\"; then
-       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-       else
- 	$ECHO \"\$relink_command_output\" >&2
- 	$RM \"\$progdir/\$file\"
- 	exit 1
-       fi
-     fi
- 
-     $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-     { $RM \"\$progdir/\$program\";
-       $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-     $RM \"\$progdir/\$file\"
-   fi"
- 	else
- 	  $ECHO "\
-   program='$outputname'
-   progdir=\"\$thisdir/$objdir\"
- "
- 	fi
- 
- 	$ECHO "\
- 
-   if test -f \"\$progdir/\$program\"; then"
- 
- 	# Export our shlibpath_var if we have one.
- 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- 	  $ECHO "\
-     # Add our own library path to $shlibpath_var
-     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
- 
-     # Some systems cannot cope with colon-terminated $shlibpath_var
-     # The second colon is a workaround for a bug in BeOS R4 sed
-     $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
- 
-     export $shlibpath_var
- "
- 	fi
- 
- 	# fixup the dll searchpath if we need to.
- 	if test -n "$dllsearchpath"; then
- 	  $ECHO "\
-     # Add the dll search path components to the executable PATH
-     PATH=$dllsearchpath:\$PATH
- "
- 	fi
- 
- 	$ECHO "\
-     if test \"\$libtool_execute_magic\" != \"$magic\"; then
-       # Run the actual program with our arguments.
- "
- 	case $host in
- 	# Backslashes separate directories on plain windows
- 	*-*-mingw | *-*-os2*)
- 	  $ECHO "\
-       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
- "
- 	  ;;
- 
- 	*)
- 	  $ECHO "\
-       exec \"\$progdir/\$program\" \${1+\"\$@\"}
- "
- 	  ;;
- 	esac
- 	$ECHO "\
-       \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-       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
-     exit 1
-   fi
- fi\
- "
- }
- # end: func_emit_wrapper
- 
- # func_emit_cwrapperexe_src
- # emit the source code for a wrapper executable on stdout
- # Must ONLY be called from within func_mode_link because
- # it depends on a number of variable set therein.
- func_emit_cwrapperexe_src ()
- {
- 	cat <<EOF
- 
- /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-    Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
- 
-    The $output program cannot be directly executed until all the libtool
-    libraries that it depends on are installed.
- 
-    This wrapper executable should never be moved out of the build directory.
-    If it is, it will not operate correctly.
- 
-    Currently, it simply execs the wrapper *script* "$SHELL $output",
-    but could eventually absorb all of the scripts functionality and
-    exec $objdir/$outputname directly.
- */
- EOF
- 	    cat <<"EOF"
- #include <stdio.h>
- #include <stdlib.h>
- #ifdef _MSC_VER
- # include <direct.h>
- # include <process.h>
- # include <io.h>
- # define setmode _setmode
- #else
- # include <unistd.h>
- # include <stdint.h>
- # ifdef __CYGWIN__
- #  include <io.h>
- # endif
- #endif
- #include <malloc.h>
- #include <stdarg.h>
- #include <assert.h>
- #include <string.h>
- #include <ctype.h>
- #include <errno.h>
- #include <fcntl.h>
- #include <sys/stat.h>
- 
- #if defined(PATH_MAX)
- # define LT_PATHMAX PATH_MAX
- #elif defined(MAXPATHLEN)
- # define LT_PATHMAX MAXPATHLEN
- #else
- # define LT_PATHMAX 1024
- #endif
- 
- #ifndef S_IXOTH
- # define S_IXOTH 0
- #endif
- #ifndef S_IXGRP
- # define S_IXGRP 0
- #endif
- 
- #ifdef _MSC_VER
- # define S_IXUSR _S_IEXEC
- # define stat _stat
- # ifndef _INTPTR_T_DEFINED
- #  define intptr_t int
- # endif
- #endif
- 
- #ifndef DIR_SEPARATOR
- # define DIR_SEPARATOR '/'
- # define PATH_SEPARATOR ':'
- #endif
- 
- #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-   defined (__OS2__)
- # define HAVE_DOS_BASED_FILE_SYSTEM
- # define FOPEN_WB "wb"
- # ifndef DIR_SEPARATOR_2
- #  define DIR_SEPARATOR_2 '\\'
- # endif
- # ifndef PATH_SEPARATOR_2
- #  define PATH_SEPARATOR_2 ';'
- # endif
- #endif
- 
- #ifndef DIR_SEPARATOR_2
- # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
- #else /* DIR_SEPARATOR_2 */
- # define IS_DIR_SEPARATOR(ch) \
- 	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
- #endif /* DIR_SEPARATOR_2 */
- 
- #ifndef PATH_SEPARATOR_2
- # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
- #else /* PATH_SEPARATOR_2 */
- # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
- #endif /* PATH_SEPARATOR_2 */
- 
- #ifdef __CYGWIN__
- # define FOPEN_WB "wb"
- #endif
- 
- #ifndef FOPEN_WB
- # define FOPEN_WB "w"
- #endif
- #ifndef _O_BINARY
- # define _O_BINARY 0
- #endif
- 
- #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
- #define XFREE(stale) do { \
-   if (stale) { free ((void *) stale); stale = 0; } \
- } while (0)
- 
- #undef LTWRAPPER_DEBUGPRINTF
- #if defined DEBUGWRAPPER
- # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
- static void
- ltwrapper_debugprintf (const char *fmt, ...)
- {
-     va_list args;
-     va_start (args, fmt);
-     (void) vfprintf (stderr, fmt, args);
-     va_end (args);
- }
- #else
- # define LTWRAPPER_DEBUGPRINTF(args)
- #endif
- 
- const char *program_name = NULL;
- 
- void *xmalloc (size_t num);
- char *xstrdup (const char *string);
- const char *base_name (const char *name);
- char *find_executable (const char *wrapper);
- char *chase_symlinks (const char *pathspec);
- int make_executable (const char *path);
- int check_executable (const char *path);
- char *strendzap (char *str, const char *pat);
- void lt_fatal (const char *message, ...);
- 
- static const char *script_text =
- EOF
- 
- 	    func_emit_wrapper yes |
- 	        $SED -e 's/\([\\"]\)/\\\1/g' \
- 	             -e 's/^/  "/' -e 's/$/\\n"/'
- 	    echo ";"
- 
- 	    cat <<EOF
- const char * MAGIC_EXE = "$magic_exe";
- 
- int
- main (int argc, char *argv[])
- {
-   char **newargz;
-   char *tmp_pathspec;
-   char *actual_cwrapper_path;
-   char *shwrapper_name;
-   intptr_t rval = 127;
-   FILE *shwrapper;
- 
-   const char *dumpscript_opt = "--lt-dump-script";
-   int i;
- 
-   program_name = (char *) xstrdup (base_name (argv[0]));
-   LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
-   LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
- 
-   /* very simple arg parsing; don't want to rely on getopt */
-   for (i = 1; i < argc; i++)
-     {
-       if (strcmp (argv[i], dumpscript_opt) == 0)
- 	{
- EOF
- 	    case "$host" in
- 	      *mingw* | *cygwin* )
- 		# make stdout use "unix" line endings
- 		echo "          setmode(1,_O_BINARY);"
- 		;;
- 	      esac
- 
- 	    cat <<EOF
- 	  printf ("%s", script_text);
- 	  return 0;
- 	}
-     }
- 
-   newargz = XMALLOC (char *, argc + 2);
- EOF
- 
- 	    if test -n "$TARGETSHELL" ; then
- 	      # no path translation at all
- 	      lt_newargv0=$TARGETSHELL
- 	    else
- 	      case "$host" in
- 		*mingw* )
- 		  # awkward: cmd appends spaces to result
- 		  lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- 		  lt_newargv0=`( cmd //c echo $SHELL | $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo $SHELL`
- 		  case $lt_newargv0 in
- 		    *.exe | *.EXE) ;;
- 		    *) lt_newargv0=$lt_newargv0.exe ;;
- 		  esac
- 		  ;;
- 		* ) lt_newargv0=$SHELL ;;
- 	      esac
- 	    fi
- 
- 		cat <<EOF
-   newargz[0] = (char *) xstrdup ("$lt_newargv0");
- EOF
- 
- 	    cat <<"EOF"
-   tmp_pathspec = find_executable (argv[0]);
-   if (tmp_pathspec == NULL)
-     lt_fatal ("Couldn't find %s", argv[0]);
-   LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
- 			  tmp_pathspec));
- 
-   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-   LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
- 			  actual_cwrapper_path));
-   XFREE (tmp_pathspec);
- 
-   shwrapper_name = (char *) xstrdup (base_name (actual_cwrapper_path));
-   strendzap (actual_cwrapper_path, shwrapper_name);
- 
-   /* shwrapper_name transforms */
-   strendzap (shwrapper_name, ".exe");
-   tmp_pathspec = XMALLOC (char, (strlen (shwrapper_name) +
- 				 strlen ("_ltshwrapperTMP") + 1));
-   strcpy (tmp_pathspec, shwrapper_name);
-   strcat (tmp_pathspec, "_ltshwrapperTMP");
-   XFREE (shwrapper_name);
-   shwrapper_name = tmp_pathspec;
-   tmp_pathspec = 0;
-   LTWRAPPER_DEBUGPRINTF (("(main) libtool shell wrapper name: %s\n",
- 			  shwrapper_name));
- EOF
- 
- 	    cat <<EOF
-   newargz[1] =
-     XMALLOC (char, (strlen (actual_cwrapper_path) +
- 		    strlen ("$objdir") + 1 + strlen (shwrapper_name) + 1));
-   strcpy (newargz[1], actual_cwrapper_path);
-   strcat (newargz[1], "$objdir");
-   strcat (newargz[1], "/");
-   strcat (newargz[1], shwrapper_name);
- EOF
- 
- 
- 	    case $host_os in
- 	      mingw*)
- 	    cat <<"EOF"
-   {
-     char* p;
-     while ((p = strchr (newargz[1], '\\')) != NULL)
-       {
- 	*p = '/';
-       }
-   }
- EOF
- 	    ;;
- 	    esac
- 
- 	    cat <<"EOF"
-   XFREE (shwrapper_name);
-   XFREE (actual_cwrapper_path);
- 
-   /* always write in binary mode */
-   if ((shwrapper = fopen (newargz[1], FOPEN_WB)) == 0)
-     {
-       lt_fatal ("Could not open %s for writing", newargz[1]);
-     }
-   fprintf (shwrapper, "%s", script_text);
-   fclose (shwrapper);
- 
-   make_executable (newargz[1]);
- 
-   for (i = 1; i < argc; i++)
-     newargz[i + 1] = xstrdup (argv[i]);
-   newargz[argc + 1] = NULL;
- 
-   for (i = 0; i < argc + 1; i++)
-     {
-       LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, newargz[i]));
-     }
  
- EOF
- 
- 	    case $host_os in
- 	      mingw*)
- 		cat <<EOF
-   /* execv doesn't actually work on mingw as expected on unix */
-   rval = _spawnv (_P_WAIT, "$lt_newargv0", (const char * const *) newargz);
-   if (rval == -1)
-     {
-       /* failed to start process */
-       LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"$lt_newargv0\": errno = %d\n", errno));
-       return 127;
-     }
-   return rval;
- }
- EOF
- 		;;
- 	      *)
- 		cat <<EOF
-   execv ("$lt_newargv0", newargz);
-   return rval; /* =127, but avoids unused variable warning */
- }
- EOF
- 		;;
- 	    esac
- 
- 	    cat <<"EOF"
- 
- void *
- xmalloc (size_t num)
- {
-   void *p = (void *) malloc (num);
-   if (!p)
-     lt_fatal ("Memory exhausted");
- 
-   return p;
- }
- 
- char *
- xstrdup (const char *string)
- {
-   return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
- 			  string) : NULL;
- }
- 
- const char *
- base_name (const char *name)
- {
-   const char *base;
- 
- #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-   /* Skip over the disk name in MSDOS pathnames. */
-   if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-     name += 2;
- #endif
- 
-   for (base = name; *name; name++)
-     if (IS_DIR_SEPARATOR (*name))
-       base = name + 1;
-   return base;
- }
- 
- int
- check_executable (const char *path)
- {
-   struct stat st;
- 
-   LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
- 			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-   if ((!path) || (!*path))
-     return 0;
- 
-   if ((stat (path, &st) >= 0)
-       && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-     return 1;
-   else
-     return 0;
- }
- 
- int
- make_executable (const char *path)
- {
-   int rval = 0;
-   struct stat st;
- 
-   LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
- 			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-   if ((!path) || (!*path))
-     return 0;
- 
-   if (stat (path, &st) >= 0)
-     {
-       rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-     }
-   return rval;
- }
- 
- /* Searches for the full path of the wrapper.  Returns
-    newly allocated full path name if found, NULL otherwise
-    Does not chase symlinks, even on platforms that support them.
- */
- char *
- find_executable (const char *wrapper)
- {
-   int has_slash = 0;
-   const char *p;
-   const char *p_next;
-   /* static buffer for getcwd */
-   char tmp[LT_PATHMAX + 1];
-   int tmp_len;
-   char *concat_name;
- 
-   LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
- 			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
- 
-   if ((wrapper == NULL) || (*wrapper == '\0'))
-     return NULL;
- 
-   /* Absolute path? */
- #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-   if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-     {
-       concat_name = xstrdup (wrapper);
-       if (check_executable (concat_name))
- 	return concat_name;
-       XFREE (concat_name);
-     }
-   else
-     {
- #endif
-       if (IS_DIR_SEPARATOR (wrapper[0]))
- 	{
- 	  concat_name = xstrdup (wrapper);
- 	  if (check_executable (concat_name))
- 	    return concat_name;
- 	  XFREE (concat_name);
- 	}
- #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-     }
- #endif
- 
-   for (p = wrapper; *p; p++)
-     if (*p == '/')
-       {
- 	has_slash = 1;
- 	break;
-       }
-   if (!has_slash)
-     {
-       /* no slashes; search PATH */
-       const char *path = getenv ("PATH");
-       if (path != NULL)
- 	{
- 	  for (p = path; *p; p = p_next)
- 	    {
- 	      const char *q;
- 	      size_t p_len;
- 	      for (q = p; *q; q++)
- 		if (IS_PATH_SEPARATOR (*q))
- 		  break;
- 	      p_len = q - p;
- 	      p_next = (*q == '\0' ? q : q + 1);
- 	      if (p_len == 0)
- 		{
- 		  /* empty path: current directory */
- 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
- 		    lt_fatal ("getcwd failed");
- 		  tmp_len = strlen (tmp);
- 		  concat_name =
- 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- 		  memcpy (concat_name, tmp, tmp_len);
- 		  concat_name[tmp_len] = '/';
- 		  strcpy (concat_name + tmp_len + 1, wrapper);
- 		}
- 	      else
- 		{
- 		  concat_name =
- 		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
- 		  memcpy (concat_name, p, p_len);
- 		  concat_name[p_len] = '/';
- 		  strcpy (concat_name + p_len + 1, wrapper);
- 		}
- 	      if (check_executable (concat_name))
- 		return concat_name;
- 	      XFREE (concat_name);
- 	    }
- 	}
-       /* not found in PATH; assume curdir */
-     }
-   /* Relative path | not found in path: prepend cwd */
-   if (getcwd (tmp, LT_PATHMAX) == NULL)
-     lt_fatal ("getcwd failed");
-   tmp_len = strlen (tmp);
-   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-   memcpy (concat_name, tmp, tmp_len);
-   concat_name[tmp_len] = '/';
-   strcpy (concat_name + tmp_len + 1, wrapper);
- 
-   if (check_executable (concat_name))
-     return concat_name;
-   XFREE (concat_name);
-   return NULL;
- }
- 
- char *
- chase_symlinks (const char *pathspec)
- {
- #ifndef S_ISLNK
-   return xstrdup (pathspec);
- #else
-   char buf[LT_PATHMAX];
-   struct stat s;
-   char *tmp_pathspec = xstrdup (pathspec);
-   char *p;
-   int has_symlinks = 0;
-   while (strlen (tmp_pathspec) && !has_symlinks)
-     {
-       LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
- 			      tmp_pathspec));
-       if (lstat (tmp_pathspec, &s) == 0)
- 	{
- 	  if (S_ISLNK (s.st_mode) != 0)
- 	    {
- 	      has_symlinks = 1;
- 	      break;
- 	    }
- 
- 	  /* search backwards for last DIR_SEPARATOR */
- 	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
- 	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- 	    p--;
- 	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- 	    {
- 	      /* no more DIR_SEPARATORS left */
- 	      break;
- 	    }
- 	  *p = '\0';
- 	}
-       else
- 	{
- 	  char *errstr = strerror (errno);
- 	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
- 	}
-     }
-   XFREE (tmp_pathspec);
- 
-   if (!has_symlinks)
-     {
-       return xstrdup (pathspec);
-     }
- 
-   tmp_pathspec = realpath (pathspec, buf);
-   if (tmp_pathspec == 0)
-     {
-       lt_fatal ("Could not follow symlinks for %s", pathspec);
-     }
-   return xstrdup (tmp_pathspec);
- #endif
- }
- 
- char *
- strendzap (char *str, const char *pat)
- {
-   size_t len, patlen;
- 
-   assert (str != NULL);
-   assert (pat != NULL);
- 
-   len = strlen (str);
-   patlen = strlen (pat);
- 
-   if (patlen <= len)
-     {
-       str += len - patlen;
-       if (strcmp (str, pat) == 0)
- 	*str = '\0';
-     }
-   return str;
- }
- 
- static void
- lt_error_core (int exit_status, const char *mode,
- 	       const char *message, va_list ap)
- {
-   fprintf (stderr, "%s: %s: ", program_name, mode);
-   vfprintf (stderr, message, ap);
-   fprintf (stderr, ".\n");
- 
-   if (exit_status >= 0)
-     exit (exit_status);
- }
- 
- void
- lt_fatal (const char *message, ...)
- {
-   va_list ap;
-   va_start (ap, message);
-   lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-   va_end (ap);
- }
- EOF
- }
- # end: func_emit_cwrapperexe_src
- 
- # func_mode_link arg...
- func_mode_link ()
- {
-     $opt_debug
+   # libtool link mode
+   link | relink)
+     modename="$modename: link"
      case $host in
      *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
        # It is impossible to link a dll without this setting, and
@@@ -3533,10 -1121,10 +1121,10 @@@
        allow_undefined=yes
        ;;
      esac
-     libtool_args=$nonopt
+     libtool_args="$nonopt"
      base_compile="$nonopt $@"
-     compile_command=$nonopt
-     finalize_command=$nonopt
+     compile_command="$nonopt"
+     finalize_command="$nonopt"
  
      compile_rpath=
      finalize_rpath=
@@@ -3551,7 -1139,6 +1139,6 @@@
      dllsearchpath=
      lib_search_path=`pwd`
      inst_prefix_dir=
-     new_inherited_linker_flags=
  
      avoid_version=no
      dlfiles=
@@@ -3567,6 -1154,7 +1154,7 @@@
      no_install=no
      objs=
      non_pic_objects=
+     notinst_path= # paths that contain not-installed libtool libraries
      precious_files_regex=
      prefer_static_libs=no
      preload=no
@@@ -3580,25 -1168,19 +1168,19 @@@
      thread_safe=no
      vinfo=
      vinfo_number=no
-     weak_libs=
      single_module="${wl}-single_module"
+ 
      func_infer_tag $base_compile
  
      # We need to know -static, to get the right output filenames.
      for arg
      do
        case $arg in
-       -shared)
- 	test "$build_libtool_libs" != yes && \
- 	  func_fatal_configuration "can not build a shared library"
- 	build_old_libs=no
- 	break
- 	;;
        -all-static | -static | -static-libtool-libs)
  	case $arg in
  	-all-static)
  	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- 	    func_warning "complete static linking is impossible in this configuration"
+ 	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
  	  fi
  	  if test -n "$link_static_flag"; then
  	    dlopen_self=$dlopen_self_static
@@@ -3632,16 -1214,20 +1214,20 @@@
      while test "$#" -gt 0; do
        arg="$1"
        shift
-       func_quote_for_eval "$arg"
-       qarg=$func_quote_for_eval_unquoted_result
-       func_append libtool_args " $func_quote_for_eval_result"
+       case $arg in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+ 	;;
+       *) qarg=$arg ;;
+       esac
+       libtool_args="$libtool_args $qarg"
  
        # If the previous option needs an argument, assign it.
        if test -n "$prev"; then
  	case $prev in
  	output)
- 	  func_append compile_command " @OUTPUT@"
- 	  func_append finalize_command " @OUTPUT@"
+ 	  compile_command="$compile_command @OUTPUT@"
+ 	  finalize_command="$finalize_command @OUTPUT@"
  	  ;;
  	esac
  
@@@ -3649,8 -1235,8 +1235,8 @@@
  	dlfiles|dlprefiles)
  	  if test "$preload" = no; then
  	    # Add the symbol object into the linking commands.
- 	    func_append compile_command " @SYMFILE@"
- 	    func_append finalize_command " @SYMFILE@"
+ 	    compile_command="$compile_command @SYMFILE@"
+ 	    finalize_command="$finalize_command @SYMFILE@"
  	    preload=yes
  	  fi
  	  case $arg in
@@@ -3688,8 -1274,10 +1274,10 @@@
  	  ;;
  	expsyms)
  	  export_symbols="$arg"
- 	  test -f "$arg" \
- 	    || func_fatal_error "symbol file \`$arg' does not exist"
+ 	  if test ! -f "$arg"; then
+ 	    $echo "$modename: symbol file \`$arg' does not exist"
+ 	    exit $EXIT_FAILURE
+ 	  fi
  	  prev=
  	  continue
  	  ;;
@@@ -3698,21 -1286,18 +1286,18 @@@
  	  prev=
  	  continue
  	  ;;
- 	framework)
- 	  case $host in
- 	    *-*-darwin*)
- 	      case "$deplibs " in
- 		*" $qarg.ltframework "*) ;;
- 		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
- 		   ;;
- 	      esac
- 	      ;;
- 	  esac
+ 	inst_prefix)
+ 	  inst_prefix_dir="$arg"
  	  prev=
  	  continue
  	  ;;
- 	inst_prefix)
- 	  inst_prefix_dir="$arg"
+ 	precious_regex)
+ 	  precious_files_regex="$arg"
+ 	  prev=
+ 	  continue
+ 	  ;;
+ 	release)
+ 	  release="-$arg"
  	  prev=
  	  continue
  	  ;;
@@@ -3720,30 -1305,39 +1305,39 @@@
  	  if test -f "$arg"; then
  	    save_arg=$arg
  	    moreargs=
- 	    for fil in `cat "$save_arg"`
+ 	    for fil in `cat $save_arg`
  	    do
  #	      moreargs="$moreargs $fil"
  	      arg=$fil
  	      # A libtool-controlled object.
  
  	      # Check to see that this really is a libtool object.
- 	      if func_lalib_unsafe_p "$arg"; then
+ 	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  		pic_object=
  		non_pic_object=
  
  		# Read the .lo file
- 		func_source "$arg"
+ 		# If there is no directory component, then add one.
+ 		case $arg in
+ 		*/* | *\\*) . $arg ;;
+ 		*) . ./$arg ;;
+ 		esac
  
- 		if test -z "$pic_object" ||
+ 		if test -z "$pic_object" || \
  		   test -z "$non_pic_object" ||
- 		   test "$pic_object" = none &&
+ 		   test "$pic_object" = none && \
  		   test "$non_pic_object" = none; then
- 		  func_fatal_error "cannot find name of object for \`$arg'"
+ 		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+ 		  exit $EXIT_FAILURE
  		fi
  
  		# Extract subdirectory from the argument.
- 		func_dirname "$arg" "/" ""
- 		xdir="$func_dirname_result"
+ 		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ 		if test "X$xdir" = "X$arg"; then
+ 		  xdir=
+ 		else
+ 		  xdir="$xdir/"
+ 		fi
  
  		if test "$pic_object" != none; then
  		  # Prepend the subdirectory the object is found in.
@@@ -3768,7 -1362,7 +1362,7 @@@
  		  fi
  
  		  # A PIC object.
- 		  func_append libobjs " $pic_object"
+ 		  libobjs="$libobjs $pic_object"
  		  arg="$pic_object"
  		fi
  
@@@ -3778,7 -1372,7 +1372,7 @@@
  		  non_pic_object="$xdir$non_pic_object"
  
  		  # A standard non-PIC object
- 		  func_append non_pic_objects " $non_pic_object"
+ 		  non_pic_objects="$non_pic_objects $non_pic_object"
  		  if test -z "$pic_object" || test "$pic_object" = none ; then
  		    arg="$non_pic_object"
  		  fi
@@@ -3786,48 -1380,46 +1380,46 @@@
  		  # If the PIC object exists, use it instead.
  		  # $xdir was prepended to $pic_object above.
  		  non_pic_object="$pic_object"
- 		  func_append non_pic_objects " $non_pic_object"
+ 		  non_pic_objects="$non_pic_objects $non_pic_object"
  		fi
  	      else
  		# Only an error if not doing a dry-run.
- 		if $opt_dry_run; then
+ 		if test -z "$run"; then
+ 		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+ 		  exit $EXIT_FAILURE
+ 		else
+ 		  # Dry-run case.
+ 
  		  # Extract subdirectory from the argument.
- 		  func_dirname "$arg" "/" ""
- 		  xdir="$func_dirname_result"
- 
- 		  func_lo2o "$arg"
- 		  pic_object=$xdir$objdir/$func_lo2o_result
- 		  non_pic_object=$xdir$func_lo2o_result
- 		  func_append libobjs " $pic_object"
- 		  func_append non_pic_objects " $non_pic_object"
- 	        else
- 		  func_fatal_error "\`$arg' is not a valid libtool object"
+ 		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ 		  if test "X$xdir" = "X$arg"; then
+ 		    xdir=
+ 		  else
+ 		    xdir="$xdir/"
+ 		  fi
+ 
+ 		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+ 		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+ 		  libobjs="$libobjs $pic_object"
+ 		  non_pic_objects="$non_pic_objects $non_pic_object"
  		fi
  	      fi
  	    done
  	  else
- 	    func_fatal_error "link input file \`$arg' does not exist"
+ 	    $echo "$modename: link input file \`$save_arg' does not exist"
+ 	    exit $EXIT_FAILURE
  	  fi
  	  arg=$save_arg
  	  prev=
  	  continue
  	  ;;
- 	precious_regex)
- 	  precious_files_regex="$arg"
- 	  prev=
- 	  continue
- 	  ;;
- 	release)
- 	  release="-$arg"
- 	  prev=
- 	  continue
- 	  ;;
  	rpath | xrpath)
  	  # We need an absolute path.
  	  case $arg in
  	  [\\/]* | [A-Za-z]:[\\/]*) ;;
  	  *)
- 	    func_fatal_error "only absolute run-paths are allowed"
+ 	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+ 	    exit $EXIT_FAILURE
  	    ;;
  	  esac
  	  if test "$prev" = rpath; then
@@@ -3844,37 -1436,39 +1436,39 @@@
  	  prev=
  	  continue
  	  ;;
- 	shrext)
- 	  shrext_cmds="$arg"
+ 	xcompiler)
+ 	  compiler_flags="$compiler_flags $qarg"
  	  prev=
+ 	  compile_command="$compile_command $qarg"
+ 	  finalize_command="$finalize_command $qarg"
  	  continue
  	  ;;
- 	weak)
- 	  weak_libs="$weak_libs $arg"
+ 	xlinker)
+ 	  linker_flags="$linker_flags $qarg"
+ 	  compiler_flags="$compiler_flags $wl$qarg"
  	  prev=
+ 	  compile_command="$compile_command $wl$qarg"
+ 	  finalize_command="$finalize_command $wl$qarg"
  	  continue
  	  ;;
  	xcclinker)
  	  linker_flags="$linker_flags $qarg"
  	  compiler_flags="$compiler_flags $qarg"
  	  prev=
- 	  func_append compile_command " $qarg"
- 	  func_append finalize_command " $qarg"
+ 	  compile_command="$compile_command $qarg"
+ 	  finalize_command="$finalize_command $qarg"
  	  continue
  	  ;;
- 	xcompiler)
- 	  compiler_flags="$compiler_flags $qarg"
+ 	shrext)
+   	  shrext_cmds="$arg"
  	  prev=
- 	  func_append compile_command " $qarg"
- 	  func_append finalize_command " $qarg"
  	  continue
  	  ;;
- 	xlinker)
- 	  linker_flags="$linker_flags $qarg"
- 	  compiler_flags="$compiler_flags $wl$qarg"
+ 	darwin_framework|darwin_framework_skip)
+ 	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+ 	  compile_command="$compile_command $arg"
+ 	  finalize_command="$finalize_command $arg"
  	  prev=
- 	  func_append compile_command " $wl$qarg"
- 	  func_append finalize_command " $wl$qarg"
  	  continue
  	  ;;
  	*)
@@@ -3890,16 -1484,16 +1484,16 @@@
        case $arg in
        -all-static)
  	if test -n "$link_static_flag"; then
- 	  # See comment for -static flag below, for more details.
- 	  func_append compile_command " $link_static_flag"
- 	  func_append finalize_command " $link_static_flag"
+ 	  compile_command="$compile_command $link_static_flag"
+ 	  finalize_command="$finalize_command $link_static_flag"
  	fi
  	continue
  	;;
  
        -allow-undefined)
  	# FIXME: remove this flag sometime in the future.
- 	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ 	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+ 	continue
  	;;
  
        -avoid-version)
@@@ -3924,7 -1518,8 +1518,8 @@@
  
        -export-symbols | -export-symbols-regex)
  	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- 	  func_fatal_error "more than one -exported-symbols argument is not allowed"
+ 	  $echo "$modename: more than one -exported-symbols argument is not allowed"
+ 	  exit $EXIT_FAILURE
  	fi
  	if test "X$arg" = "X-export-symbols"; then
  	  prev=expsyms
@@@ -3934,8 -1529,15 +1529,15 @@@
  	continue
  	;;
  
-       -framework)
- 	prev=framework
+       -framework|-arch|-isysroot)
+ 	case " $CC " in
+ 	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
+ 		prev=darwin_framework_skip ;;
+ 	  *) compiler_flags="$compiler_flags $arg"
+ 	     prev=darwin_framework ;;
+ 	esac
+ 	compile_command="$compile_command $arg"
+ 	finalize_command="$finalize_command $arg"
  	continue
  	;;
  
@@@ -3949,23 -1551,25 +1551,25 @@@
        -L[A-Z][A-Z]*:*)
  	case $with_gcc/$host in
  	no/*-*-irix* | /*-*-irix*)
- 	  func_append compile_command " $arg"
- 	  func_append finalize_command " $arg"
+ 	  compile_command="$compile_command $arg"
+ 	  finalize_command="$finalize_command $arg"
  	  ;;
  	esac
  	continue
  	;;
  
        -L*)
- 	func_stripname '-L' '' "$arg"
- 	dir=$func_stripname_result
+ 	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
  	# We need an absolute path.
  	case $dir in
  	[\\/]* | [A-Za-z]:[\\/]*) ;;
  	*)
  	  absdir=`cd "$dir" && pwd`
- 	  test -z "$absdir" && \
- 	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ 	  if test -z "$absdir"; then
+ 	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+ 	    absdir="$dir"
+ 	    notinst_path="$notinst_path $dir"
+ 	  fi
  	  dir="$absdir"
  	  ;;
  	esac
@@@ -3978,7 -1582,7 +1582,7 @@@
  	esac
  	case $host in
  	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- 	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ 	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
  	  case :$dllsearchpath: in
  	  *":$dir:"*) ;;
  	  *) dllsearchpath="$dllsearchpath:$dir";;
@@@ -4009,7 -1613,7 +1613,7 @@@
  	    ;;
  	  *-*-rhapsody* | *-*-darwin1.[012])
  	    # Rhapsody C and math libraries are in the System framework
- 	    deplibs="$deplibs System.ltframework"
+ 	    deplibs="$deplibs -framework System"
  	    continue
  	    ;;
  	  *-*-sco3.2v5* | *-*-sco5v6*)
@@@ -4033,30 -1637,20 +1637,20 @@@
  	continue
  	;;
  
-       -module)
- 	module=yes
- 	continue
- 	;;
- 
        # Tru64 UNIX uses -model [arg] to determine the layout of C++
        # classes, name mangling, and exception handling.
-       # Darwin uses the -arch flag to determine output architecture.
-       -model|-arch|-isysroot)
+       -model)
+ 	compile_command="$compile_command $arg"
  	compiler_flags="$compiler_flags $arg"
- 	func_append compile_command " $arg"
- 	func_append finalize_command " $arg"
+ 	finalize_command="$finalize_command $arg"
  	prev=xcompiler
  	continue
  	;;
  
-       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
  	compiler_flags="$compiler_flags $arg"
- 	func_append compile_command " $arg"
- 	func_append finalize_command " $arg"
- 	case "$new_inherited_linker_flags " in
- 	    *" $arg "*) ;;
- 	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
- 	esac
+ 	compile_command="$compile_command $arg"
+ 	finalize_command="$finalize_command $arg"
  	continue
  	;;
  
@@@ -4065,6 -1659,44 +1659,44 @@@
  	continue
  	;;
  
+       -module)
+ 	module=yes
+ 	continue
+ 	;;
+ 
+       # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+       # -r[0-9][0-9]* specifies the processor on the SGI compiler
+       # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+       # +DA*, +DD* enable 64-bit mode on the HP compiler
+       # -q* pass through compiler args for the IBM compiler
+       # -m* pass through architecture-specific compiler args for GCC
+       # -m*, -t[45]*, -txscale* pass through architecture-specific
+       # compiler args for GCC
+       # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+       # -F/path gives path to uninstalled frameworks, gcc on darwin
+       # @file GCC response files
+       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ 
+ 	# Unknown arguments in both finalize_command and compile_command need
+ 	# to be aesthetically quoted because they are evaled later.
+ 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ 	case $arg in
+ 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	  arg="\"$arg\""
+ 	  ;;
+ 	esac
+         compile_command="$compile_command $arg"
+         finalize_command="$finalize_command $arg"
+         compiler_flags="$compiler_flags $arg"
+         continue
+         ;;
+ 
+       -shrext)
+ 	prev=shrext
+ 	continue
+ 	;;
+ 
        -no-fast-install)
  	fast_install=no
  	continue
@@@ -4075,8 -1707,8 +1707,8 @@@
  	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
  	  # The PATH hackery in wrapper scripts is required on Windows
  	  # and Darwin in order for the loader to find any dlls it needs.
- 	  func_warning "\`-no-install' is ignored for $host"
- 	  func_warning "assuming \`-no-fast-install' instead"
+ 	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+ 	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
  	  fast_install=no
  	  ;;
  	*) no_install=yes ;;
@@@ -4117,13 -1749,13 +1749,13 @@@
  	;;
  
        -R*)
- 	func_stripname '-R' '' "$arg"
- 	dir=$func_stripname_result
+ 	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
  	# We need an absolute path.
  	case $dir in
  	[\\/]* | [A-Za-z]:[\\/]*) ;;
  	*)
- 	  func_fatal_error "only absolute run-paths are allowed"
+ 	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+ 	  exit $EXIT_FAILURE
  	  ;;
  	esac
  	case "$xrpath " in
@@@ -4133,16 -1765,6 +1765,6 @@@
  	continue
  	;;
  
-       -shared)
- 	# The effects of -shared are defined in a previous loop.
- 	continue
- 	;;
- 
-       -shrext)
- 	prev=shrext
- 	continue
- 	;;
- 
        -static | -static-libtool-libs)
  	# The effects of -static are defined in a previous loop.
  	# We used to do the same as -all-static on platforms that
@@@ -4161,49 -1783,47 +1783,47 @@@
  	prev=vinfo
  	continue
  	;;
- 
        -version-number)
  	prev=vinfo
  	vinfo_number=yes
  	continue
  	;;
  
-       -weak)
-         prev=weak
- 	continue
- 	;;
- 
        -Wc,*)
- 	func_stripname '-Wc,' '' "$arg"
- 	args=$func_stripname_result
+ 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
  	arg=
  	save_ifs="$IFS"; IFS=','
  	for flag in $args; do
  	  IFS="$save_ifs"
-           func_quote_for_eval "$flag"
- 	  arg="$arg $wl$func_quote_for_eval_result"
- 	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
+ 	  case $flag in
+ 	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	    flag="\"$flag\""
+ 	    ;;
+ 	  esac
+ 	  arg="$arg $wl$flag"
+ 	  compiler_flags="$compiler_flags $flag"
  	done
  	IFS="$save_ifs"
- 	func_stripname ' ' '' "$arg"
- 	arg=$func_stripname_result
+ 	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
  	;;
  
        -Wl,*)
- 	func_stripname '-Wl,' '' "$arg"
- 	args=$func_stripname_result
+ 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
  	arg=
  	save_ifs="$IFS"; IFS=','
  	for flag in $args; do
  	  IFS="$save_ifs"
-           func_quote_for_eval "$flag"
- 	  arg="$arg $wl$func_quote_for_eval_result"
- 	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
- 	  linker_flags="$linker_flags $func_quote_for_eval_result"
+ 	  case $flag in
+ 	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	    flag="\"$flag\""
+ 	    ;;
+ 	  esac
+ 	  arg="$arg $wl$flag"
+ 	  compiler_flags="$compiler_flags $wl$flag"
+ 	  linker_flags="$linker_flags $flag"
  	done
  	IFS="$save_ifs"
- 	func_stripname ' ' '' "$arg"
- 	arg=$func_stripname_result
+ 	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
  	;;
  
        -Xcompiler)
@@@ -4221,36 -1841,16 +1841,16 @@@
  	continue
  	;;
  
-       # -msg_* for osf cc
-       -msg_*)
- 	func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
- 	;;
- 
-       # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-       # -r[0-9][0-9]* specifies the processor on the SGI compiler
-       # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-       # +DA*, +DD* enable 64-bit mode on the HP compiler
-       # -q* pass through compiler args for the IBM compiler
-       # -m*, -t[45]*, -txscale* pass through architecture-specific
-       # compiler args for GCC
-       # -F/path gives path to uninstalled frameworks, gcc on darwin
-       # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-       # @file GCC response files
-       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
-         func_append compile_command " $arg"
-         func_append finalize_command " $arg"
-         compiler_flags="$compiler_flags $arg"
-         continue
-         ;;
- 
        # Some other compiler flag.
        -* | +*)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
+ 	# Unknown arguments in both finalize_command and compile_command need
+ 	# to be aesthetically quoted because they are evaled later.
+ 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ 	case $arg in
+ 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	  arg="\"$arg\""
+ 	  ;;
+ 	esac
  	;;
  
        *.$objext)
@@@ -4262,23 -1862,32 +1862,32 @@@
  	# A libtool-controlled object.
  
  	# Check to see that this really is a libtool object.
- 	if func_lalib_unsafe_p "$arg"; then
+ 	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  	  pic_object=
  	  non_pic_object=
  
  	  # Read the .lo file
- 	  func_source "$arg"
+ 	  # If there is no directory component, then add one.
+ 	  case $arg in
+ 	  */* | *\\*) . $arg ;;
+ 	  *) . ./$arg ;;
+ 	  esac
  
- 	  if test -z "$pic_object" ||
+ 	  if test -z "$pic_object" || \
  	     test -z "$non_pic_object" ||
- 	     test "$pic_object" = none &&
+ 	     test "$pic_object" = none && \
  	     test "$non_pic_object" = none; then
- 	    func_fatal_error "cannot find name of object for \`$arg'"
+ 	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+ 	    exit $EXIT_FAILURE
  	  fi
  
  	  # Extract subdirectory from the argument.
- 	  func_dirname "$arg" "/" ""
- 	  xdir="$func_dirname_result"
+ 	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ 	  if test "X$xdir" = "X$arg"; then
+ 	    xdir=
+  	  else
+ 	    xdir="$xdir/"
+ 	  fi
  
  	  if test "$pic_object" != none; then
  	    # Prepend the subdirectory the object is found in.
@@@ -4303,7 -1912,7 +1912,7 @@@
  	    fi
  
  	    # A PIC object.
- 	    func_append libobjs " $pic_object"
+ 	    libobjs="$libobjs $pic_object"
  	    arg="$pic_object"
  	  fi
  
@@@ -4313,7 -1922,7 +1922,7 @@@
  	    non_pic_object="$xdir$non_pic_object"
  
  	    # A standard non-PIC object
- 	    func_append non_pic_objects " $non_pic_object"
+ 	    non_pic_objects="$non_pic_objects $non_pic_object"
  	    if test -z "$pic_object" || test "$pic_object" = none ; then
  	      arg="$non_pic_object"
  	    fi
@@@ -4321,22 -1930,28 +1930,28 @@@
  	    # If the PIC object exists, use it instead.
  	    # $xdir was prepended to $pic_object above.
  	    non_pic_object="$pic_object"
- 	    func_append non_pic_objects " $non_pic_object"
+ 	    non_pic_objects="$non_pic_objects $non_pic_object"
  	  fi
  	else
  	  # Only an error if not doing a dry-run.
- 	  if $opt_dry_run; then
- 	    # Extract subdirectory from the argument.
- 	    func_dirname "$arg" "/" ""
- 	    xdir="$func_dirname_result"
- 
- 	    func_lo2o "$arg"
- 	    pic_object=$xdir$objdir/$func_lo2o_result
- 	    non_pic_object=$xdir$func_lo2o_result
- 	    func_append libobjs " $pic_object"
- 	    func_append non_pic_objects " $non_pic_object"
+ 	  if test -z "$run"; then
+ 	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+ 	    exit $EXIT_FAILURE
  	  else
- 	    func_fatal_error "\`$arg' is not a valid libtool object"
+ 	    # Dry-run case.
+ 
+ 	    # Extract subdirectory from the argument.
+ 	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ 	    if test "X$xdir" = "X$arg"; then
+ 	      xdir=
+ 	    else
+ 	      xdir="$xdir/"
+ 	    fi
+ 
+ 	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+ 	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+ 	    libobjs="$libobjs $pic_object"
+ 	    non_pic_objects="$non_pic_objects $non_pic_object"
  	  fi
  	fi
  	;;
@@@ -4369,51 -1984,70 +1984,70 @@@
        *)
  	# Unknown arguments in both finalize_command and compile_command need
  	# to be aesthetically quoted because they are evaled later.
- 	func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
+ 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ 	case $arg in
+ 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	  arg="\"$arg\""
+ 	  ;;
+ 	esac
  	;;
        esac # arg
  
        # Now actually substitute the argument into the commands.
        if test -n "$arg"; then
- 	func_append compile_command " $arg"
- 	func_append finalize_command " $arg"
+ 	compile_command="$compile_command $arg"
+ 	finalize_command="$finalize_command $arg"
        fi
      done # argument parsing loop
  
-     test -n "$prev" && \
-       func_fatal_help "the \`$prevarg' option requires an argument"
+     if test -n "$prev"; then
+       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
  
      if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
        eval arg=\"$export_dynamic_flag_spec\"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
+       compile_command="$compile_command $arg"
+       finalize_command="$finalize_command $arg"
      fi
  
      oldlibs=
      # calculate the name of the file, without its directory
-     func_basename "$output"
-     outputname="$func_basename_result"
+     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
      libobjs_save="$libobjs"
  
      if test -n "$shlibpath_var"; then
        # get the directories listed in $shlibpath_var
-       eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
      else
        shlib_search_path=
      fi
      eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
      eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
  
-     func_dirname "$output" "/" ""
-     output_objdir="$func_dirname_result$objdir"
+     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+     if test "X$output_objdir" = "X$output"; then
+       output_objdir="$objdir"
+     else
+       output_objdir="$output_objdir/$objdir"
+     fi
      # Create the object directory.
-     func_mkdir_p "$output_objdir"
+     if test ! -d "$output_objdir"; then
+       $show "$mkdir $output_objdir"
+       $run $mkdir $output_objdir
+       exit_status=$?
+       if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+ 	exit $exit_status
+       fi
+     fi
  
      # Determine the type of output
      case $output in
      "")
-       func_fatal_help "you must specify an output file"
+       $echo "$modename: you must specify an output file" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
        ;;
      *.$libext) linkmode=oldlib ;;
      *.lo | *.$objext) linkmode=obj ;;
@@@ -4421,13 -2055,22 +2055,22 @@@
      *) linkmode=prog ;; # Anything else should be a program.
      esac
  
+     case $host in
+     *cygwin* | *mingw* | *pw32*)
+       # don't eliminate duplications in $postdeps and $predeps
+       duplicate_compiler_generated_deps=yes
+       ;;
+     *)
+       duplicate_compiler_generated_deps=$duplicate_deps
+       ;;
+     esac
      specialdeplibs=
  
      libs=
      # Find all interdependent deplibs by searching for libraries
      # that are linked more than once (e.g. -la -lb -la)
      for deplib in $deplibs; do
-       if $opt_duplicate_deps ; then
+       if test "X$duplicate_deps" = "Xyes" ; then
  	case "$libs " in
  	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  	esac
@@@ -4442,7 -2085,7 +2085,7 @@@
        # $postdeps and mark them as special (i.e., whose duplicates are
        # not to be eliminated).
        pre_post_deps=
-       if $opt_duplicate_compiler_generated_deps; then
+       if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
  	for pre_post_dep in $predeps $postdeps; do
  	  case "$pre_post_deps " in
  	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
@@@ -4458,16 -2101,15 +2101,15 @@@
      newlib_search_path=
      need_relink=no # whether we're linking any uninstalled libtool libraries
      notinst_deplibs= # not-installed libtool libraries
-     notinst_path= # paths that contain not-installed libtool libraries
- 
      case $linkmode in
      lib)
- 	passes="conv dlpreopen link"
+ 	passes="conv link"
  	for file in $dlfiles $dlprefiles; do
  	  case $file in
  	  *.la) ;;
  	  *)
- 	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ 	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+ 	    exit $EXIT_FAILURE
  	    ;;
  	  esac
  	done
@@@ -4483,20 -2125,7 +2125,7 @@@
      *)  passes="conv"
  	;;
      esac
- 
      for pass in $passes; do
-       # The preopen pass in lib mode reverses $deplibs; put it back here
-       # so that -L comes before libs that need it for instance...
-       if test "$linkmode,$pass" = "lib,link"; then
- 	## FIXME: Find the place where the list is rebuilt in the wrong
- 	##        order, and fix it there properly
-         tmp_deplibs=
- 	for deplib in $deplibs; do
- 	  tmp_deplibs="$deplib $tmp_deplibs"
- 	done
- 	deplibs="$tmp_deplibs"
-       fi
- 
        if test "$linkmode,$pass" = "lib,link" ||
  	 test "$linkmode,$pass" = "prog,scan"; then
  	libs="$deplibs"
@@@ -4512,33 -2141,11 +2141,11 @@@
  	  ;;
  	esac
        fi
-       if test "$linkmode,$pass" = "lib,dlpreopen"; then
- 	# Collect and forward deplibs of preopened libtool libs
- 	for lib in $dlprefiles; do
- 	  # Ignore non-libtool-libs
- 	  dependency_libs=
- 	  case $lib in
- 	  *.la)	func_source "$lib" ;;
- 	  esac
- 
- 	  # Collect preopened libtool deplibs, except any this library
- 	  # has declared as weak libs
- 	  for deplib in $dependency_libs; do
-             deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
- 	    case " $weak_libs " in
- 	    *" $deplib_base "*) ;;
- 	    *) deplibs="$deplibs $deplib" ;;
- 	    esac
- 	  done
- 	done
- 	libs="$dlprefiles"
-       fi
        if test "$pass" = dlopen; then
  	# Collect dlpreopened libraries
  	save_deplibs="$deplibs"
  	deplibs=
        fi
- 
        for deplib in $libs; do
  	lib=
  	found=no
@@@ -4549,22 -2156,15 +2156,15 @@@
  	    finalize_deplibs="$deplib $finalize_deplibs"
  	  else
  	    compiler_flags="$compiler_flags $deplib"
- 	    if test "$linkmode" = lib ; then
- 		case "$new_inherited_linker_flags " in
- 		    *" $deplib "*) ;;
- 		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- 		esac
- 	    fi
  	  fi
  	  continue
  	  ;;
  	-l*)
  	  if test "$linkmode" != lib && test "$linkmode" != prog; then
- 	    func_warning "\`-l' is ignored for archives/objects"
+ 	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
  	    continue
  	  fi
- 	  func_stripname '-l' '' "$deplib"
- 	  name=$func_stripname_result
+ 	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
  	  if test "$linkmode" = lib; then
  	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
  	  else
@@@ -4600,17 -2200,21 +2200,21 @@@
  	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  	      case " $predeps $postdeps " in
  	      *" $deplib "*)
- 		if func_lalib_p "$lib"; then
+ 		if (${SED} -e '2q' $lib |
+                     grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  		  library_names=
  		  old_library=
- 		  func_source "$lib"
+ 		  case $lib in
+ 		  */* | *\\*) . $lib ;;
+ 		  *) . ./$lib ;;
+ 		  esac
  		  for l in $old_library $library_names; do
  		    ll="$l"
  		  done
  		  if test "X$ll" = "X$old_library" ; then # only static version available
  		    found=no
- 		    func_dirname "$lib" "" "."
- 		    ladir="$func_dirname_result"
+ 		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+ 		    test "X$ladir" = "X$lib" && ladir="."
  		    lib=$ladir/$old_library
  		    if test "$linkmode,$pass" = "prog,link"; then
  		      compile_deplibs="$deplib $compile_deplibs"
@@@ -4622,35 -2226,19 +2226,19 @@@
  		    continue
  		  fi
  		fi
- 		;;
+ 	        ;;
  	      *) ;;
  	      esac
  	    fi
  	  fi
  	  ;; # -l
- 	*.ltframework)
- 	  if test "$linkmode,$pass" = "prog,link"; then
- 	    compile_deplibs="$deplib $compile_deplibs"
- 	    finalize_deplibs="$deplib $finalize_deplibs"
- 	  else
- 	    deplibs="$deplib $deplibs"
- 	    if test "$linkmode" = lib ; then
- 		case "$new_inherited_linker_flags " in
- 		    *" $deplib "*) ;;
- 		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- 		esac
- 	    fi
- 	  fi
- 	  continue
- 	  ;;
  	-L*)
  	  case $linkmode in
  	  lib)
  	    deplibs="$deplib $deplibs"
  	    test "$pass" = conv && continue
  	    newdependency_libs="$deplib $newdependency_libs"
- 	    func_stripname '-L' '' "$deplib"
- 	    newlib_search_path="$newlib_search_path $func_stripname_result"
+ 	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
  	    ;;
  	  prog)
  	    if test "$pass" = conv; then
@@@ -4663,19 -2251,17 +2251,17 @@@
  	      compile_deplibs="$deplib $compile_deplibs"
  	      finalize_deplibs="$deplib $finalize_deplibs"
  	    fi
- 	    func_stripname '-L' '' "$deplib"
- 	    newlib_search_path="$newlib_search_path $func_stripname_result"
+ 	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
  	    ;;
  	  *)
- 	    func_warning "\`-L' is ignored for archives/objects"
+ 	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
  	    ;;
  	  esac # linkmode
  	  continue
  	  ;; # -L
  	-R*)
  	  if test "$pass" = link; then
- 	    func_stripname '-R' '' "$deplib"
- 	    dir=$func_stripname_result
+ 	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
  	    # Make sure the xrpath contains only unique directories.
  	    case "$xrpath " in
  	    *" $dir "*) ;;
@@@ -4693,41 -2279,35 +2279,35 @@@
  	  fi
  	  case $linkmode in
  	  lib)
- 	    # Linking convenience modules into shared libraries is allowed,
- 	    # but linking other static libraries is non-portable.
- 	    case " $dlpreconveniencelibs " in
- 	    *" $deplib "*) ;;
- 	    *)
- 	      valid_a_lib=no
- 	      case $deplibs_check_method in
- 		match_pattern*)
- 		  set dummy $deplibs_check_method; shift
- 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- 		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ 	    valid_a_lib=no
+ 	    case $deplibs_check_method in
+ 	      match_pattern*)
+ 		set dummy $deplibs_check_method
+ 	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ 		if eval $echo \"$deplib\" 2>/dev/null \
+ 		    | $SED 10q \
  		    | $EGREP "$match_pattern_regex" > /dev/null; then
- 		    valid_a_lib=yes
- 		  fi
- 		;;
- 		pass_all)
  		  valid_a_lib=yes
+ 		fi
  		;;
- 	      esac
- 	      if test "$valid_a_lib" != yes; then
- 		$ECHO
- 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
- 		$ECHO "*** I have the capability to make that library automatically link in when"
- 		$ECHO "*** you link to this library.  But I can only do this if you have a"
- 		$ECHO "*** shared version of the library, which you do not appear to have"
- 		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
- 		$ECHO "*** that it is just a static archive that I should not use here."
- 	      else
- 		$ECHO
- 		$ECHO "*** Warning: Linking the shared library $output against the"
- 		$ECHO "*** static library $deplib is not portable!"
- 		deplibs="$deplib $deplibs"
- 	      fi
- 	      ;;
- 	    esac
+ 	      pass_all)
+ 		valid_a_lib=yes
+ 		;;
+             esac
+ 	    if test "$valid_a_lib" != yes; then
+ 	      $echo
+ 	      $echo "*** Warning: Trying to link with static lib archive $deplib."
+ 	      $echo "*** I have the capability to make that library automatically link in when"
+ 	      $echo "*** you link to this library.  But I can only do this if you have a"
+ 	      $echo "*** shared version of the library, which you do not appear to have"
+ 	      $echo "*** because the file extensions .$libext of this argument makes me believe"
+ 	      $echo "*** that it is just a static archive that I should not used here."
+ 	    else
+ 	      $echo
+ 	      $echo "*** Warning: Linking the shared library $output against the"
+ 	      $echo "*** static library $deplib is not portable!"
+ 	      deplibs="$deplib $deplibs"
+ 	    fi
  	    continue
  	    ;;
  	  prog)
@@@ -4762,18 -2342,21 +2342,21 @@@
  	  continue
  	  ;;
  	esac # case $deplib
- 
  	if test "$found" = yes || test -f "$lib"; then :
  	else
- 	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ 	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+ 	  exit $EXIT_FAILURE
  	fi
  
  	# Check to see that this really is a libtool archive.
- 	func_lalib_unsafe_p "$lib" \
- 	  || func_fatal_error "\`$lib' is not a valid libtool archive"
+ 	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ 	else
+ 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
  
- 	func_dirname "$lib" "" "."
- 	ladir="$func_dirname_result"
+ 	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+ 	test "X$ladir" = "X$lib" && ladir="."
  
  	dlname=
  	dlopen=
@@@ -4781,7 -2364,6 +2364,6 @@@
  	libdir=
  	library_names=
  	old_library=
- 	inherited_linker_flags=
  	# If the library was installed with an old release of libtool,
  	# it will not redefine variables installed, or shouldnotlink
  	installed=yes
@@@ -4790,19 -2372,11 +2372,11 @@@
  
  
  	# Read the .la file
- 	func_source "$lib"
- 
- 	# Convert "-framework foo" to "foo.ltframework"
- 	if test -n "$inherited_linker_flags"; then
- 	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
- 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
- 	    case " $new_inherited_linker_flags " in
- 	      *" $tmp_inherited_linker_flag "*) ;;
- 	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
- 	    esac
- 	  done
- 	fi
- 	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ 	case $lib in
+ 	*/* | *\\*) . $lib ;;
+ 	*) . ./$lib ;;
+ 	esac
+ 
  	if test "$linkmode,$pass" = "lib,link" ||
  	   test "$linkmode,$pass" = "prog,scan" ||
  	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@@ -4815,24 -2389,26 +2389,26 @@@
  	  deplibs="$lib $deplibs"
  	  if test -z "$libdir"; then
  	    if test -z "$old_library"; then
- 	      func_fatal_error "cannot find name of link library for \`$lib'"
+ 	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ 	      exit $EXIT_FAILURE
  	    fi
  	    # It is a libtool convenience library, so add in its objects.
  	    convenience="$convenience $ladir/$objdir/$old_library"
  	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ 	    tmp_libs=
+ 	    for deplib in $dependency_libs; do
+ 	      deplibs="$deplib $deplibs"
+               if test "X$duplicate_deps" = "Xyes" ; then
+ 	        case "$tmp_libs " in
+ 	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ 	        esac
+               fi
+ 	      tmp_libs="$tmp_libs $deplib"
+ 	    done
  	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
- 	    func_fatal_error "\`$lib' is not a convenience library"
+ 	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+ 	    exit $EXIT_FAILURE
  	  fi
- 	  tmp_libs=
- 	  for deplib in $dependency_libs; do
- 	    deplibs="$deplib $deplibs"
- 	    if $opt_duplicate_deps ; then
- 	      case "$tmp_libs " in
- 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- 	      esac
- 	    fi
- 	    tmp_libs="$tmp_libs $deplib"
- 	  done
  	  continue
  	fi # $pass = conv
  
@@@ -4843,13 -2419,15 +2419,15 @@@
  	  linklib="$l"
  	done
  	if test -z "$linklib"; then
- 	  func_fatal_error "cannot find name of link library for \`$lib'"
+ 	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ 	  exit $EXIT_FAILURE
  	fi
  
  	# This library was specified with -dlopen.
  	if test "$pass" = dlopen; then
  	  if test -z "$libdir"; then
- 	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ 	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+ 	    exit $EXIT_FAILURE
  	  fi
  	  if test -z "$dlname" ||
  	     test "$dlopen_support" != yes ||
@@@ -4871,19 -2449,18 +2449,18 @@@
  	*)
  	  abs_ladir=`cd "$ladir" && pwd`
  	  if test -z "$abs_ladir"; then
- 	    func_warning "cannot determine absolute directory name of \`$ladir'"
- 	    func_warning "passing it literally to the linker, although it might fail"
+ 	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+ 	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
  	    abs_ladir="$ladir"
  	  fi
  	  ;;
  	esac
- 	func_basename "$lib"
- 	laname="$func_basename_result"
+ 	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  
  	# Find the relevant object directory and library name.
  	if test "X$installed" = Xyes; then
  	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- 	    func_warning "library \`$lib' was moved."
+ 	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
  	    dir="$ladir"
  	    absdir="$abs_ladir"
  	    libdir="$abs_ladir"
@@@ -4905,22 -2482,18 +2482,18 @@@
  	    notinst_path="$notinst_path $abs_ladir"
  	  fi
  	fi # $installed = yes
- 	func_stripname 'lib' '.la' "$laname"
- 	name=$func_stripname_result
+ 	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
  
  	# This library was specified with -dlpreopen.
  	if test "$pass" = dlpreopen; then
- 	  if test -z "$libdir" && test "$linkmode" = prog; then
- 	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ 	  if test -z "$libdir"; then
+ 	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+ 	    exit $EXIT_FAILURE
  	  fi
  	  # Prefer using a static library (so that no silly _DYNAMIC symbols
  	  # are required to link).
  	  if test -n "$old_library"; then
  	    newdlprefiles="$newdlprefiles $dir/$old_library"
- 	    # Keep a list of preopened convenience libraries to check
- 	    # that they are being used correctly in the link pass.
- 	    test -z "$libdir" && \
- 		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
  	  # Otherwise, use the dlname, so that lt_dlopen finds it.
  	  elif test -n "$dlname"; then
  	    newdlprefiles="$newdlprefiles $dir/$dlname"
@@@ -4956,9 -2529,7 +2529,7 @@@
  	  tmp_libs=
  	  for deplib in $dependency_libs; do
  	    case $deplib in
- 	    -L*) func_stripname '-L' '' "$deplib"
- 	         newlib_search_path="$newlib_search_path $func_stripname_result"
- 		 ;;
+ 	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
  	    esac
  	    # Need to link against all dependency_libs?
  	    if test "$linkalldeplibs" = yes; then
@@@ -4968,7 -2539,7 +2539,7 @@@
  	      # or/and link against static libraries
  	      newdependency_libs="$deplib $newdependency_libs"
  	    fi
- 	    if $opt_duplicate_deps ; then
+ 	    if test "X$duplicate_deps" = "Xyes" ; then
  	      case "$tmp_libs " in
  	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  	      esac
@@@ -4981,14 -2552,15 +2552,15 @@@
  	if test "$linkmode,$pass" = "prog,link"; then
  	  if test -n "$library_names" &&
  	     { { test "$prefer_static_libs" = no ||
- 	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ 		 test "$prefer_static_libs,$installed" = "built,yes"; } ||
  	       test -z "$old_library"; }; then
  	    # We need to hardcode the library path
  	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
  	      # Make sure the rpath contains only unique directories.
- 	      case "$temp_rpath:" in
- 	      *"$absdir:"*) ;;
- 	      *) temp_rpath="$temp_rpath$absdir:" ;;
+ 	      case "$temp_rpath " in
+ 	      *" $dir "*) ;;
+ 	      *" $absdir "*) ;;
+ 	      *) temp_rpath="$temp_rpath $absdir" ;;
  	      esac
  	    fi
  
@@@ -5026,43 -2598,27 +2598,27 @@@
  
  	link_static=no # Whether the deplib will be linked statically
  	use_static_libs=$prefer_static_libs
- 	if test "$use_static_libs" = built && test "$installed" = yes; then
+ 	if test "$use_static_libs" = built && test "$installed" = yes ; then
  	  use_static_libs=no
  	fi
  	if test -n "$library_names" &&
  	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
- 	  case $host in
- 	  *cygwin* | *mingw*)
- 	      # No point in relinking DLLs because paths are not encoded
- 	      notinst_deplibs="$notinst_deplibs $lib"
- 	      need_relink=no
- 	    ;;
- 	  *)
- 	    if test "$installed" = no; then
- 	      notinst_deplibs="$notinst_deplibs $lib"
- 	      need_relink=yes
- 	    fi
- 	    ;;
- 	  esac
+ 	  if test "$installed" = no; then
+ 	    notinst_deplibs="$notinst_deplibs $lib"
+ 	    need_relink=yes
+ 	  fi
  	  # This is a shared library
  
- 	  # Warn about portability, can't link against -module's on some
- 	  # systems (darwin).  Don't bleat about dlopened modules though!
- 	  dlopenmodule=""
- 	  for dlpremoduletest in $dlprefiles; do
- 	    if test "X$dlpremoduletest" = "X$lib"; then
- 	      dlopenmodule="$dlpremoduletest"
- 	      break
- 	    fi
- 	  done
- 	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- 	    $ECHO
+ 	  # Warn about portability, can't link against -module's on
+ 	  # some systems (darwin)
+ 	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
+ 	    $echo
  	    if test "$linkmode" = prog; then
- 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ 	      $echo "*** Warning: Linking the executable $output against the loadable module"
  	    else
- 	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ 	      $echo "*** Warning: Linking the shared library $output against the loadable module"
  	    fi
- 	    $ECHO "*** $linklib is not portable!"
+ 	    $echo "*** $linklib is not portable!"
  	  fi
  	  if test "$linkmode" = lib &&
  	     test "$hardcode_into_libs" = yes; then
@@@ -5092,10 -2648,9 +2648,9 @@@
  	  if test -n "$old_archive_from_expsyms_cmds"; then
  	    # figure out the soname
  	    set dummy $library_names
- 	    shift
- 	    realname="$1"
- 	    shift
- 	    libname=`eval "\\$ECHO \"$libname_spec\""`
+ 	    realname="$2"
+ 	    shift; shift
+ 	    libname=`eval \\$echo \"$libname_spec\"`
  	    # use dlname if we got it. it's perfectly good, no?
  	    if test -n "$dlname"; then
  	      soname="$dlname"
@@@ -5103,8 -2658,7 +2658,7 @@@
  	      # bleh windows
  	      case $host in
  	      *cygwin* | mingw*)
- 	        func_arith $current - $age
- 		major=$func_arith_result
+ 		major=`expr $current - $age`
  		versuffix="-$major"
  		;;
  	      esac
@@@ -5115,22 -2669,36 +2669,36 @@@
  
  	    # Make a new name for the extract_expsyms_cmds to use
  	    soroot="$soname"
- 	    func_basename "$soroot"
- 	    soname="$func_basename_result"
- 	    func_stripname 'lib' '.dll' "$soname"
- 	    newlib=libimp-$func_stripname_result.a
+ 	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+ 	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
  
  	    # If the library has no export list, then create one now
  	    if test -f "$output_objdir/$soname-def"; then :
  	    else
- 	      func_verbose "extracting exported symbol list from \`$soname'"
- 	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ 	      $show "extracting exported symbol list from \`$soname'"
+ 	      save_ifs="$IFS"; IFS='~'
+ 	      cmds=$extract_expsyms_cmds
+ 	      for cmd in $cmds; do
+ 		IFS="$save_ifs"
+ 		eval cmd=\"$cmd\"
+ 		$show "$cmd"
+ 		$run eval "$cmd" || exit $?
+ 	      done
+ 	      IFS="$save_ifs"
  	    fi
  
  	    # Create $newlib
  	    if test -f "$output_objdir/$newlib"; then :; else
- 	      func_verbose "generating import library for \`$soname'"
- 	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ 	      $show "generating import library for \`$soname'"
+ 	      save_ifs="$IFS"; IFS='~'
+ 	      cmds=$old_archive_from_expsyms_cmds
+ 	      for cmd in $cmds; do
+ 		IFS="$save_ifs"
+ 		eval cmd=\"$cmd\"
+ 		$show "$cmd"
+ 		$run eval "$cmd" || exit $?
+ 	      done
+ 	      IFS="$save_ifs"
  	    fi
  	    # make sure the library variables are pointing to the new library
  	    dir=$output_objdir
@@@ -5152,21 -2720,17 +2720,17 @@@
  		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
  		    *-*-unixware7*) add_dir="-L$dir" ;;
  		  *-*-darwin* )
- 		    # if the lib is a (non-dlopened) module then we can not
- 		    # link against it, someone is ignoring the earlier warnings
+ 		    # if the lib is a module then we can not link against
+ 		    # it, someone is ignoring the new warnings I added
  		    if /usr/bin/file -L $add 2> /dev/null |
- 			 $GREP ": [^:]* bundle" >/dev/null ; then
- 		      if test "X$dlopenmodule" != "X$lib"; then
- 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
- 			if test -z "$old_library" ; then
- 			  $ECHO
- 			  $ECHO "*** And there doesn't seem to be a static archive available"
- 			  $ECHO "*** The link will probably fail, sorry"
- 			else
- 			  add="$dir/$old_library"
- 			fi
- 		      elif test -n "$old_library"; then
- 			add="$dir/$old_library"
+                       $EGREP ": [^:]* bundle" >/dev/null ; then
+ 		      $echo "** Warning, lib $linklib is a module, not a shared library"
+ 		      if test -z "$old_library" ; then
+ 		        $echo
+ 		        $echo "** And there doesn't seem to be a static archive available"
+ 		        $echo "** The link will probably fail, sorry"
+ 		      else
+ 		        add="$dir/$old_library"
  		      fi
  		    fi
  		esac
@@@ -5184,8 -2748,7 +2748,7 @@@
  	      fi
  	      ;;
  	    relink)
- 	      if test "$hardcode_direct" = yes &&
- 	         test "$hardcode_direct_absolute" = no; then
+ 	      if test "$hardcode_direct" = yes; then
  		add="$dir/$linklib"
  	      elif test "$hardcode_minus_L" = yes; then
  		add_dir="-L$dir"
@@@ -5209,7 -2772,8 +2772,8 @@@
  	    esac
  
  	    if test "$lib_linked" != yes; then
- 	      func_fatal_configuration "unsupported hardcode properties"
+ 	      $echo "$modename: configuration error: unsupported hardcode properties"
+ 	      exit $EXIT_FAILURE
  	    fi
  
  	    if test -n "$add_shlibpath"; then
@@@ -5224,8 -2788,8 +2788,8 @@@
  	    else
  	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
  	      test -n "$add" && deplibs="$add $deplibs"
- 	      if test "$hardcode_direct" != yes &&
- 		 test "$hardcode_minus_L" != yes &&
+ 	      if test "$hardcode_direct" != yes && \
+ 		 test "$hardcode_minus_L" != yes && \
  		 test "$hardcode_shlibpath_var" = yes; then
  		case :$finalize_shlibpath: in
  		*":$libdir:"*) ;;
@@@ -5240,8 -2804,7 +2804,7 @@@
  	    add_dir=
  	    add=
  	    # Finalize command for both is simple: just hardcode it.
- 	    if test "$hardcode_direct" = yes &&
- 	       test "$hardcode_direct_absolute" = no; then
+ 	    if test "$hardcode_direct" = yes; then
  	      add="$libdir/$linklib"
  	    elif test "$hardcode_minus_L" = yes; then
  	      add_dir="-L$libdir"
@@@ -5255,9 -2818,9 +2818,9 @@@
  	    elif test "$hardcode_automatic" = yes; then
  	      if test -n "$inst_prefix_dir" &&
  		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
- 		add="$inst_prefix_dir$libdir/$linklib"
+ 	        add="$inst_prefix_dir$libdir/$linklib"
  	      else
- 		add="$libdir/$linklib"
+ 	        add="$libdir/$linklib"
  	      fi
  	    else
  	      # We cannot seem to hardcode it, guess we'll fake it.
@@@ -5301,21 -2864,21 +2864,21 @@@
  
  	    # Just print a warning and add the library to dependency_libs so
  	    # that the program can be linked against the static library.
- 	    $ECHO
- 	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
- 	    $ECHO "*** I have the capability to make that library automatically link in when"
- 	    $ECHO "*** you link to this library.  But I can only do this if you have a"
- 	    $ECHO "*** shared version of the library, which you do not appear to have."
+ 	    $echo
+ 	    $echo "*** Warning: This system can not link to static lib archive $lib."
+ 	    $echo "*** I have the capability to make that library automatically link in when"
+ 	    $echo "*** you link to this library.  But I can only do this if you have a"
+ 	    $echo "*** shared version of the library, which you do not appear to have."
  	    if test "$module" = yes; then
- 	      $ECHO "*** But as you try to build a module library, libtool will still create "
- 	      $ECHO "*** a static module, that should work as long as the dlopening application"
- 	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ 	      $echo "*** But as you try to build a module library, libtool will still create "
+ 	      $echo "*** a static module, that should work as long as the dlopening application"
+ 	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
  	      if test -z "$global_symbol_pipe"; then
- 		$ECHO
- 		$ECHO "*** However, this would only work if libtool was able to extract symbol"
- 		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- 		$ECHO "*** not find such a program.  So, this module is probably useless."
- 		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ 		$echo
+ 		$echo "*** However, this would only work if libtool was able to extract symbol"
+ 		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ 		$echo "*** not find such a program.  So, this module is probably useless."
+ 		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
  	      fi
  	      if test "$build_old_libs" = no; then
  		build_libtool_libs=module
@@@ -5339,8 -2902,7 +2902,7 @@@
  	    temp_deplibs=
  	    for libdir in $dependency_libs; do
  	      case $libdir in
- 	      -R*) func_stripname '-R' '' "$libdir"
- 	           temp_xrpath=$func_stripname_result
+ 	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
  		   case " $xrpath " in
  		   *" $temp_xrpath "*) ;;
  		   *) xrpath="$xrpath $temp_xrpath";;
@@@ -5358,7 -2920,7 +2920,7 @@@
  	  tmp_libs=
  	  for deplib in $dependency_libs; do
  	    newdependency_libs="$deplib $newdependency_libs"
- 	    if $opt_duplicate_deps ; then
+ 	    if test "X$duplicate_deps" = "Xyes" ; then
  	      case "$tmp_libs " in
  	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  	      esac
@@@ -5372,71 -2934,94 +2934,94 @@@
  	      case $deplib in
  	      -L*) path="$deplib" ;;
  	      *.la)
- 	        func_dirname "$deplib" "" "."
- 		dir="$func_dirname_result"
+ 		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+ 		test "X$dir" = "X$deplib" && dir="."
  		# We need an absolute path.
  		case $dir in
  		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
  		*)
  		  absdir=`cd "$dir" && pwd`
  		  if test -z "$absdir"; then
- 		    func_warning "cannot determine absolute directory name of \`$dir'"
+ 		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
  		    absdir="$dir"
  		  fi
  		  ;;
  		esac
- 		if $GREP "^installed=no" $deplib > /dev/null; then
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+ 		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ 		    exit $EXIT_FAILURE
+ 		  fi
+ 		  if test "$absdir" != "$libdir"; then
+ 		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+ 		  fi
+ 		  path="$absdir"
+ 		fi
+ 		depdepl=
  		case $host in
  		*-*-darwin*)
- 		  depdepl=
+ 		  # we do not want to link against static libs,
+ 		  # but need to link against shared
  		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ 		  eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
  		  if test -n "$deplibrary_names" ; then
  		    for tmp in $deplibrary_names ; do
  		      depdepl=$tmp
  		    done
- 		    if test -f "$absdir/$objdir/$depdepl" ; then
- 		      depdepl="$absdir/$objdir/$depdepl"
- 		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                       if test -z "$darwin_install_name"; then
-                           darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                       fi
- 		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- 		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
- 		      path=
+ 		    if test -f "$deplibdir/$depdepl" ; then
+ 		      depdepl="$deplibdir/$depdepl"
+ 	      	    elif test -f "$path/$depdepl" ; then
+ 		      depdepl="$path/$depdepl"
+ 		    else
+ 		      # Can't find it, oh well...
+ 		      depdepl=
  		    fi
+ 		    # do not add paths which are already there
+ 		    case " $newlib_search_path " in
+ 		    *" $path "*) ;;
+ 		    *) newlib_search_path="$newlib_search_path $path";;
+ 		    esac
  		  fi
+ 		  path=""
  		  ;;
  		*)
- 		  path="-L$absdir/$objdir"
+ 		  path="-L$path"
  		  ;;
  		esac
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  test -z "$libdir" && \
- 		    func_fatal_error "\`$deplib' is not a valid libtool archive"
- 		  test "$absdir" != "$libdir" && \
- 		    func_warning "\`$deplib' seems to be moved"
- 
- 		  path="-L$absdir"
- 		fi
  		;;
+ 	      -l*)
+ 		case $host in
+ 		*-*-darwin*)
+ 		  # Again, we only want to link against shared libraries
+ 		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+ 		  for tmp in $newlib_search_path ; do
+ 		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
+ 		      eval depdepl="$tmp/lib$tmp_libs.dylib"
+ 		      break
+ 		    fi
+ 		  done
+ 		  path=""
+ 		  ;;
+ 		*) continue ;;
+ 		esac
+ 		;;
+ 	      *) continue ;;
  	      esac
  	      case " $deplibs " in
  	      *" $path "*) ;;
  	      *) deplibs="$path $deplibs" ;;
  	      esac
+ 	      case " $deplibs " in
+ 	      *" $depdepl "*) ;;
+ 	      *) deplibs="$depdepl $deplibs" ;;
+ 	      esac
  	    done
  	  fi # link_all_deplibs != no
  	fi # linkmode = lib
        done # for deplib in $libs
-       if test "$pass" = link; then
- 	if test "$linkmode" = "prog"; then
- 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
- 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
- 	else
- 	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	fi
-       fi
        dependency_libs="$newdependency_libs"
        if test "$pass" = dlpreopen; then
  	# Link the dlpreopened libraries before other libraries
@@@ -5535,36 -3120,39 +3120,39 @@@
      done # for pass
      if test "$linkmode" = prog; then
        dlfiles="$newdlfiles"
-     fi
-     if test "$linkmode" = prog || test "$linkmode" = lib; then
        dlprefiles="$newdlprefiles"
      fi
  
      case $linkmode in
      oldlib)
-       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- 	func_warning "\`-dlopen' is ignored for archives"
-       fi
- 
        case " $deplibs" in
        *\ -l* | *\ -L*)
- 	func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ 	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
        esac
  
-       test -n "$rpath" && \
- 	func_warning "\`-rpath' is ignored for archives"
+       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ 	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+       fi
+ 
+       if test -n "$rpath"; then
+ 	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+       fi
  
-       test -n "$xrpath" && \
- 	func_warning "\`-R' is ignored for archives"
+       if test -n "$xrpath"; then
+ 	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+       fi
  
-       test -n "$vinfo" && \
- 	func_warning "\`-version-info/-version-number' is ignored for archives"
+       if test -n "$vinfo"; then
+ 	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+       fi
  
-       test -n "$release" && \
- 	func_warning "\`-release' is ignored for archives"
+       if test -n "$release"; then
+ 	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+       fi
  
-       test -n "$export_symbols$export_symbols_regex" && \
- 	func_warning "\`-export-symbols' is ignored for archives"
+       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ 	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+       fi
  
        # Now set the variables for building old libraries.
        build_libtool_libs=no
@@@ -5576,48 -3164,48 +3164,48 @@@
        # Make sure we only generate libraries of the form `libNAME.la'.
        case $outputname in
        lib*)
- 	func_stripname 'lib' '.la' "$outputname"
- 	name=$func_stripname_result
+ 	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
  	eval shared_ext=\"$shrext_cmds\"
  	eval libname=\"$libname_spec\"
  	;;
        *)
- 	test "$module" = no && \
- 	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
- 
+ 	if test "$module" = no; then
+ 	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
  	if test "$need_lib_prefix" != no; then
  	  # Add the "lib" prefix for modules if required
- 	  func_stripname '' '.la' "$outputname"
- 	  name=$func_stripname_result
+ 	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
  	  eval shared_ext=\"$shrext_cmds\"
  	  eval libname=\"$libname_spec\"
  	else
- 	  func_stripname '' '.la' "$outputname"
- 	  libname=$func_stripname_result
+ 	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
  	fi
  	;;
        esac
  
        if test -n "$objs"; then
  	if test "$deplibs_check_method" != pass_all; then
- 	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ 	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+ 	  exit $EXIT_FAILURE
  	else
- 	  $ECHO
- 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
- 	  $ECHO "*** objects $objs is not portable!"
+ 	  $echo
+ 	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
+ 	  $echo "*** objects $objs is not portable!"
  	  libobjs="$libobjs $objs"
  	fi
        fi
  
-       test "$dlself" != no && \
- 	func_warning "\`-dlopen self' is ignored for libtool libraries"
+       if test "$dlself" != no; then
+ 	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+       fi
  
        set dummy $rpath
-       shift
-       test "$#" -gt 1 && \
- 	func_warning "ignoring multiple \`-rpath's for a libtool library"
- 
-       install_libdir="$1"
+       if test "$#" -gt 2; then
+ 	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+       fi
+       install_libdir="$2"
  
        oldlibs=
        if test -z "$rpath"; then
@@@ -5631,21 -3219,25 +3219,25 @@@
  	  build_old_libs=yes
  	fi
  
- 	test -n "$vinfo" && \
- 	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+ 	if test -n "$vinfo"; then
+ 	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+ 	fi
  
- 	test -n "$release" && \
- 	  func_warning "\`-release' is ignored for convenience libraries"
+ 	if test -n "$release"; then
+ 	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+ 	fi
        else
  
  	# Parse the version information argument.
  	save_ifs="$IFS"; IFS=':'
  	set dummy $vinfo 0 0 0
- 	shift
  	IFS="$save_ifs"
  
- 	test -n "$7" && \
- 	  func_fatal_help "too many parameters to \`-version-info'"
+ 	if test -n "$8"; then
+ 	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
  
  	# convert absolute version numbers to libtool ages
  	# this retains compatibility with .la files and attempts
@@@ -5653,9 -3245,9 +3245,9 @@@
  
  	case $vinfo_number in
  	yes)
- 	  number_major="$1"
- 	  number_minor="$2"
- 	  number_revision="$3"
+ 	  number_major="$2"
+ 	  number_minor="$3"
+ 	  number_revision="$4"
  	  #
  	  # There are really only two kinds -- those that
  	  # use the current revision as the major version
@@@ -5665,8 -3257,7 +3257,7 @@@
  	  #
  	  case $version_type in
  	  darwin|linux|osf|windows|none)
- 	    func_arith $number_major + $number_minor
- 	    current=$func_arith_result
+ 	    current=`expr $number_major + $number_minor`
  	    age="$number_minor"
  	    revision="$number_revision"
  	    ;;
@@@ -5676,21 -3267,22 +3267,22 @@@
  	    age="0"
  	    ;;
  	  irix|nonstopux)
- 	    func_arith $number_major + $number_minor
- 	    current=$func_arith_result
+ 	    current=`expr $number_major + $number_minor`
  	    age="$number_minor"
  	    revision="$number_minor"
  	    lt_irix_increment=no
  	    ;;
  	  *)
- 	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ 	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ 	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+ 	    exit $EXIT_FAILURE
  	    ;;
  	  esac
  	  ;;
  	no)
- 	  current="$1"
- 	  revision="$2"
- 	  age="$3"
+ 	  current="$2"
+ 	  revision="$3"
+ 	  age="$4"
  	  ;;
  	esac
  
@@@ -5698,30 -3290,34 +3290,34 @@@
  	case $current in
  	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
  	*)
- 	  func_error "CURRENT \`$current' must be a nonnegative integer"
- 	  func_fatal_error "\`$vinfo' is not valid version information"
+ 	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+ 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ 	  exit $EXIT_FAILURE
  	  ;;
  	esac
  
  	case $revision in
  	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
  	*)
- 	  func_error "REVISION \`$revision' must be a nonnegative integer"
- 	  func_fatal_error "\`$vinfo' is not valid version information"
+ 	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+ 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ 	  exit $EXIT_FAILURE
  	  ;;
  	esac
  
  	case $age in
  	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
  	*)
- 	  func_error "AGE \`$age' must be a nonnegative integer"
- 	  func_fatal_error "\`$vinfo' is not valid version information"
+ 	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+ 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ 	  exit $EXIT_FAILURE
  	  ;;
  	esac
  
  	if test "$age" -gt "$current"; then
- 	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
- 	  func_fatal_error "\`$vinfo' is not valid version information"
+ 	  $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 $EXIT_FAILURE
  	fi
  
  	# Calculate the version variables.
@@@ -5734,12 -3330,10 +3330,10 @@@
  	darwin)
  	  # Like Linux, but with the current version available in
  	  # verstring for coding it into the library header
- 	  func_arith $current - $age
- 	  major=.$func_arith_result
+ 	  major=.`expr $current - $age`
  	  versuffix="$major.$age.$revision"
  	  # Darwin ld doesn't like 0 for these options...
- 	  func_arith $current + 1
- 	  minor_current=$func_arith_result
+ 	  minor_current=`expr $current + 1`
  	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
  	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
  	  ;;
@@@ -5751,17 -3345,15 +3345,15 @@@
  
  	freebsd-elf)
  	  major=".$current"
- 	  versuffix=".$current"
+ 	  versuffix=".$current";
  	  ;;
  
  	irix | nonstopux)
  	  if test "X$lt_irix_increment" = "Xno"; then
- 	    func_arith $current - $age
+ 	    major=`expr $current - $age`
  	  else
- 	    func_arith $current - $age + 1
+ 	    major=`expr $current - $age + 1`
  	  fi
- 	  major=$func_arith_result
- 
  	  case $version_type in
  	    nonstopux) verstring_prefix=nonstopux ;;
  	    *)         verstring_prefix=sgi ;;
@@@ -5771,10 -3363,8 +3363,8 @@@
  	  # Add in all the interfaces that we are compatible with.
  	  loop=$revision
  	  while test "$loop" -ne 0; do
- 	    func_arith $revision - $loop
- 	    iface=$func_arith_result
- 	    func_arith $loop - 1
- 	    loop=$func_arith_result
+ 	    iface=`expr $revision - $loop`
+ 	    loop=`expr $loop - 1`
  	    verstring="$verstring_prefix$major.$iface:$verstring"
  	  done
  
@@@ -5784,24 -3374,20 +3374,20 @@@
  	  ;;
  
  	linux)
- 	  func_arith $current - $age
- 	  major=.$func_arith_result
+ 	  major=.`expr $current - $age`
  	  versuffix="$major.$age.$revision"
  	  ;;
  
  	osf)
- 	  func_arith $current - $age
- 	  major=.$func_arith_result
+ 	  major=.`expr $current - $age`
  	  versuffix=".$current.$age.$revision"
  	  verstring="$current.$age.$revision"
  
  	  # Add in all the interfaces that we are compatible with.
  	  loop=$age
  	  while test "$loop" -ne 0; do
- 	    func_arith $current - $loop
- 	    iface=$func_arith_result
- 	    func_arith $loop - 1
- 	    loop=$func_arith_result
+ 	    iface=`expr $current - $loop`
+ 	    loop=`expr $loop - 1`
  	    verstring="$verstring:${iface}.0"
  	  done
  
@@@ -5809,11 -3395,6 +3395,6 @@@
  	  verstring="$verstring:${current}.0"
  	  ;;
  
- 	qnx)
- 	  major=".$current"
- 	  versuffix=".$current"
- 	  ;;
- 
  	sunos)
  	  major=".$current"
  	  versuffix=".$current.$revision"
@@@ -5822,13 -3403,14 +3403,14 @@@
  	windows)
  	  # Use '-' rather than '.', since we only want one
  	  # extension on DOS 8.3 filesystems.
- 	  func_arith $current - $age
- 	  major=$func_arith_result
+ 	  major=`expr $current - $age`
  	  versuffix="-$major"
  	  ;;
  
  	*)
- 	  func_fatal_configuration "unknown library version type \`$version_type'"
+ 	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ 	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+ 	  exit $EXIT_FAILURE
  	  ;;
  	esac
  
@@@ -5862,7 -3444,7 +3444,7 @@@
  	# Check to see if the archive will have undefined symbols.
  	if test "$allow_undefined" = yes; then
  	  if test "$allow_undefined_flag" = unsupported; then
- 	    func_warning "undefined symbols not allowed in $host shared libraries"
+ 	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
  	    build_libtool_libs=no
  	    build_old_libs=yes
  	  fi
@@@ -5870,26 -3452,21 +3452,21 @@@
  	  # Don't allow undefined symbols.
  	  allow_undefined_flag="$no_undefined_flag"
  	fi
- 
        fi
  
-       func_generate_dlsyms "$libname" "$libname" "yes"
-       libobjs="$libobjs $symfileobj"
-       test "X$libobjs" = "X " && libobjs=
- 
        if test "$mode" != relink; then
  	# Remove our outputs, but don't remove object files since they
  	# may have been created when compiling PIC objects.
  	removelist=
- 	tempremovelist=`$ECHO "$output_objdir/*"`
+ 	tempremovelist=`$echo "$output_objdir/*"`
  	for p in $tempremovelist; do
  	  case $p in
  	    *.$objext)
  	       ;;
  	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
  	       if test "X$precious_files_regex" != "X"; then
- 		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- 		 then
+ 	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ 	         then
  		   continue
  		 fi
  	       fi
@@@ -5898,8 -3475,10 +3475,10 @@@
  	    *) ;;
  	  esac
  	done
- 	test -n "$removelist" && \
- 	  func_show_eval "${RM}r \$removelist"
+ 	if test -n "$removelist"; then
+ 	  $show "${rm}r $removelist"
+ 	  $run ${rm}r $removelist
+ 	fi
        fi
  
        # Now set the variables for building old libraries.
@@@ -5907,14 -3486,14 +3486,14 @@@
  	oldlibs="$oldlibs $output_objdir/$libname.$libext"
  
  	# Transform .lo files to .o files.
- 	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ 	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
        fi
  
        # Eliminate all temporary directories.
        #for path in $notinst_path; do
-       #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-       #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-       #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+       #	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+       #	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+       #	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
        #done
  
        if test -n "$xrpath"; then
@@@ -5960,7 -3539,7 +3539,7 @@@
  	    ;;
  	  *-*-rhapsody* | *-*-darwin1.[012])
  	    # Rhapsody C library is in the System framework
- 	    deplibs="$deplibs System.ltframework"
+ 	    deplibs="$deplibs -framework System"
  	    ;;
  	  *-*-netbsd*)
  	    # Don't link with libc until the a.out ld.so is fixed.
@@@ -5974,7 -3553,7 +3553,7 @@@
  	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
  	    # Compiler inserts libc in the correct place for threads to work
  	    ;;
- 	  *)
+  	  *)
  	    # Add libc to deplibs on all other systems if necessary.
  	    if test "$build_libtool_need_lc" = "yes"; then
  	      deplibs="$deplibs -lc"
@@@ -6011,18 -3590,17 +3590,17 @@@
  	  # limits. Maybe even breaks it.  We compile a program, linking it
  	  # against the deplibs as a proxy for the library.  Then we can check
  	  # whether they linked in statically or dynamically with ldd.
- 	  $opt_dry_run || $RM conftest.c
+ 	  $rm conftest.c
  	  cat > conftest.c <<EOF
  	  int main() { return 0; }
  EOF
- 	  $opt_dry_run || $RM conftest
+ 	  $rm conftest
  	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
  	    ldd_output=`ldd conftest`
  	    for i in $deplibs; do
- 	      case $i in
- 	      -l*)
- 		func_stripname -l '' "$i"
- 		name=$func_stripname_result
+ 	      name=`expr $i : '-l\(.*\)'`
+ 	      # If $name is empty we are operating on a -L argument.
+               if test "$name" != "" && test "$name" != "0"; then
  		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  		  case " $predeps $postdeps " in
  		  *" $i "*)
@@@ -6030,40 -3608,37 +3608,37 @@@
  		    i=""
  		    ;;
  		  esac
- 		fi
+ 	        fi
  		if test -n "$i" ; then
- 		  libname=`eval "\\$ECHO \"$libname_spec\""`
- 		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- 		  set dummy $deplib_matches; shift
- 		  deplib_match=$1
+ 		  libname=`eval \\$echo \"$libname_spec\"`
+ 		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ 		  set dummy $deplib_matches
+ 		  deplib_match=$2
  		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  		    newdeplibs="$newdeplibs $i"
  		  else
  		    droppeddeps=yes
- 		    $ECHO
- 		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- 		    $ECHO "*** I have the capability to make that library automatically link in when"
- 		    $ECHO "*** you link to this library.  But I can only do this if you have a"
- 		    $ECHO "*** shared version of the library, which I believe you do not have"
- 		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
- 		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ 		    $echo
+ 		    $echo "*** Warning: dynamic linker does not accept needed library $i."
+ 		    $echo "*** I have the capability to make that library automatically link in when"
+ 		    $echo "*** you link to this library.  But I can only do this if you have a"
+ 		    $echo "*** shared version of the library, which I believe you do not have"
+ 		    $echo "*** because a test_compile did reveal that the linker did not use it for"
+ 		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
  		  fi
  		fi
- 		;;
- 	      *)
+ 	      else
  		newdeplibs="$newdeplibs $i"
- 		;;
- 	      esac
+ 	      fi
  	    done
  	  else
  	    # Error occurred in the first compile.  Let's try to salvage
  	    # the situation: Compile a separate program for each library.
  	    for i in $deplibs; do
- 	      case $i in
- 	      -l*)
- 		func_stripname -l '' "$i"
- 		name=$func_stripname_result
- 		$opt_dry_run || $RM conftest
+ 	      name=`expr $i : '-l\(.*\)'`
+ 	      # If $name is empty we are operating on a -L argument.
+               if test "$name" != "" && test "$name" != "0"; then
+ 		$rm conftest
  		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
  		  ldd_output=`ldd conftest`
  		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@@ -6075,47 -3650,44 +3650,44 @@@
  		    esac
  		  fi
  		  if test -n "$i" ; then
- 		    libname=`eval "\\$ECHO \"$libname_spec\""`
- 		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- 		    set dummy $deplib_matches; shift
- 		    deplib_match=$1
+ 		    libname=`eval \\$echo \"$libname_spec\"`
+ 		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ 		    set dummy $deplib_matches
+ 		    deplib_match=$2
  		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  		      newdeplibs="$newdeplibs $i"
  		    else
  		      droppeddeps=yes
- 		      $ECHO
- 		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- 		      $ECHO "*** I have the capability to make that library automatically link in when"
- 		      $ECHO "*** you link to this library.  But I can only do this if you have a"
- 		      $ECHO "*** shared version of the library, which you do not appear to have"
- 		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
- 		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ 		      $echo
+ 		      $echo "*** Warning: dynamic linker does not accept needed library $i."
+ 		      $echo "*** I have the capability to make that library automatically link in when"
+ 		      $echo "*** you link to this library.  But I can only do this if you have a"
+ 		      $echo "*** shared version of the library, which you do not appear to have"
+ 		      $echo "*** because a test_compile did reveal that the linker did not use this one"
+ 		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
  		    fi
  		  fi
  		else
  		  droppeddeps=yes
- 		  $ECHO
- 		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
- 		  $ECHO "*** make it link in!  You will probably need to install it or some"
- 		  $ECHO "*** library that it depends on before this library will be fully"
- 		  $ECHO "*** functional.  Installing it before continuing would be even better."
+ 		  $echo
+ 		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
+ 		  $echo "*** make it link in!  You will probably need to install it or some"
+ 		  $echo "*** library that it depends on before this library will be fully"
+ 		  $echo "*** functional.  Installing it before continuing would be even better."
  		fi
- 		;;
- 	      *)
+ 	      else
  		newdeplibs="$newdeplibs $i"
- 		;;
- 	      esac
+ 	      fi
  	    done
  	  fi
  	  ;;
  	file_magic*)
- 	  set dummy $deplibs_check_method; shift
- 	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ 	  set dummy $deplibs_check_method
+ 	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
  	  for a_deplib in $deplibs; do
- 	    case $a_deplib in
- 	    -l*)
- 	      func_stripname -l '' "$a_deplib"
- 	      name=$func_stripname_result
+ 	    name=`expr $a_deplib : '-l\(.*\)'`
+ 	    # If $name is empty we are operating on a -L argument.
+             if test "$name" != "" && test  "$name" != "0"; then
  	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  		case " $predeps $postdeps " in
  		*" $a_deplib "*)
@@@ -6125,13 -3697,13 +3697,13 @@@
  		esac
  	      fi
  	      if test -n "$a_deplib" ; then
- 		libname=`eval "\\$ECHO \"$libname_spec\""`
+ 		libname=`eval \\$echo \"$libname_spec\"`
  		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  		  for potent_lib in $potential_libs; do
  		      # Follow soft links.
- 		      if ls -lLd "$potent_lib" 2>/dev/null |
- 			 $GREP " -> " >/dev/null; then
+ 		      if ls -lLd "$potent_lib" 2>/dev/null \
+ 			 | grep " -> " >/dev/null; then
  			continue
  		      fi
  		      # The statement above tries to avoid entering an
@@@ -6144,12 -3716,12 +3716,12 @@@
  			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
  			case $potliblink in
  			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- 			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ 			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
  			esac
  		      done
- 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
- 			 $SED -e 10q |
- 			 $EGREP "$file_magic_regex" > /dev/null; then
+ 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+ 			 | ${SED} 10q \
+ 			 | $EGREP "$file_magic_regex" > /dev/null; then
  			newdeplibs="$newdeplibs $a_deplib"
  			a_deplib=""
  			break 2
@@@ -6159,35 -3731,32 +3731,32 @@@
  	      fi
  	      if test -n "$a_deplib" ; then
  		droppeddeps=yes
- 		$ECHO
- 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- 		$ECHO "*** I have the capability to make that library automatically link in when"
- 		$ECHO "*** you link to this library.  But I can only do this if you have a"
- 		$ECHO "*** shared version of the library, which you do not appear to have"
- 		$ECHO "*** because I did check the linker path looking for a file starting"
+ 		$echo
+ 		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+ 		$echo "*** I have the capability to make that library automatically link in when"
+ 		$echo "*** you link to this library.  But I can only do this if you have a"
+ 		$echo "*** shared version of the library, which you do not appear to have"
+ 		$echo "*** because I did check the linker path looking for a file starting"
  		if test -z "$potlib" ; then
- 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ 		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
  		else
- 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
- 		  $ECHO "*** using a file magic. Last file checked: $potlib"
+ 		  $echo "*** with $libname and none of the candidates passed a file format test"
+ 		  $echo "*** using a file magic. Last file checked: $potlib"
  		fi
  	      fi
- 	      ;;
- 	    *)
+ 	    else
  	      # Add a -L argument.
  	      newdeplibs="$newdeplibs $a_deplib"
- 	      ;;
- 	    esac
+ 	    fi
  	  done # Gone through all deplibs.
  	  ;;
  	match_pattern*)
- 	  set dummy $deplibs_check_method; shift
- 	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ 	  set dummy $deplibs_check_method
+ 	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
  	  for a_deplib in $deplibs; do
- 	    case $a_deplib in
- 	    -l*)
- 	      func_stripname -l '' "$a_deplib"
- 	      name=$func_stripname_result
+ 	    name=`expr $a_deplib : '-l\(.*\)'`
+ 	    # If $name is empty we are operating on a -L argument.
+ 	    if test -n "$name" && test "$name" != "0"; then
  	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  		case " $predeps $postdeps " in
  		*" $a_deplib "*)
@@@ -6197,13 -3766,14 +3766,14 @@@
  		esac
  	      fi
  	      if test -n "$a_deplib" ; then
- 		libname=`eval "\\$ECHO \"$libname_spec\""`
+ 		libname=`eval \\$echo \"$libname_spec\"`
  		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  		  for potent_lib in $potential_libs; do
  		    potlib="$potent_lib" # see symlink-check above in file_magic test
- 		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
- 		       $EGREP "$match_pattern_regex" > /dev/null; then
+ 		    if eval $echo \"$potent_lib\" 2>/dev/null \
+ 		        | ${SED} 10q \
+ 		        | $EGREP "$match_pattern_regex" > /dev/null; then
  		      newdeplibs="$newdeplibs $a_deplib"
  		      a_deplib=""
  		      break 2
@@@ -6213,46 -3783,44 +3783,44 @@@
  	      fi
  	      if test -n "$a_deplib" ; then
  		droppeddeps=yes
- 		$ECHO
- 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- 		$ECHO "*** I have the capability to make that library automatically link in when"
- 		$ECHO "*** you link to this library.  But I can only do this if you have a"
- 		$ECHO "*** shared version of the library, which you do not appear to have"
- 		$ECHO "*** because I did check the linker path looking for a file starting"
+ 		$echo
+ 		$echo "*** Warning: linker path does not have real file for library $a_deplib."
+ 		$echo "*** I have the capability to make that library automatically link in when"
+ 		$echo "*** you link to this library.  But I can only do this if you have a"
+ 		$echo "*** shared version of the library, which you do not appear to have"
+ 		$echo "*** because I did check the linker path looking for a file starting"
  		if test -z "$potlib" ; then
- 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ 		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
  		else
- 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
- 		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ 		  $echo "*** with $libname and none of the candidates passed a file format test"
+ 		  $echo "*** using a regex pattern. Last file checked: $potlib"
  		fi
  	      fi
- 	      ;;
- 	    *)
+ 	    else
  	      # Add a -L argument.
  	      newdeplibs="$newdeplibs $a_deplib"
- 	      ;;
- 	    esac
+ 	    fi
  	  done # Gone through all deplibs.
  	  ;;
  	none | unknown | *)
  	  newdeplibs=""
- 	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
- 	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ 	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+ 	    -e 's/ -[LR][^ ]*//g'`
  	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
  	    for i in $predeps $postdeps ; do
  	      # can't use Xsed below, because $i might contain '/'
- 	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ 	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
  	    done
  	  fi
- 	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
- 	     $GREP . >/dev/null; then
- 	    $ECHO
+ 	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
+ 	    | grep . >/dev/null; then
+ 	    $echo
  	    if test "X$deplibs_check_method" = "Xnone"; then
- 	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ 	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
  	    else
- 	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ 	      $echo "*** Warning: inter-library dependencies are not known to be supported."
  	    fi
- 	    $ECHO "*** All declared inter-library dependencies are being dropped."
+ 	    $echo "*** All declared inter-library dependencies are being dropped."
  	    droppeddeps=yes
  	  fi
  	  ;;
@@@ -6265,24 -3833,24 +3833,24 @@@
  
  	case $host in
  	*-*-rhapsody* | *-*-darwin1.[012])
- 	  # On Rhapsody replace the C library with the System framework
- 	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ 	  # On Rhapsody replace the C library is the System framework
+ 	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
  	  ;;
  	esac
  
  	if test "$droppeddeps" = yes; then
  	  if test "$module" = yes; then
- 	    $ECHO
- 	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
- 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
- 	    $ECHO "*** a static module, that should work as long as the dlopening"
- 	    $ECHO "*** application is linked with the -dlopen flag."
+ 	    $echo
+ 	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
+ 	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
+ 	    $echo "*** a static module, that should work as long as the dlopening"
+ 	    $echo "*** application is linked with the -dlopen flag."
  	    if test -z "$global_symbol_pipe"; then
- 	      $ECHO
- 	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
- 	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- 	      $ECHO "*** not find such a program.  So, this module is probably useless."
- 	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ 	      $echo
+ 	      $echo "*** However, this would only work if libtool was able to extract symbol"
+ 	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ 	      $echo "*** not find such a program.  So, this module is probably useless."
+ 	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
  	    fi
  	    if test "$build_old_libs" = no; then
  	      oldlibs="$output_objdir/$libname.$libext"
@@@ -6292,16 -3860,16 +3860,16 @@@
  	      build_libtool_libs=no
  	    fi
  	  else
- 	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
- 	    $ECHO "*** automatically added whenever a program is linked with this library"
- 	    $ECHO "*** or is declared to -dlopen it."
+ 	    $echo "*** The inter-library dependencies that have been dropped here will be"
+ 	    $echo "*** automatically added whenever a program is linked with this library"
+ 	    $echo "*** or is declared to -dlopen it."
  
  	    if test "$allow_undefined" = no; then
- 	      $ECHO
- 	      $ECHO "*** Since this library must not contain undefined symbols,"
- 	      $ECHO "*** because either the platform does not support them or"
- 	      $ECHO "*** it was explicitly requested with -no-undefined,"
- 	      $ECHO "*** libtool will only create a static version of it."
+ 	      $echo
+ 	      $echo "*** Since this library must not contain undefined symbols,"
+ 	      $echo "*** because either the platform does not support them or"
+ 	      $echo "*** it was explicitly requested with -no-undefined,"
+ 	      $echo "*** libtool will only create a static version of it."
  	      if test "$build_old_libs" = no; then
  		oldlibs="$output_objdir/$libname.$libext"
  		build_libtool_libs=module
@@@ -6315,14 -3883,7 +3883,7 @@@
  	# Done checking deplibs!
  	deplibs=$newdeplibs
        fi
-       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-       case $host in
- 	*-*-darwin*)
- 	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	  ;;
-       esac
+ 
  
        # move library search paths that coincide with paths to not yet
        # installed libraries to the beginning of the library search list
@@@ -6351,6 -3912,7 +3912,7 @@@
        done
        deplibs="$new_libs"
  
+ 
        # All the library-specific variables (install_libdir is set above).
        library_names=
        old_library=
@@@ -6395,7 -3957,10 +3957,10 @@@
  	     test -n "$hardcode_libdirs"; then
  	    libdir="$hardcode_libdirs"
  	    if test -n "$hardcode_libdir_flag_spec_ld"; then
- 	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ 	      case $archive_cmds in
+ 	      *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+ 	      *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+ 	      esac
  	    else
  	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
  	    fi
@@@ -6421,9 -3986,8 +3986,8 @@@
  	eval shared_ext=\"$shrext_cmds\"
  	eval library_names=\"$library_names_spec\"
  	set dummy $library_names
- 	shift
- 	realname="$1"
- 	shift
+ 	realname="$2"
+ 	shift; shift
  
  	if test -n "$soname_spec"; then
  	  eval soname=\"$soname_spec\"
@@@ -6442,122 -4006,71 +4006,71 @@@
  	done
  
  	# Use standard objects if they are pic
- 	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- 	test "X$libobjs" = "X " && libobjs=
- 
- 	delfiles=
- 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- 	  export_symbols="$output_objdir/$libname.uexp"
- 	  delfiles="$delfiles $export_symbols"
- 	fi
- 
- 	orig_export_symbols=
- 	case $host_os in
- 	cygwin* | mingw*)
- 	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
- 	    # exporting using user supplied symfile
- 	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
- 	      # and it's NOT already a .def file. Must figure out
- 	      # which of the given symbols are data symbols and tag
- 	      # them as such. So, trigger use of export_symbols_cmds.
- 	      # export_symbols gets reassigned inside the "prepare
- 	      # the list of exported symbols" if statement, so the
- 	      # include_expsyms logic still works.
- 	      orig_export_symbols="$export_symbols"
- 	      export_symbols=
- 	      always_export_symbols=yes
- 	    fi
- 	  fi
- 	  ;;
- 	esac
+ 	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  
  	# Prepare the list of exported symbols
  	if test -z "$export_symbols"; then
  	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- 	    func_verbose "generating symbol list for \`$libname.la'"
+ 	    $show "generating symbol list for \`$libname.la'"
  	    export_symbols="$output_objdir/$libname.exp"
- 	    $opt_dry_run || $RM $export_symbols
+ 	    $run $rm $export_symbols
  	    cmds=$export_symbols_cmds
  	    save_ifs="$IFS"; IFS='~'
  	    for cmd in $cmds; do
  	      IFS="$save_ifs"
  	      eval cmd=\"$cmd\"
- 	      func_len " $cmd"
- 	      len=$func_len_result
- 	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- 		func_show_eval "$cmd" 'exit $?'
- 		skipped_export=false
+ 	      if len=`expr "X$cmd" : ".*"` &&
+ 	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ 	        $show "$cmd"
+ 	        $run eval "$cmd" || exit $?
+ 	        skipped_export=false
  	      else
- 		# The command line is too long to execute in one step.
- 		func_verbose "using reloadable object file for export list..."
- 		skipped_export=:
+ 	        # The command line is too long to execute in one step.
+ 	        $show "using reloadable object file for export list..."
+ 	        skipped_export=:
  		# Break out early, otherwise skipped_export may be
  		# set to false by a later but shorter cmd.
  		break
  	      fi
  	    done
  	    IFS="$save_ifs"
- 	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
- 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- 	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ 	    if test -n "$export_symbols_regex"; then
+ 	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+ 	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ 	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+ 	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
  	    fi
  	  fi
  	fi
  
  	if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	  tmp_export_symbols="$export_symbols"
- 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- 	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- 	fi
- 
- 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
- 	  # The given exports_symbols file has to be filtered, so filter it.
- 	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- 	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
- 	  # 's' commands which not all seds can handle. GNU sed should be fine
- 	  # though. Also, the filter scales superlinearly with the number of
- 	  # global variables. join(1) would be nice here, but unfortunately
- 	  # isn't a blessed tool.
- 	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- 	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- 	  export_symbols=$output_objdir/$libname.def
- 	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ 	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
  	fi
  
  	tmp_deplibs=
  	for test_deplib in $deplibs; do
- 	  case " $convenience " in
- 	  *" $test_deplib "*) ;;
- 	  *)
- 	    tmp_deplibs="$tmp_deplibs $test_deplib"
- 	    ;;
- 	  esac
+ 		case " $convenience " in
+ 		*" $test_deplib "*) ;;
+ 		*)
+ 			tmp_deplibs="$tmp_deplibs $test_deplib"
+ 			;;
+ 		esac
  	done
  	deplibs="$tmp_deplibs"
  
  	if test -n "$convenience"; then
  	  if test -n "$whole_archive_flag_spec"; then
  	    save_libobjs=$libobjs
  	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- 	    test "X$libobjs" = "X " && libobjs=
  	  else
  	    gentop="$output_objdir/${outputname}x"
  	    generated="$generated $gentop"
  
  	    func_extract_archives $gentop $convenience
  	    libobjs="$libobjs $func_extract_archives_result"
- 	    test "X$libobjs" = "X " && libobjs=
  	  fi
  	fi
- 
+ 	
  	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
  	  eval flag=\"$thread_safe_flag_spec\"
  	  linker_flags="$linker_flags $flag"
@@@ -6565,7 -4078,7 +4078,7 @@@
  
  	# Make a backup of the uninstalled library when relinking
  	if test "$mode" = relink; then
- 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ 	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
  	fi
  
  	# Do each of the archive commands.
@@@ -6578,24 -4091,22 +4091,22 @@@
  	    cmds=$module_cmds
  	  fi
  	else
- 	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- 	    eval test_cmds=\"$archive_expsym_cmds\"
- 	    cmds=$archive_expsym_cmds
- 	  else
- 	    eval test_cmds=\"$archive_cmds\"
- 	    cmds=$archive_cmds
+ 	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ 	  eval test_cmds=\"$archive_expsym_cmds\"
+ 	  cmds=$archive_expsym_cmds
+ 	else
+ 	  eval test_cmds=\"$archive_cmds\"
+ 	  cmds=$archive_cmds
  	  fi
  	fi
  
  	if test "X$skipped_export" != "X:" &&
- 	   func_len " $test_cmds" &&
- 	   len=$func_len_result &&
- 	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ 	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ 	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
  	  :
  	else
- 	  # The command line is too long to link in one step, link piecewise
- 	  # or, if using GNU ld and skipped_export is not :, use a linker
- 	  # script.
+ 	  # The command line is too long to link in one step, link piecewise.
+ 	  $echo "creating reloadable object files..."
  
  	  # Save the value of $output and $libobjs because we want to
  	  # use them later.  If we have whole_archive_flag_spec, we
@@@ -6609,162 -4120,77 +4120,77 @@@
  	    save_libobjs=$libobjs
  	  fi
  	  save_output=$output
- 	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+ 	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
  
  	  # Clear the reloadable object creation command queue and
  	  # initialize k to one.
  	  test_cmds=
  	  concat_cmds=
  	  objlist=
+ 	  delfiles=
  	  last_robj=
  	  k=1
- 
- 	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- 	    output=${output_objdir}/${output_la}.lnkscript
- 	    func_verbose "creating GNU ld script: $output"
- 	    $ECHO 'INPUT (' > $output
- 	    for obj in $save_libobjs
- 	    do
- 	      $ECHO "$obj" >> $output
- 	    done
- 	    $ECHO ')' >> $output
- 	    delfiles="$delfiles $output"
- 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- 	    output=${output_objdir}/${output_la}.lnk
- 	    func_verbose "creating linker input file list: $output"
- 	    : > $output
- 	    set x $save_libobjs
- 	    shift
- 	    firstobj=
- 	    if test "$compiler_needs_object" = yes; then
- 	      firstobj="$1 "
- 	      shift
- 	    fi
- 	    for obj
- 	    do
- 	      $ECHO "$obj" >> $output
- 	    done
- 	    delfiles="$delfiles $output"
- 	    output=$firstobj\"$file_list_spec$output\"
- 	  else
- 	    if test -n "$save_libobjs"; then
- 	      func_verbose "creating reloadable object files..."
- 	      output=$output_objdir/$output_la-${k}.$objext
- 	      eval test_cmds=\"$reload_cmds\"
- 	      func_len " $test_cmds"
- 	      len0=$func_len_result
- 	      len=$len0
- 
- 	      # Loop over the list of objects to be linked.
- 	      for obj in $save_libobjs
- 	      do
- 		func_len " $obj"
- 		func_arith $len + $func_len_result
- 		len=$func_arith_result
- 		if test "X$objlist" = X ||
- 		   test "$len" -lt "$max_cmd_len"; then
- 		  func_append objlist " $obj"
- 		else
- 		  # The command $test_cmds is almost too long, add a
- 		  # command to the queue.
- 		  if test "$k" -eq 1 ; then
- 		    # The first file doesn't have a previous command to add.
- 		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- 		  else
- 		    # All subsequent reloadable object files will link in
- 		    # the last one created.
- 		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
- 		  fi
- 		  last_robj=$output_objdir/$output_la-${k}.$objext
- 		  func_arith $k + 1
- 		  k=$func_arith_result
- 		  output=$output_objdir/$output_la-${k}.$objext
- 		  objlist=$obj
- 		  func_len " $last_robj"
- 		  func_arith $len0 + $func_len_result
- 		  len=$func_arith_result
- 		fi
- 	      done
- 	      # Handle the remaining objects by creating one last
- 	      # reloadable object file.  All subsequent reloadable object
- 	      # files will link in the last one created.
- 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- 	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
- 	      if test -n "$last_robj"; then
- 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
- 	      fi
- 	      delfiles="$delfiles $output"
- 
+ 	  output=$output_objdir/$output_la-${k}.$objext
+ 	  # Loop over the list of objects to be linked.
+ 	  for obj in $save_libobjs
+ 	  do
+ 	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+ 	    if test "X$objlist" = X ||
+ 	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ 		 test "$len" -le "$max_cmd_len"; }; then
+ 	      objlist="$objlist $obj"
  	    else
- 	      output=
- 	    fi
- 
- 	    if ${skipped_export-false}; then
- 	      func_verbose "generating symbol list for \`$libname.la'"
- 	      export_symbols="$output_objdir/$libname.exp"
- 	      $opt_dry_run || $RM $export_symbols
- 	      libobjs=$output
- 	      # Append the command to create the export file.
- 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- 	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
- 	      if test -n "$last_robj"; then
- 		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ 	      # The command $test_cmds is almost too long, add a
+ 	      # command to the queue.
+ 	      if test "$k" -eq 1 ; then
+ 		# The first file doesn't have a previous command to add.
+ 		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ 	      else
+ 		# All subsequent reloadable object files will link in
+ 		# the last one created.
+ 		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
  	      fi
+ 	      last_robj=$output_objdir/$output_la-${k}.$objext
+ 	      k=`expr $k + 1`
+ 	      output=$output_objdir/$output_la-${k}.$objext
+ 	      objlist=$obj
+ 	      len=1
  	    fi
+ 	  done
+ 	  # Handle the remaining objects by creating one last
+ 	  # reloadable object file.  All subsequent reloadable object
+ 	  # files will link in the last one created.
+ 	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ 	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ 
+ 	  if ${skipped_export-false}; then
+ 	    $show "generating symbol list for \`$libname.la'"
+ 	    export_symbols="$output_objdir/$libname.exp"
+ 	    $run $rm $export_symbols
+ 	    libobjs=$output
+ 	    # Append the command to create the export file.
+ 	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+           fi
+ 
+ 	  # Set up a command to remove the reloadable object files
+ 	  # after they are used.
+ 	  i=0
+ 	  while test "$i" -lt "$k"
+ 	  do
+ 	    i=`expr $i + 1`
+ 	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+ 	  done
  
- 	    test -n "$save_libobjs" &&
- 	      func_verbose "creating a temporary reloadable object file: $output"
+ 	  $echo "creating a temporary reloadable object file: $output"
  
- 	    # Loop through the commands generated above and execute them.
- 	    save_ifs="$IFS"; IFS='~'
- 	    for cmd in $concat_cmds; do
- 	      IFS="$save_ifs"
- 	      $opt_silent || {
- 		  func_quote_for_expand "$cmd"
- 		  eval "func_echo $func_quote_for_expand_result"
- 	      }
- 	      $opt_dry_run || eval "$cmd" || {
- 		lt_exit=$?
- 
- 		# Restore the uninstalled library and exit
- 		if test "$mode" = relink; then
- 		  ( cd "$output_objdir" && \
- 		    $RM "${realname}T" && \
- 		    $MV "${realname}U" "$realname" )
- 		fi
- 
- 		exit $lt_exit
- 	      }
- 	    done
+ 	  # Loop through the commands generated above and execute them.
+ 	  save_ifs="$IFS"; IFS='~'
+ 	  for cmd in $concat_cmds; do
  	    IFS="$save_ifs"
- 
- 	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
- 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- 	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- 	    fi
- 	  fi
- 
-           if ${skipped_export-false}; then
- 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
- 	      tmp_export_symbols="$export_symbols"
- 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- 	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- 	    fi
- 
- 	    if test -n "$orig_export_symbols"; then
- 	      # The given exports_symbols file has to be filtered, so filter it.
- 	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- 	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
- 	      # 's' commands which not all seds can handle. GNU sed should be fine
- 	      # though. Also, the filter scales superlinearly with the number of
- 	      # global variables. join(1) would be nice here, but unfortunately
- 	      # isn't a blessed tool.
- 	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- 	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- 	      export_symbols=$output_objdir/$libname.def
- 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- 	    fi
- 	  fi
+ 	    $show "$cmd"
+ 	    $run eval "$cmd" || exit $?
+ 	  done
+ 	  IFS="$save_ifs"
  
  	  libobjs=$output
  	  # Restore the value of output.
@@@ -6772,7 -4198,6 +4198,6 @@@
  
  	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
  	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- 	    test "X$libobjs" = "X " && libobjs=
  	  fi
  	  # Expand the library linking commands again to reset the
  	  # value of $libobjs for piecewise linking.
@@@ -6785,45 -4210,28 +4210,28 @@@
  	      cmds=$module_cmds
  	    fi
  	  else
- 	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- 	      cmds=$archive_expsym_cmds
- 	    else
- 	      cmds=$archive_cmds
+ 	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ 	    cmds=$archive_expsym_cmds
+ 	  else
+ 	    cmds=$archive_cmds
  	    fi
  	  fi
- 	fi
- 
- 	if test -n "$delfiles"; then
- 	  # Append the command to remove temporary files to $cmds.
- 	  eval cmds=\"\$cmds~\$RM $delfiles\"
- 	fi
- 
- 	# Add any objects from preloaded convenience libraries
- 	if test -n "$dlprefiles"; then
- 	  gentop="$output_objdir/${outputname}x"
- 	  generated="$generated $gentop"
  
- 	  func_extract_archives $gentop $dlprefiles
- 	  libobjs="$libobjs $func_extract_archives_result"
- 	  test "X$libobjs" = "X " && libobjs=
+ 	  # Append the command to remove the reloadable object files
+ 	  # to the just-reset $cmds.
+ 	  eval cmds=\"\$cmds~\$rm $delfiles\"
  	fi
- 
  	save_ifs="$IFS"; IFS='~'
  	for cmd in $cmds; do
  	  IFS="$save_ifs"
  	  eval cmd=\"$cmd\"
- 	  $opt_silent || {
- 	    func_quote_for_expand "$cmd"
- 	    eval "func_echo $func_quote_for_expand_result"
- 	  }
- 	  $opt_dry_run || eval "$cmd" || {
+ 	  $show "$cmd"
+ 	  $run eval "$cmd" || {
  	    lt_exit=$?
  
  	    # Restore the uninstalled library and exit
  	    if test "$mode" = relink; then
- 	      ( cd "$output_objdir" && \
- 	        $RM "${realname}T" && \
- 		$MV "${realname}U" "$realname" )
+ 	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
  	    fi
  
  	    exit $lt_exit
@@@ -6833,11 -4241,12 +4241,12 @@@
  
  	# Restore the uninstalled library and exit
  	if test "$mode" = relink; then
- 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+ 	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
  
  	  if test -n "$convenience"; then
  	    if test -z "$whole_archive_flag_spec"; then
- 	      func_show_eval '${RM}r "$gentop"'
+ 	      $show "${rm}r $gentop"
+ 	      $run ${rm}r "$gentop"
  	    fi
  	  fi
  
@@@ -6847,7 -4256,8 +4256,8 @@@
  	# Create links to the real library.
  	for linkname in $linknames; do
  	  if test "$realname" != "$linkname"; then
- 	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ 	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+ 	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
  	  fi
  	done
  
@@@ -6860,35 -4270,39 +4270,39 @@@
        ;;
  
      obj)
-       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- 	func_warning "\`-dlopen' is ignored for objects"
-       fi
- 
        case " $deplibs" in
        *\ -l* | *\ -L*)
- 	func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ 	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
        esac
  
-       test -n "$rpath" && \
- 	func_warning "\`-rpath' is ignored for objects"
+       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ 	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+       fi
  
-       test -n "$xrpath" && \
- 	func_warning "\`-R' is ignored for objects"
+       if test -n "$rpath"; then
+ 	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+       fi
  
-       test -n "$vinfo" && \
- 	func_warning "\`-version-info' is ignored for objects"
+       if test -n "$xrpath"; then
+ 	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+       fi
  
-       test -n "$release" && \
- 	func_warning "\`-release' is ignored for objects"
+       if test -n "$vinfo"; then
+ 	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+       fi
+ 
+       if test -n "$release"; then
+ 	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+       fi
  
        case $output in
        *.lo)
- 	test -n "$objs$old_deplibs" && \
- 	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
- 
- 	libobj=$output
- 	func_lo2o "$libobj"
- 	obj=$func_lo2o_result
+ 	if test -n "$objs$old_deplibs"; then
+ 	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
+ 	libobj="$output"
+ 	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
  	;;
        *)
  	libobj=
@@@ -6897,7 -4311,7 +4311,7 @@@
        esac
  
        # Delete the old objects.
-       $opt_dry_run || $RM $obj $libobj
+       $run $rm $obj $libobj
  
        # Objects from convenience libraries.  This assumes
        # single-version convenience libraries.  Whenever we create
@@@ -6913,7 -4327,7 +4327,7 @@@
        if test -n "$convenience"; then
  	if test -n "$whole_archive_flag_spec"; then
  	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- 	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ 	  reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
  	else
  	  gentop="$output_objdir/${obj}x"
  	  generated="$generated $gentop"
@@@ -6924,15 -4338,24 +4338,24 @@@
        fi
  
        # Create the old-style object.
-       reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+       reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
  
        output="$obj"
-       func_execute_cmds "$reload_cmds" 'exit $?'
+       cmds=$reload_cmds
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+ 	IFS="$save_ifs"
+ 	eval cmd=\"$cmd\"
+ 	$show "$cmd"
+ 	$run eval "$cmd" || exit $?
+       done
+       IFS="$save_ifs"
  
        # Exit if we aren't doing a library object file.
        if test -z "$libobj"; then
  	if test -n "$gentop"; then
- 	  func_show_eval '${RM}r "$gentop"'
+ 	  $show "${rm}r $gentop"
+ 	  $run ${rm}r $gentop
  	fi
  
  	exit $EXIT_SUCCESS
@@@ -6940,13 -4363,14 +4363,14 @@@
  
        if test "$build_libtool_libs" != yes; then
  	if test -n "$gentop"; then
- 	  func_show_eval '${RM}r "$gentop"'
+ 	  $show "${rm}r $gentop"
+ 	  $run ${rm}r $gentop
  	fi
  
  	# Create an invalid libtool object if no PIC, so that we don't
  	# accidentally link it into a program.
  	# $show "echo timestamp > $libobj"
- 	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ 	# $run eval "echo timestamp > $libobj" || exit $?
  	exit $EXIT_SUCCESS
        fi
  
@@@ -6954,11 -4378,20 +4378,20 @@@
  	# Only do commands if we really have different PIC objects.
  	reload_objs="$libobjs $reload_conv_objs"
  	output="$libobj"
- 	func_execute_cmds "$reload_cmds" 'exit $?'
+ 	cmds=$reload_cmds
+ 	save_ifs="$IFS"; IFS='~'
+ 	for cmd in $cmds; do
+ 	  IFS="$save_ifs"
+ 	  eval cmd=\"$cmd\"
+ 	  $show "$cmd"
+ 	  $run eval "$cmd" || exit $?
+ 	done
+ 	IFS="$save_ifs"
        fi
  
        if test -n "$gentop"; then
- 	func_show_eval '${RM}r "$gentop"'
+ 	$show "${rm}r $gentop"
+ 	$run ${rm}r $gentop
        fi
  
        exit $EXIT_SUCCESS
@@@ -6966,45 -4399,39 +4399,39 @@@
  
      prog)
        case $host in
- 	*cygwin*) func_stripname '' '.exe' "$output"
- 	          output=$func_stripname_result.exe;;
+ 	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
        esac
-       test -n "$vinfo" && \
- 	func_warning "\`-version-info' is ignored for programs"
+       if test -n "$vinfo"; then
+ 	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+       fi
  
-       test -n "$release" && \
- 	func_warning "\`-release' is ignored for programs"
+       if test -n "$release"; then
+ 	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+       fi
  
-       test "$preload" = yes \
-         && test "$dlopen_support" = unknown \
- 	&& test "$dlopen_self" = unknown \
- 	&& test "$dlopen_self_static" = unknown && \
- 	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+       if test "$preload" = yes; then
+ 	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+ 	   test "$dlopen_self_static" = unknown; then
+ 	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+ 	fi
+       fi
  
        case $host in
        *-*-rhapsody* | *-*-darwin1.[012])
  	# On Rhapsody replace the C library is the System framework
- 	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- 	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ 	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ 	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
  	;;
        esac
  
        case $host in
-       *-*-darwin*)
- 	# Don't allow lazy linking, it breaks C++ global constructors
- 	# But is supposedly fixed on 10.4 or later (yay!).
- 	if test "$tagname" = CXX ; then
- 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
- 	    10.[0123])
- 	      compile_command="$compile_command ${wl}-bind_at_load"
- 	      finalize_command="$finalize_command ${wl}-bind_at_load"
- 	    ;;
- 	  esac
- 	fi
- 	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
- 	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- 	;;
+       *darwin*)
+         # Don't allow lazy linking, it breaks C++ global constructors
+         if test "$tagname" = CXX ; then
+         compile_command="$compile_command ${wl}-bind_at_load"
+         finalize_command="$finalize_command ${wl}-bind_at_load"
+         fi
+         ;;
        esac
  
  
@@@ -7080,7 -4507,7 +4507,7 @@@
  	fi
  	case $host in
  	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- 	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ 	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
  	  case :$dllsearchpath: in
  	  *":$libdir:"*) ;;
  	  *) dllsearchpath="$dllsearchpath:$libdir";;
@@@ -7138,47 -4565,281 +4565,281 @@@
  
        if test -n "$libobjs" && test "$build_old_libs" = yes; then
  	# Transform all the library objects into standard objects.
- 	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- 	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ 	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ 	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       fi
+ 
+       dlsyms=
+       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ 	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ 	  dlsyms="${outputname}S.c"
+ 	else
+ 	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+ 	fi
        fi
  
-       func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+       if test -n "$dlsyms"; then
+ 	case $dlsyms in
+ 	"") ;;
+ 	*.c)
+ 	  # Discover the nlist of each of the dlfiles.
+ 	  nlist="$output_objdir/${outputname}.nm"
  
-       # template prelinking step
-       if test -n "$prelink_cmds"; then
- 	func_execute_cmds "$prelink_cmds" 'exit $?'
+ 	  $show "$rm $nlist ${nlist}S ${nlist}T"
+ 	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+ 
+ 	  # Parse the name list into a source file.
+ 	  $show "creating $output_objdir/$dlsyms"
+ 
+ 	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+ 
+ #ifdef __cplusplus
+ extern \"C\" {
+ #endif
+ 
+ /* Prevent the only kind of declaration conflicts we can make. */
+ #define lt_preloaded_symbols some_other_symbol
+ 
+ /* External symbol declarations for the compiler. */\
+ "
+ 
+ 	  if test "$dlself" = yes; then
+ 	    $show "generating symbol list for \`$output'"
+ 
+ 	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+ 
+ 	    # Add our own program objects to the symbol list.
+ 	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ 	    for arg in $progfiles; do
+ 	      $show "extracting global C symbols from \`$arg'"
+ 	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ 	    done
+ 
+ 	    if test -n "$exclude_expsyms"; then
+ 	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ 	      $run eval '$mv "$nlist"T "$nlist"'
+ 	    fi
+ 
+ 	    if test -n "$export_symbols_regex"; then
+ 	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ 	      $run eval '$mv "$nlist"T "$nlist"'
+ 	    fi
+ 
+ 	    # Prepare the list of exported symbols
+ 	    if test -z "$export_symbols"; then
+ 	      export_symbols="$output_objdir/$outputname.exp"
+ 	      $run $rm $export_symbols
+ 	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+               case $host in
+               *cygwin* | *mingw* )
+ 	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ 		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+                 ;;
+               esac
+ 	    else
+ 	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ 	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ 	      $run eval 'mv "$nlist"T "$nlist"'
+               case $host in
+               *cygwin* | *mingw* )
+ 	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ 		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                 ;;
+               esac
+ 	    fi
+ 	  fi
+ 
+ 	  for arg in $dlprefiles; do
+ 	    $show "extracting global C symbols from \`$arg'"
+ 	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+ 	    $run eval '$echo ": $name " >> "$nlist"'
+ 	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ 	  done
+ 
+ 	  if test -z "$run"; then
+ 	    # Make sure we have at least an empty file.
+ 	    test -f "$nlist" || : > "$nlist"
+ 
+ 	    if test -n "$exclude_expsyms"; then
+ 	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ 	      $mv "$nlist"T "$nlist"
+ 	    fi
+ 
+ 	    # Try sorting and uniquifying the output.
+ 	    if grep -v "^: " < "$nlist" |
+ 		if sort -k 3 </dev/null >/dev/null 2>&1; then
+ 		  sort -k 3
+ 		else
+ 		  sort +2
+ 		fi |
+ 		uniq > "$nlist"S; then
+ 	      :
+ 	    else
+ 	      grep -v "^: " < "$nlist" > "$nlist"S
+ 	    fi
+ 
+ 	    if test -f "$nlist"S; then
+ 	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+ 	    else
+ 	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+ 	    fi
+ 
+ 	    $echo >> "$output_objdir/$dlsyms" "\
+ 
+ #undef lt_preloaded_symbols
+ 
+ #if defined (__STDC__) && __STDC__
+ # define lt_ptr void *
+ #else
+ # define lt_ptr char *
+ # define const
+ #endif
+ 
+ /* The mapping between symbol names and symbols. */
+ "
+ 
+ 	    case $host in
+ 	    *cygwin* | *mingw* )
+ 	  $echo >> "$output_objdir/$dlsyms" "\
+ /* DATA imports from DLLs on WIN32 can't be const, because
+    runtime relocations are performed -- see ld's documentation
+    on pseudo-relocs */
+ struct {
+ "
+ 	      ;;
+ 	    * )
+ 	  $echo >> "$output_objdir/$dlsyms" "\
+ const struct {
+ "
+ 	      ;;
+ 	    esac
+ 
+ 
+ 	  $echo >> "$output_objdir/$dlsyms" "\
+   const char *name;
+   lt_ptr address;
+ }
+ lt_preloaded_symbols[] =
+ {\
+ "
+ 
+ 	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+ 
+ 	    $echo >> "$output_objdir/$dlsyms" "\
+   {0, (lt_ptr) 0}
+ };
+ 
+ /* This works around a problem in FreeBSD linker */
+ #ifdef FREEBSD_WORKAROUND
+ static const void *lt_preloaded_setup() {
+   return lt_preloaded_symbols;
+ }
+ #endif
+ 
+ #ifdef __cplusplus
+ }
+ #endif\
+ "
+ 	  fi
+ 
+ 	  pic_flag_for_symtable=
+ 	  case $host in
+ 	  # compiling the symbol table file with pic_flag works around
+ 	  # a FreeBSD bug that causes programs to crash when -lm is
+ 	  # linked before any other PIC object.  But we must not use
+ 	  # pic_flag when linking with -static.  The problem exists in
+ 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ 	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ 	    case "$compile_command " in
+ 	    *" -static "*) ;;
+ 	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+ 	    esac;;
+ 	  *-*-hpux*)
+ 	    case "$compile_command " in
+ 	    *" -static "*) ;;
+ 	    *) pic_flag_for_symtable=" $pic_flag";;
+ 	    esac
+ 	  esac
+ 
+ 	  # Now compile the dynamic symbol file.
+ 	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ 	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+ 
+ 	  # Clean up the generated files.
+ 	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+ 	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+ 
+ 	  # Transform the symbol file into the correct name.
+           case $host in
+           *cygwin* | *mingw* )
+             if test -f "$output_objdir/${outputname}.def" ; then
+               compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+               finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+             else
+               compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+               finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              fi
+             ;;
+           * )
+             compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+             finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+             ;;
+           esac
+ 	  ;;
+ 	*)
+ 	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	  ;;
+ 	esac
+       else
+ 	# We keep going just in case the user didn't refer to
+ 	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+ 	# really was required.
+ 
+ 	# Nullify the symbol file.
+ 	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ 	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
        fi
  
-       wrappers_required=yes
-       case $host in
-       *cygwin* | *mingw* )
-         if test "$build_libtool_libs" != yes; then
-           wrappers_required=no
-         fi
-         ;;
-       *)
-         if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-           wrappers_required=no
-         fi
-         ;;
-       esac
-       if test "$wrappers_required" = no; then
+       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
  	# Replace the output file specification.
- 	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ 	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
  	link_command="$compile_command$compile_rpath"
  
  	# We have no uninstalled library dependencies, so finalize right now.
- 	exit_status=0
- 	func_show_eval "$link_command" 'exit_status=$?'
+ 	$show "$link_command"
+ 	$run eval "$link_command"
+ 	exit_status=$?
  
  	# Delete the generated files.
- 	if test -f "$output_objdir/${outputname}S.${objext}"; then
- 	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ 	if test -n "$dlsyms"; then
+ 	  $show "$rm $output_objdir/${outputname}S.${objext}"
+ 	  $run $rm "$output_objdir/${outputname}S.${objext}"
  	fi
  
  	exit $exit_status
        fi
  
+       if test -n "$shlibpath_var"; then
+ 	# We should set the shlibpath_var
+ 	rpath=
+ 	for dir in $temp_rpath; do
+ 	  case $dir in
+ 	  [\\/]* | [A-Za-z]:[\\/]*)
+ 	    # Absolute path.
+ 	    rpath="$rpath$dir:"
+ 	    ;;
+ 	  *)
+ 	    # Relative path: add a thisdir entry.
+ 	    rpath="$rpath\$thisdir/$dir:"
+ 	    ;;
+ 	  esac
+ 	done
+ 	temp_rpath="$rpath"
+       fi
+ 
        if test -n "$compile_shlibpath$finalize_shlibpath"; then
  	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
        fi
@@@ -7211,11 -4872,12 +4872,12 @@@
  	# We don't need to create a wrapper script.
  	link_command="$compile_var$compile_command$compile_rpath"
  	# Replace the output file specification.
- 	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ 	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  	# Delete the old output file.
- 	$opt_dry_run || $RM $output
+ 	$run $rm $output
  	# Link the executable and exit
- 	func_show_eval "$link_command" 'exit $?'
+ 	$show "$link_command"
+ 	$run eval "$link_command" || exit $?
  	exit $EXIT_SUCCESS
        fi
  
@@@ -7224,13 -4886,13 +4886,13 @@@
  	link_command="$compile_var$compile_command$compile_rpath"
  	relink_command="$finalize_var$finalize_command$finalize_rpath"
  
- 	func_warning "this platform does not like uninstalled shared libraries"
- 	func_warning "\`$output' will be relinked during installation"
+ 	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+ 	$echo "$modename: \`$output' will be relinked during installation" 1>&2
        else
  	if test "$fast_install" != no; then
  	  link_command="$finalize_var$compile_command$finalize_rpath"
  	  if test "$fast_install" = yes; then
- 	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ 	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
  	  else
  	    # fast_install is set to needless
  	    relink_command=
@@@ -7242,104 -4904,608 +4904,608 @@@
        fi
  
        # Replace the output file specification.
-       link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
  
        # Delete the old output files.
-       $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
  
-       func_show_eval "$link_command" 'exit $?'
+       $show "$link_command"
+       $run eval "$link_command" || exit $?
  
        # Now create the wrapper script.
-       func_verbose "creating $output"
+       $show "creating $output"
  
        # Quote the relink command for shipping.
        if test -n "$relink_command"; then
  	# Preserve any variables that may affect compiler behavior
  	for var in $variables_saved_for_relink; do
  	  if eval test -z \"\${$var+set}\"; then
- 	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ 	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
  	  elif eval var_value=\$$var; test -z "$var_value"; then
  	    relink_command="$var=; export $var; $relink_command"
  	  else
- 	    func_quote_for_eval "$var_value"
- 	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ 	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ 	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
  	  fi
  	done
  	relink_command="(cd `pwd`; $relink_command)"
- 	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ 	relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
        fi
  
-       # Quote $ECHO for shipping.
-       if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+       # Quote $echo for shipping.
+       if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
  	case $progpath in
  	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
  	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
  	esac
- 	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ 	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
        else
- 	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ 	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
        fi
  
-       # Only actually do things if not in dry run mode.
-       $opt_dry_run || {
+       # Only actually do things if our run command is non-null.
+       if test -z "$run"; then
  	# win32 will think the script is a binary if it has
  	# a .exe suffix, so we strip it off here.
  	case $output in
- 	  *.exe) func_stripname '' '.exe' "$output"
- 	         output=$func_stripname_result ;;
+ 	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
  	esac
  	# test for cygwin because mv fails w/o .exe extensions
  	case $host in
  	  *cygwin*)
  	    exeext=.exe
- 	    func_stripname '' '.exe' "$outputname"
- 	    outputname=$func_stripname_result ;;
+ 	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
  	  *) exeext= ;;
  	esac
  	case $host in
  	  *cygwin* | *mingw* )
- 	    func_dirname_and_basename "$output" "" "."
- 	    output_name=$func_basename_result
- 	    output_path=$func_dirname_result
- 	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
- 	    cwrapper="$output_path/$output_name.exe"
- 	    $RM $cwrappersource $cwrapper
- 	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
- 
- 	    func_emit_cwrapperexe_src > $cwrappersource
- 
- 	    # we should really use a build-platform specific compiler
- 	    # here, but OTOH, the wrappers (shell script and this C one)
- 	    # are only useful if you want to execute the "real" binary.
- 	    # Since the "real" binary is built for $host, then this
- 	    # wrapper might as well be built for $host, too.
- 	    $opt_dry_run || {
- 	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
- 	      $STRIP $cwrapper
- 	    }
+             output_name=`basename $output`
+             output_path=`dirname $output`
+             cwrappersource="$output_path/$objdir/lt-$output_name.c"
+             cwrapper="$output_path/$output_name.exe"
+             $rm $cwrappersource $cwrapper
+             trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
  
- 	    # Now, create the wrapper script for func_source use:
- 	    func_ltwrapper_scriptname $cwrapper
- 	    $RM $func_ltwrapper_scriptname_result
- 	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
- 	    $opt_dry_run || {
- 	      # note: this script will not be executed, so do not chmod.
- 	      if test "x$build" = "x$host" ; then
- 		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
- 	      else
- 		func_emit_wrapper no > $func_ltwrapper_scriptname_result
- 	      fi
- 	    }
+ 	    cat > $cwrappersource <<EOF
+ 
+ /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+    Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+ 
+    The $output program cannot be directly executed until all the libtool
+    libraries that it depends on are installed.
+ 
+    This wrapper executable should never be moved out of the build directory.
+    If it is, it will not operate correctly.
+ 
+    Currently, it simply execs the wrapper *script* "/bin/sh $output",
+    but could eventually absorb all of the scripts functionality and
+    exec $objdir/$outputname directly.
+ */
+ EOF
+ 	    cat >> $cwrappersource<<"EOF"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <malloc.h>
+ #include <stdarg.h>
+ #include <assert.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <sys/stat.h>
+ 
+ #if defined(PATH_MAX)
+ # define LT_PATHMAX PATH_MAX
+ #elif defined(MAXPATHLEN)
+ # define LT_PATHMAX MAXPATHLEN
+ #else
+ # define LT_PATHMAX 1024
+ #endif
+ 
+ #ifndef DIR_SEPARATOR
+ # define DIR_SEPARATOR '/'
+ # define PATH_SEPARATOR ':'
+ #endif
+ 
+ #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+   defined (__OS2__)
+ # define HAVE_DOS_BASED_FILE_SYSTEM
+ # ifndef DIR_SEPARATOR_2
+ #  define DIR_SEPARATOR_2 '\\'
+ # endif
+ # ifndef PATH_SEPARATOR_2
+ #  define PATH_SEPARATOR_2 ';'
+ # endif
+ #endif
+ 
+ #ifndef DIR_SEPARATOR_2
+ # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+ #else /* DIR_SEPARATOR_2 */
+ # define IS_DIR_SEPARATOR(ch) \
+         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+ #endif /* DIR_SEPARATOR_2 */
+ 
+ #ifndef PATH_SEPARATOR_2
+ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+ #else /* PATH_SEPARATOR_2 */
+ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+ #endif /* PATH_SEPARATOR_2 */
+ 
+ #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+ #define XFREE(stale) do { \
+   if (stale) { free ((void *) stale); stale = 0; } \
+ } while (0)
+ 
+ /* -DDEBUG is fairly common in CFLAGS.  */
+ #undef DEBUG
+ #if defined DEBUGWRAPPER
+ # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+ #else
+ # define DEBUG(format, ...)
+ #endif
+ 
+ const char *program_name = NULL;
+ 
+ void * xmalloc (size_t num);
+ char * xstrdup (const char *string);
+ const char * base_name (const char *name);
+ char * find_executable(const char *wrapper);
+ int    check_executable(const char *path);
+ char * strendzap(char *str, const char *pat);
+ void lt_fatal (const char *message, ...);
+ 
+ int
+ main (int argc, char *argv[])
+ {
+   char **newargz;
+   int i;
+ 
+   program_name = (char *) xstrdup (base_name (argv[0]));
+   DEBUG("(main) argv[0]      : %s\n",argv[0]);
+   DEBUG("(main) program_name : %s\n",program_name);
+   newargz = XMALLOC(char *, argc+2);
+ EOF
+ 
+             cat >> $cwrappersource <<EOF
+   newargz[0] = (char *) xstrdup("$SHELL");
+ EOF
+ 
+             cat >> $cwrappersource <<"EOF"
+   newargz[1] = find_executable(argv[0]);
+   if (newargz[1] == NULL)
+     lt_fatal("Couldn't find %s", argv[0]);
+   DEBUG("(main) found exe at : %s\n",newargz[1]);
+   /* we know the script has the same name, without the .exe */
+   /* so make sure newargz[1] doesn't end in .exe */
+   strendzap(newargz[1],".exe");
+   for (i = 1; i < argc; i++)
+     newargz[i+1] = xstrdup(argv[i]);
+   newargz[argc+1] = NULL;
+ 
+   for (i=0; i<argc+1; i++)
+   {
+     DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
+     ;
+   }
+ 
+ EOF
+ 
+             case $host_os in
+               mingw*)
+                 cat >> $cwrappersource <<EOF
+   execv("$SHELL",(char const **)newargz);
+ EOF
+               ;;
+               *)
+                 cat >> $cwrappersource <<EOF
+   execv("$SHELL",newargz);
+ EOF
+               ;;
+             esac
+ 
+             cat >> $cwrappersource <<"EOF"
+   return 127;
+ }
+ 
+ void *
+ xmalloc (size_t num)
+ {
+   void * p = (void *) malloc (num);
+   if (!p)
+     lt_fatal ("Memory exhausted");
+ 
+   return p;
+ }
+ 
+ char *
+ xstrdup (const char *string)
+ {
+   return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+ ;
+ }
+ 
+ const char *
+ base_name (const char *name)
+ {
+   const char *base;
+ 
+ #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+   /* Skip over the disk name in MSDOS pathnames. */
+   if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+     name += 2;
+ #endif
+ 
+   for (base = name; *name; name++)
+     if (IS_DIR_SEPARATOR (*name))
+       base = name + 1;
+   return base;
+ }
+ 
+ int
+ check_executable(const char * path)
+ {
+   struct stat st;
+ 
+   DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+   if ((!path) || (!*path))
+     return 0;
+ 
+   if ((stat (path, &st) >= 0) &&
+       (
+         /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+ #if defined (S_IXOTH)
+        ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+ #endif
+ #if defined (S_IXGRP)
+        ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+ #endif
+        ((st.st_mode & S_IXUSR) == S_IXUSR))
+       )
+     return 1;
+   else
+     return 0;
+ }
+ 
+ /* Searches for the full path of the wrapper.  Returns
+    newly allocated full path name if found, NULL otherwise */
+ char *
+ find_executable (const char* wrapper)
+ {
+   int has_slash = 0;
+   const char* p;
+   const char* p_next;
+   /* static buffer for getcwd */
+   char tmp[LT_PATHMAX + 1];
+   int tmp_len;
+   char* concat_name;
+ 
+   DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+ 
+   if ((wrapper == NULL) || (*wrapper == '\0'))
+     return NULL;
+ 
+   /* Absolute path? */
+ #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+   if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+   {
+     concat_name = xstrdup (wrapper);
+     if (check_executable(concat_name))
+       return concat_name;
+     XFREE(concat_name);
+   }
+   else
+   {
+ #endif
+     if (IS_DIR_SEPARATOR (wrapper[0]))
+     {
+       concat_name = xstrdup (wrapper);
+       if (check_executable(concat_name))
+         return concat_name;
+       XFREE(concat_name);
+     }
+ #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+   }
+ #endif
+ 
+   for (p = wrapper; *p; p++)
+     if (*p == '/')
+     {
+       has_slash = 1;
+       break;
+     }
+   if (!has_slash)
+   {
+     /* no slashes; search PATH */
+     const char* path = getenv ("PATH");
+     if (path != NULL)
+     {
+       for (p = path; *p; p = p_next)
+       {
+         const char* q;
+         size_t p_len;
+         for (q = p; *q; q++)
+           if (IS_PATH_SEPARATOR(*q))
+             break;
+         p_len = q - p;
+         p_next = (*q == '\0' ? q : q + 1);
+         if (p_len == 0)
+         {
+           /* empty path: current directory */
+           if (getcwd (tmp, LT_PATHMAX) == NULL)
+             lt_fatal ("getcwd failed");
+           tmp_len = strlen(tmp);
+           concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+           memcpy (concat_name, tmp, tmp_len);
+           concat_name[tmp_len] = '/';
+           strcpy (concat_name + tmp_len + 1, wrapper);
+         }
+         else
+         {
+           concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+           memcpy (concat_name, p, p_len);
+           concat_name[p_len] = '/';
+           strcpy (concat_name + p_len + 1, wrapper);
+         }
+         if (check_executable(concat_name))
+           return concat_name;
+         XFREE(concat_name);
+       }
+     }
+     /* not found in PATH; assume curdir */
+   }
+   /* Relative path | not found in path: prepend cwd */
+   if (getcwd (tmp, LT_PATHMAX) == NULL)
+     lt_fatal ("getcwd failed");
+   tmp_len = strlen(tmp);
+   concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+   memcpy (concat_name, tmp, tmp_len);
+   concat_name[tmp_len] = '/';
+   strcpy (concat_name + tmp_len + 1, wrapper);
+ 
+   if (check_executable(concat_name))
+     return concat_name;
+   XFREE(concat_name);
+   return NULL;
+ }
+ 
+ char *
+ strendzap(char *str, const char *pat)
+ {
+   size_t len, patlen;
+ 
+   assert(str != NULL);
+   assert(pat != NULL);
+ 
+   len = strlen(str);
+   patlen = strlen(pat);
+ 
+   if (patlen <= len)
+   {
+     str += len - patlen;
+     if (strcmp(str, pat) == 0)
+       *str = '\0';
+   }
+   return str;
+ }
+ 
+ static void
+ lt_error_core (int exit_status, const char * mode,
+           const char * message, va_list ap)
+ {
+   fprintf (stderr, "%s: %s: ", program_name, mode);
+   vfprintf (stderr, message, ap);
+   fprintf (stderr, ".\n");
+ 
+   if (exit_status >= 0)
+     exit (exit_status);
+ }
+ 
+ void
+ lt_fatal (const char *message, ...)
+ {
+   va_list ap;
+   va_start (ap, message);
+   lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+   va_end (ap);
+ }
+ EOF
+           # we should really use a build-platform specific compiler
+           # here, but OTOH, the wrappers (shell script and this C one)
+           # are only useful if you want to execute the "real" binary.
+           # Since the "real" binary is built for $host, then this
+           # wrapper might as well be built for $host, too.
+           $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+           ;;
+         esac
+         $rm $output
+         trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+ 
+ 	$echo > $output "\
+ #! $SHELL
+ 
+ # $output - temporary wrapper script for $objdir/$outputname
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+ #
+ # The $output program cannot be directly executed until all the libtool
+ # libraries that it depends on are installed.
+ #
+ # This wrapper script should never be moved out of the build directory.
+ # 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 1s/^X//'
+ sed_quote_subst='$sed_quote_subst'
+ 
+ # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+ if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+   emulate sh
+   NULLCMD=:
+   # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+   # is contrary to our usage.  Disable this feature.
+   alias -g '\${1+\"\$@\"}'='\"\$@\"'
+   setopt NO_GLOB_SUBST
+ else
+   case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+ fi
+ BIN_SH=xpg4; export BIN_SH # for Tru64
+ DUALCASE=1; export DUALCASE # for MKS sh
+ 
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ 
+ relink_command=\"$relink_command\"
+ 
+ # This environment variable determines our operation mode.
+ if test \"\$libtool_install_magic\" = \"$magic\"; then
+   # install mode needs the following variable:
+   notinst_deplibs='$notinst_deplibs'
+ else
+   # When we are sourced in execute mode, \$file and \$echo are already set.
+   if test \"\$libtool_execute_magic\" != \"$magic\"; then
+     echo=\"$qecho\"
+     file=\"\$0\"
+     # Make sure echo works.
+     if test \"X\$1\" = X--no-reexec; then
+       # Discard the --no-reexec flag, and continue.
+       shift
+     elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+       # Yippee, \$echo works!
+       :
+     else
+       # Restart under the correct shell, and then maybe \$echo will work.
+       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+     fi
+   fi\
+ "
+ 	$echo >> $output "\
+ 
+   # Find the directory that this script lives in.
+   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+ 
+   # Follow symbolic links until we get to the real thisdir.
+   file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+   while test -n \"\$file\"; do
+     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+ 
+     # If there was a directory component, then change thisdir.
+     if test \"x\$destdir\" != \"x\$file\"; then
+       case \"\$destdir\" in
+       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+       *) thisdir=\"\$thisdir/\$destdir\" ;;
+       esac
+     fi
+ 
+     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\"
+ "
+ 
+ 	if test "$fast_install" = yes; then
+ 	  $echo >> $output "\
+   program=lt-'$outputname'$exeext
+   progdir=\"\$thisdir/$objdir\"
+ 
+   if test ! -f \"\$progdir/\$program\" || \\
+      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+ 
+     file=\"\$\$-\$program\"
+ 
+     if test ! -d \"\$progdir\"; then
+       $mkdir \"\$progdir\"
+     else
+       $rm \"\$progdir/\$file\"
+     fi"
+ 
+ 	  $echo >> $output "\
+ 
+     # relink executable if necessary
+     if test -n \"\$relink_command\"; then
+       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+       else
+ 	$echo \"\$relink_command_output\" >&2
+ 	$rm \"\$progdir/\$file\"
+ 	exit $EXIT_FAILURE
+       fi
+     fi
+ 
+     $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+     { $rm \"\$progdir/\$program\";
+       $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+     $rm \"\$progdir/\$file\"
+   fi"
+ 	else
+ 	  $echo >> $output "\
+   program='$outputname'
+   progdir=\"\$thisdir/$objdir\"
+ "
+ 	fi
+ 
+ 	$echo >> $output "\
+ 
+   if test -f \"\$progdir/\$program\"; then"
+ 
+ 	# Export our shlibpath_var if we have one.
+ 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ 	  $echo >> $output "\
+     # Add our own library path to $shlibpath_var
+     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+ 
+     # Some systems cannot cope with colon-terminated $shlibpath_var
+     # The second colon is a workaround for a bug in BeOS R4 sed
+     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+ 
+     export $shlibpath_var
+ "
+ 	fi
+ 
+ 	# fixup the dll searchpath if we need to.
+ 	if test -n "$dllsearchpath"; then
+ 	  $echo >> $output "\
+     # Add the dll search path components to the executable PATH
+     PATH=$dllsearchpath:\$PATH
+ "
+ 	fi
+ 
+ 	$echo >> $output "\
+     if test \"\$libtool_execute_magic\" != \"$magic\"; then
+       # Run the actual program with our arguments.
+ "
+ 	case $host in
+ 	# Backslashes separate directories on plain windows
+ 	*-*-mingw | *-*-os2*)
+ 	  $echo >> $output "\
+       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+ "
  	  ;;
- 	  * )
- 	    $RM $output
- 	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
  
- 	    func_emit_wrapper no > $output
- 	    chmod +x $output
+ 	*)
+ 	  $echo >> $output "\
+       exec \"\$progdir/\$program\" \${1+\"\$@\"}
+ "
  	  ;;
  	esac
-       }
+ 	$echo >> $output "\
+       \$echo \"\$0: cannot exec \$program \$*\"
+       exit $EXIT_FAILURE
+     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
+     exit $EXIT_FAILURE
+   fi
+ fi\
+ "
+ 	chmod +x $output
+       fi
        exit $EXIT_SUCCESS
        ;;
      esac
@@@ -7348,7 -5514,7 +5514,7 @@@
      for oldlib in $oldlibs; do
  
        if test "$build_libtool_libs" = convenience; then
- 	oldobjs="$libobjs_save $symfileobj"
+ 	oldobjs="$libobjs_save"
  	addlibs="$convenience"
  	build_libtool_libs=no
        else
@@@ -7357,9 -5523,6 +5523,6 @@@
  	  build_libtool_libs=no
  	else
  	  oldobjs="$old_deplibs $non_pic_objects"
- 	  if test "$preload" = yes && test -f "$symfileobj"; then
- 	    oldobjs="$oldobjs $symfileobj"
- 	  fi
  	fi
  	addlibs="$old_convenience"
        fi
@@@ -7374,18 -5537,8 +5537,8 @@@
  
        # Do each command in the archive commands.
        if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- 	cmds=$old_archive_from_new_cmds
+        cmds=$old_archive_from_new_cmds
        else
- 
- 	# Add any objects from preloaded convenience libraries
- 	if test -n "$dlprefiles"; then
- 	  gentop="$output_objdir/${outputname}x"
- 	  generated="$generated $gentop"
- 
- 	  func_extract_archives $gentop $dlprefiles
- 	  oldobjs="$oldobjs $func_extract_archives_result"
- 	fi
- 
  	# POSIX demands no paths to be encoded in archives.  We have
  	# to avoid creating archives with duplicate basenames if we
  	# might have to extract them afterwards, e.g., when creating a
@@@ -7394,22 -5547,32 +5547,32 @@@
  	# not supported by libtool).
  	if (for obj in $oldobjs
  	    do
- 	      func_basename "$obj"
- 	      $ECHO "$func_basename_result"
+ 	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
  	    done | sort | sort -uc >/dev/null 2>&1); then
  	  :
  	else
- 	  $ECHO "copying selected object files to avoid basename conflicts..."
- 	  gentop="$output_objdir/${outputname}x"
- 	  generated="$generated $gentop"
- 	  func_mkdir_p "$gentop"
+ 	  $echo "copying selected object files to avoid basename conflicts..."
+ 
+ 	  if test -z "$gentop"; then
+ 	    gentop="$output_objdir/${outputname}x"
+ 	    generated="$generated $gentop"
+ 
+ 	    $show "${rm}r $gentop"
+ 	    $run ${rm}r "$gentop"
+ 	    $show "$mkdir $gentop"
+ 	    $run $mkdir "$gentop"
+ 	    exit_status=$?
+ 	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+ 	      exit $exit_status
+ 	    fi
+ 	  fi
+ 
  	  save_oldobjs=$oldobjs
  	  oldobjs=
  	  counter=1
  	  for obj in $save_oldobjs
  	  do
- 	    func_basename "$obj"
- 	    objbase="$func_basename_result"
+ 	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
  	    case " $oldobjs " in
  	    " ") oldobjs=$obj ;;
  	    *[\ /]"$objbase "*)
@@@ -7417,62 -5580,58 +5580,58 @@@
  		# Make sure we don't pick an alternate name that also
  		# overlaps.
  		newobj=lt$counter-$objbase
- 		func_arith $counter + 1
- 		counter=$func_arith_result
+ 		counter=`expr $counter + 1`
  		case " $oldobjs " in
  		*[\ /]"$newobj "*) ;;
  		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
  		esac
  	      done
- 	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ 	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ 	      $run ln "$obj" "$gentop/$newobj" ||
+ 	      $run cp "$obj" "$gentop/$newobj"
  	      oldobjs="$oldobjs $gentop/$newobj"
  	      ;;
  	    *) oldobjs="$oldobjs $obj" ;;
  	    esac
  	  done
  	fi
+ 
  	eval cmds=\"$old_archive_cmds\"
  
- 	func_len " $cmds"
- 	len=$func_len_result
- 	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ 	if len=`expr "X$cmds" : ".*"` &&
+ 	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
  	  cmds=$old_archive_cmds
  	else
  	  # the command line is too long to link in one step, link in parts
- 	  func_verbose "using piecewise archive linking..."
+ 	  $echo "using piecewise archive linking..."
  	  save_RANLIB=$RANLIB
  	  RANLIB=:
  	  objlist=
  	  concat_cmds=
  	  save_oldobjs=$oldobjs
- 	  oldobjs=
+ 
  	  # Is there a better way of finding the last object in the list?
  	  for obj in $save_oldobjs
  	  do
  	    last_oldobj=$obj
  	  done
- 	  eval test_cmds=\"$old_archive_cmds\"
- 	  func_len " $test_cmds"
- 	  len0=$func_len_result
- 	  len=$len0
  	  for obj in $save_oldobjs
  	  do
- 	    func_len " $obj"
- 	    func_arith $len + $func_len_result
- 	    len=$func_arith_result
- 	    func_append objlist " $obj"
- 	    if test "$len" -lt "$max_cmd_len"; then
+ 	    oldobjs="$objlist $obj"
+ 	    objlist="$objlist $obj"
+ 	    eval test_cmds=\"$old_archive_cmds\"
+ 	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ 	       test "$len" -le "$max_cmd_len"; then
  	      :
  	    else
  	      # the above command should be used before it gets too long
  	      oldobjs=$objlist
  	      if test "$obj" = "$last_oldobj" ; then
- 		RANLIB=$save_RANLIB
+ 	        RANLIB=$save_RANLIB
  	      fi
  	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
  	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
  	      objlist=
- 	      len=$len0
  	    fi
  	  done
  	  RANLIB=$save_RANLIB
@@@ -7484,39 -5643,49 +5643,49 @@@
  	  fi
  	fi
        fi
-       func_execute_cmds "$cmds" 'exit $?'
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         eval cmd=\"$cmd\"
+ 	IFS="$save_ifs"
+ 	$show "$cmd"
+ 	$run eval "$cmd" || exit $?
+       done
+       IFS="$save_ifs"
      done
  
-     test -n "$generated" && \
-       func_show_eval "${RM}r$generated"
+     if test -n "$generated"; then
+       $show "${rm}r$generated"
+       $run ${rm}r$generated
+     fi
  
      # Now create the libtool archive.
      case $output in
      *.la)
        old_library=
        test "$build_old_libs" = yes && old_library="$libname.$libext"
-       func_verbose "creating $output"
+       $show "creating $output"
  
        # Preserve any variables that may affect compiler behavior
        for var in $variables_saved_for_relink; do
  	if eval test -z \"\${$var+set}\"; then
- 	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ 	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
  	elif eval var_value=\$$var; test -z "$var_value"; then
  	  relink_command="$var=; export $var; $relink_command"
  	else
- 	  func_quote_for_eval "$var_value"
- 	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ 	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ 	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
  	fi
        done
        # Quote the link command for shipping.
        relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-       relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+       relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
        if test "$hardcode_automatic" = yes ; then
  	relink_command=
        fi
  
+ 
        # Only create the output if not a dry run.
-       $opt_dry_run || {
+       if test -z "$run"; then
  	for installed in no yes; do
  	  if test "$installed" = yes; then
  	    if test -z "$install_libdir"; then
@@@ -7528,11 -5697,12 +5697,12 @@@
  	    for deplib in $dependency_libs; do
  	      case $deplib in
  	      *.la)
- 		func_basename "$deplib"
- 		name="$func_basename_result"
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
  		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
+ 		if test -z "$libdir"; then
+ 		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ 		  exit $EXIT_FAILURE
+ 		fi
  		newdependency_libs="$newdependency_libs $libdir/$name"
  		;;
  	      *) newdependency_libs="$newdependency_libs $deplib" ;;
@@@ -7540,37 -5710,25 +5710,25 @@@
  	    done
  	    dependency_libs="$newdependency_libs"
  	    newdlfiles=
- 
  	    for lib in $dlfiles; do
- 	      case $lib in
- 	      *.la)
- 	        func_basename "$lib"
- 		name="$func_basename_result"
- 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$lib' is not a valid libtool archive"
- 		newdlfiles="$newdlfiles $libdir/$name"
- 		;;
- 	      *) newdlfiles="$newdlfiles $lib" ;;
- 	      esac
+ 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ 	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ 	      if test -z "$libdir"; then
+ 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ 		exit $EXIT_FAILURE
+ 	      fi
+ 	      newdlfiles="$newdlfiles $libdir/$name"
  	    done
  	    dlfiles="$newdlfiles"
  	    newdlprefiles=
  	    for lib in $dlprefiles; do
- 	      case $lib in
- 	      *.la)
- 		# Only pass preopened files to the pseudo-archive (for
- 		# eventual linking with the app. that links it) if we
- 		# didn't already link the preopened objects directly into
- 		# the library:
- 		func_basename "$lib"
- 		name="$func_basename_result"
- 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- 		test -z "$libdir" && \
- 		  func_fatal_error "\`$lib' is not a valid libtool archive"
- 		newdlprefiles="$newdlprefiles $libdir/$name"
- 		;;
- 	      esac
+ 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ 	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ 	      if test -z "$libdir"; then
+ 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ 		exit $EXIT_FAILURE
+ 	      fi
+ 	      newdlprefiles="$newdlprefiles $libdir/$name"
  	    done
  	    dlprefiles="$newdlprefiles"
  	  else
@@@ -7593,15 -5751,15 +5751,15 @@@
  	    done
  	    dlprefiles="$newdlprefiles"
  	  fi
- 	  $RM $output
+ 	  $rm $output
  	  # place dlname in correct position for cygwin
  	  tdlname=$dlname
  	  case $host,$output,$installed,$module,$dlname in
  	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
  	  esac
- 	  $ECHO > $output "\
+ 	  $echo > $output "\
  # $outputname - a libtool library file
- # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  #
  # Please DO NOT delete this file!
  # It is necessary for linking the library.
@@@ -7615,15 -5773,9 +5773,9 @@@ library_names='$library_names
  # The name of the static archive.
  old_library='$old_library'
  
  # Libraries that this one depends upon.
  dependency_libs='$dependency_libs'
  
- # Names of additional weak libraries provided by this library
- weak_library_names='$weak_libs'
- 
  # Version information for $libname.
  current=$current
  age=$age
@@@ -7642,29 -5794,748 +5794,748 @@@ dlpreopen='$dlprefiles
  # Directory that this library needs to be installed in:
  libdir='$install_libdir'"
  	  if test "$installed" = no && test "$need_relink" = yes; then
- 	    $ECHO >> $output "\
+ 	    $echo >> $output "\
  relink_command=\"$relink_command\""
  	  fi
  	done
-       }
+       fi
  
        # Do a symbolic link so that the libtool archive can be found in
        # LD_LIBRARY_PATH before the program is installed.
-       func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
        ;;
      esac
      exit $EXIT_SUCCESS
- }
+     ;;
  
- { test "$mode" = link || test "$mode" = relink; } &&
-     func_mode_link ${1+"$@"}
+   # libtool install mode
+   install)
+     modename="$modename: install"
  
+     # There may be an optional sh(1) argument at the beginning of
+     # install_prog (especially on Windows NT).
+     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+        # Allow the use of GNU shtool's install command.
+        $echo "X$nonopt" | grep shtool > /dev/null; then
+       # Aesthetically quote it.
+       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+       case $arg in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	arg="\"$arg\""
+ 	;;
+       esac
+       install_prog="$arg "
+       arg="$1"
+       shift
+     else
+       install_prog=
+       arg=$nonopt
+     fi
  
- # func_mode_uninstall arg...
- func_mode_uninstall ()
- {
-     $opt_debug
-     RM="$nonopt"
+     # The real first argument should be the name of the installation program.
+     # Aesthetically quote it.
+     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+     case $arg in
+     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+       arg="\"$arg\""
+       ;;
+     esac
+     install_prog="$install_prog$arg"
+ 
+     # We need to accept at least all the BSD install flags.
+     dest=
+     files=
+     opts=
+     prev=
+     install_type=
+     isdir=no
+     stripme=
+     for arg
+     do
+       if test -n "$dest"; then
+ 	files="$files $dest"
+ 	dest=$arg
+ 	continue
+       fi
+ 
+       case $arg in
+       -d) isdir=yes ;;
+       -f) 
+       	case " $install_prog " in
+ 	*[\\\ /]cp\ *) ;;
+ 	*) prev=$arg ;;
+ 	esac
+ 	;;
+       -g | -m | -o) prev=$arg ;;
+       -s)
+ 	stripme=" -s"
+ 	continue
+ 	;;
+       -*)
+ 	;;
+       *)
+ 	# If the previous option needed an argument, then skip it.
+ 	if test -n "$prev"; then
+ 	  prev=
+ 	else
+ 	  dest=$arg
+ 	  continue
+ 	fi
+ 	;;
+       esac
+ 
+       # Aesthetically quote the argument.
+       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+       case $arg in
+       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+ 	arg="\"$arg\""
+ 	;;
+       esac
+       install_prog="$install_prog $arg"
+     done
+ 
+     if test -z "$install_prog"; then
+       $echo "$modename: you must specify an install program" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
+ 
+     if test -n "$prev"; then
+       $echo "$modename: the \`$prev' option requires an argument" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
+ 
+     if test -z "$files"; then
+       if test -z "$dest"; then
+ 	$echo "$modename: no file or destination specified" 1>&2
+       else
+ 	$echo "$modename: you must specify a destination" 1>&2
+       fi
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
+ 
+     # Strip any trailing slash from the destination.
+     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+ 
+     # Check to see that the destination is a directory.
+     test -d "$dest" && isdir=yes
+     if test "$isdir" = yes; then
+       destdir="$dest"
+       destname=
+     else
+       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+       test "X$destdir" = "X$dest" && destdir=.
+       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+ 
+       # Not a directory, so check to see that there is only one file specified.
+       set dummy $files
+       if test "$#" -gt 2; then
+ 	$echo "$modename: \`$dest' is not a directory" 1>&2
+ 	$echo "$help" 1>&2
+ 	exit $EXIT_FAILURE
+       fi
+     fi
+     case $destdir in
+     [\\/]* | [A-Za-z]:[\\/]*) ;;
+     *)
+       for file in $files; do
+ 	case $file in
+ 	*.lo) ;;
+ 	*)
+ 	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	  ;;
+ 	esac
+       done
+       ;;
+     esac
+ 
+     # This variable tells wrapper scripts just to set variables rather
+     # than running their programs.
+     libtool_install_magic="$magic"
+ 
+     staticlibs=
+     future_libdirs=
+     current_libdirs=
+     for file in $files; do
+ 
+       # Do each installation.
+       case $file in
+       *.$libext)
+ 	# Do the static libraries later.
+ 	staticlibs="$staticlibs $file"
+ 	;;
+ 
+       *.la)
+ 	# Check to see that this really is a libtool archive.
+ 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ 	else
+ 	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
+ 
+ 	library_names=
+ 	old_library=
+ 	relink_command=
+ 	# If there is no directory component, then add one.
+ 	case $file in
+ 	*/* | *\\*) . $file ;;
+ 	*) . ./$file ;;
+ 	esac
+ 
+ 	# Add the libdir to current_libdirs if it is the destination.
+ 	if test "X$destdir" = "X$libdir"; then
+ 	  case "$current_libdirs " in
+ 	  *" $libdir "*) ;;
+ 	  *) current_libdirs="$current_libdirs $libdir" ;;
+ 	  esac
+ 	else
+ 	  # Note the libdir as a future libdir.
+ 	  case "$future_libdirs " in
+ 	  *" $libdir "*) ;;
+ 	  *) future_libdirs="$future_libdirs $libdir" ;;
+ 	  esac
+ 	fi
+ 
+ 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+ 	test "X$dir" = "X$file/" && dir=
+ 	dir="$dir$objdir"
+ 
+ 	if test -n "$relink_command"; then
+ 	  # Determine the prefix the user has applied to our future dir.
+ 	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+ 
+ 	  # Don't allow the user to place us outside of our expected
+ 	  # location b/c this prevents finding dependent libraries that
+ 	  # are installed to the same prefix.
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+ 	  if test "$inst_prefix_dir" = "$destdir"; then
+ 	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+ 	    exit $EXIT_FAILURE
+ 	  fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.
+ 	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
+ 	  else
+ 	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
+ 	  fi
+ 
+ 	  $echo "$modename: warning: relinking \`$file'" 1>&2
+ 	  $show "$relink_command"
+ 	  if $run eval "$relink_command"; then :
+ 	  else
+ 	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ 	    exit $EXIT_FAILURE
+ 	  fi
+ 	fi
+ 
+ 	# See the names of the shared library.
+ 	set dummy $library_names
+ 	if test -n "$2"; then
+ 	  realname="$2"
+ 	  shift
+ 	  shift
+ 
+ 	  srcname="$realname"
+ 	  test -n "$relink_command" && srcname="$realname"T
+ 
+ 	  # Install the shared library and build the symlinks.
+ 	  $show "$install_prog $dir/$srcname $destdir/$realname"
+ 	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+ 	  if test -n "$stripme" && test -n "$striplib"; then
+ 	    $show "$striplib $destdir/$realname"
+ 	    $run eval "$striplib $destdir/$realname" || exit $?
+ 	  fi
+ 
+ 	  if test "$#" -gt 0; then
+ 	    # Delete the old symlinks, and create new ones.
+ 	    # Try `ln -sf' first, because the `ln' binary might depend on
+ 	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+ 	    # so we also need to try rm && ln -s.
+ 	    for linkname
+ 	    do
+ 	      if test "$linkname" != "$realname"; then
+                 $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+                 $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+ 	      fi
+ 	    done
+ 	  fi
+ 
+ 	  # Do each command in the postinstall commands.
+ 	  lib="$destdir/$realname"
+ 	  cmds=$postinstall_cmds
+ 	  save_ifs="$IFS"; IFS='~'
+ 	  for cmd in $cmds; do
+ 	    IFS="$save_ifs"
+ 	    eval cmd=\"$cmd\"
+ 	    $show "$cmd"
+ 	    $run eval "$cmd" || {
+ 	      lt_exit=$?
+ 
+ 	      # Restore the uninstalled library and exit
+ 	      if test "$mode" = relink; then
+ 		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+ 	      fi
+ 
+ 	      exit $lt_exit
+ 	    }
+ 	  done
+ 	  IFS="$save_ifs"
+ 	fi
+ 
+ 	# Install the pseudo-library for information purposes.
+ 	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ 	instname="$dir/$name"i
+ 	$show "$install_prog $instname $destdir/$name"
+ 	$run eval "$install_prog $instname $destdir/$name" || exit $?
+ 
+ 	# Maybe install the static library, too.
+ 	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ 	;;
+ 
+       *.lo)
+ 	# Install (i.e. copy) a libtool object.
+ 
+ 	# Figure out destination file name, if it wasn't already specified.
+ 	if test -n "$destname"; then
+ 	  destfile="$destdir/$destname"
+ 	else
+ 	  destfile=`$echo "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 "X$destfile" | $Xsed -e "$lo2o"`
+ 	  ;;
+ 	*.$objext)
+ 	  staticdest="$destfile"
+ 	  destfile=
+ 	  ;;
+ 	*)
+ 	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	  ;;
+ 	esac
+ 
+ 	# Install the libtool object if requested.
+ 	if test -n "$destfile"; then
+ 	  $show "$install_prog $file $destfile"
+ 	  $run eval "$install_prog $file $destfile" || exit $?
+ 	fi
+ 
+ 	# Install the old object if enabled.
+ 	if test "$build_old_libs" = yes; then
+ 	  # Deduce the name of the old-style object file.
+ 	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+ 
+ 	  $show "$install_prog $staticobj $staticdest"
+ 	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ 	fi
+ 	exit $EXIT_SUCCESS
+ 	;;
+ 
+       *)
+ 	# Figure out destination file name, if it wasn't already specified.
+ 	if test -n "$destname"; then
+ 	  destfile="$destdir/$destname"
+ 	else
+ 	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ 	  destfile="$destdir/$destfile"
+ 	fi
+ 
+ 	# If the file is missing, and there is a .exe on the end, strip it
+ 	# because it is most likely a libtool script we actually want to
+ 	# install
+ 	stripped_ext=""
+ 	case $file in
+ 	  *.exe)
+ 	    if test ! -f "$file"; then
+ 	      file=`$echo $file|${SED} 's,.exe$,,'`
+ 	      stripped_ext=".exe"
+ 	    fi
+ 	    ;;
+ 	esac
+ 
+ 	# Do a test to see if this is really a libtool program.
+ 	case $host in
+ 	*cygwin*|*mingw*)
+ 	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+ 	    ;;
+ 	*)
+ 	    wrapper=$file
+ 	    ;;
+ 	esac
+ 	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+ 	  notinst_deplibs=
+ 	  relink_command=
+ 
+ 	  # Note that it is not necessary on cygwin/mingw to append a dot to
+ 	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+ 	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+ 	  # `FILE.' does not work on cygwin managed mounts.
+ 	  #
+ 	  # If there is no directory component, then add one.
+ 	  case $wrapper in
+ 	  */* | *\\*) . ${wrapper} ;;
+ 	  *) . ./${wrapper} ;;
+ 	  esac
+ 
+ 	  # Check the variables that should have been set.
+ 	  if test -z "$notinst_deplibs"; then
+ 	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+ 	    exit $EXIT_FAILURE
+ 	  fi
+ 
+ 	  finalize=yes
+ 	  for lib in $notinst_deplibs; do
+ 	    # Check to see that each library is installed.
+ 	    libdir=
+ 	    if test -f "$lib"; then
+ 	      # If there is no directory component, then add one.
+ 	      case $lib in
+ 	      */* | *\\*) . $lib ;;
+ 	      *) . ./$lib ;;
+ 	      esac
+ 	    fi
+ 	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ 	    if test -n "$libdir" && test ! -f "$libfile"; then
+ 	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+ 	      finalize=no
+ 	    fi
+ 	  done
+ 
+ 	  relink_command=
+ 	  # Note that it is not necessary on cygwin/mingw to append a dot to
+ 	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
+ 	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
+ 	  # `FILE.' does not work on cygwin managed mounts.
+ 	  #
+ 	  # If there is no directory component, then add one.
+ 	  case $wrapper in
+ 	  */* | *\\*) . ${wrapper} ;;
+ 	  *) . ./${wrapper} ;;
+ 	  esac
+ 
+ 	  outputname=
+ 	  if test "$fast_install" = no && test -n "$relink_command"; then
+ 	    if test "$finalize" = yes && test -z "$run"; then
+ 	      tmpdir=`func_mktempdir`
+ 	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+ 	      outputname="$tmpdir/$file"
+ 	      # Replace the output file specification.
+ 	      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
+ 
+ 	      $show "$relink_command"
+ 	      if $run eval "$relink_command"; then :
+ 	      else
+ 		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ 		${rm}r "$tmpdir"
+ 		continue
+ 	      fi
+ 	      file="$outputname"
+ 	    else
+ 	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+ 	    fi
+ 	  else
+ 	    # Install the binary that we compiled earlier.
+ 	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ 	  fi
+ 	fi
+ 
+ 	# remove .exe since cygwin /usr/bin/install will append another
+ 	# one anyway 
+ 	case $install_prog,$host in
+ 	*/usr/bin/install*,*cygwin*)
+ 	  case $file:$destfile in
+ 	  *.exe:*.exe)
+ 	    # this is ok
+ 	    ;;
+ 	  *.exe:*)
+ 	    destfile=$destfile.exe
+ 	    ;;
+ 	  *:*.exe)
+ 	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+ 	    ;;
+ 	  esac
+ 	  ;;
+ 	esac
+ 	$show "$install_prog$stripme $file $destfile"
+ 	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+ 	test -n "$outputname" && ${rm}r "$tmpdir"
+ 	;;
+       esac
+     done
+ 
+     for file in $staticlibs; do
+       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ 
+       # Set up the ranlib parameters.
+       oldlib="$destdir/$name"
+ 
+       $show "$install_prog $file $oldlib"
+       $run eval "$install_prog \$file \$oldlib" || exit $?
+ 
+       if test -n "$stripme" && test -n "$old_striplib"; then
+ 	$show "$old_striplib $oldlib"
+ 	$run eval "$old_striplib $oldlib" || exit $?
+       fi
+ 
+       # Do each command in the postinstall commands.
+       cmds=$old_postinstall_cmds
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+ 	IFS="$save_ifs"
+ 	eval cmd=\"$cmd\"
+ 	$show "$cmd"
+ 	$run eval "$cmd" || exit $?
+       done
+       IFS="$save_ifs"
+     done
+ 
+     if test -n "$future_libdirs"; then
+       $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+     fi
+ 
+     if test -n "$current_libdirs"; then
+       # Maybe just do a dry run.
+       test -n "$run" && current_libdirs=" -n$current_libdirs"
+       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+     else
+       exit $EXIT_SUCCESS
+     fi
+     ;;
+ 
+   # libtool finish mode
+   finish)
+     modename="$modename: finish"
+     libdirs="$nonopt"
+     admincmds=
+ 
+     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+       for dir
+       do
+ 	libdirs="$libdirs $dir"
+       done
+ 
+       for libdir in $libdirs; do
+ 	if test -n "$finish_cmds"; then
+ 	  # Do each command in the finish commands.
+ 	  cmds=$finish_cmds
+ 	  save_ifs="$IFS"; IFS='~'
+ 	  for cmd in $cmds; do
+ 	    IFS="$save_ifs"
+ 	    eval cmd=\"$cmd\"
+ 	    $show "$cmd"
+ 	    $run eval "$cmd" || admincmds="$admincmds
+        $cmd"
+ 	  done
+ 	  IFS="$save_ifs"
+ 	fi
+ 	if test -n "$finish_eval"; then
+ 	  # Do the single finish_eval.
+ 	  eval cmds=\"$finish_eval\"
+ 	  $run eval "$cmds" || admincmds="$admincmds
+        $cmds"
+ 	fi
+       done
+     fi
+ 
+     # Exit here if they wanted silent mode.
+     test "$show" = : && exit $EXIT_SUCCESS
+ 
+     $echo "X----------------------------------------------------------------------" | $Xsed
+     $echo "Libraries have been installed in:"
+     for libdir in $libdirs; do
+       $echo "   $libdir"
+     done
+     $echo
+     $echo "If you ever happen to want to link against installed libraries"
+     $echo "in a given directory, LIBDIR, you must either use libtool, and"
+     $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+     $echo "flag during linking and do at least one of the following:"
+     if test -n "$shlibpath_var"; then
+       $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+       $echo "     during execution"
+     fi
+     if test -n "$runpath_var"; then
+       $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+       $echo "     during linking"
+     fi
+     if test -n "$hardcode_libdir_flag_spec"; then
+       libdir=LIBDIR
+       eval flag=\"$hardcode_libdir_flag_spec\"
+ 
+       $echo "   - use the \`$flag' linker flag"
+     fi
+     if test -n "$admincmds"; then
+       $echo "   - have your system administrator run these commands:$admincmds"
+     fi
+     if test -f /etc/ld.so.conf; then
+       $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+     fi
+     $echo
+     $echo "See any operating system documentation about shared libraries for"
+     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+     $echo "X----------------------------------------------------------------------" | $Xsed
+     exit $EXIT_SUCCESS
+     ;;
+ 
+   # libtool execute mode
+   execute)
+     modename="$modename: execute"
+ 
+     # The first argument is the command name.
+     cmd="$nonopt"
+     if test -z "$cmd"; then
+       $echo "$modename: you must specify a COMMAND" 1>&2
+       $echo "$help"
+       exit $EXIT_FAILURE
+     fi
+ 
+     # Handle -dlopen flags immediately.
+     for file in $execute_dlfiles; do
+       if test ! -f "$file"; then
+ 	$echo "$modename: \`$file' is not a file" 1>&2
+ 	$echo "$help" 1>&2
+ 	exit $EXIT_FAILURE
+       fi
+ 
+       dir=
+       case $file in
+       *.la)
+ 	# Check to see that this really is a libtool archive.
+ 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ 	else
+ 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ 	  $echo "$help" 1>&2
+ 	  exit $EXIT_FAILURE
+ 	fi
+ 
+ 	# Read the libtool library.
+ 	dlname=
+ 	library_names=
+ 
+ 	# If there is no directory component, then add one.
+ 	case $file in
+ 	*/* | *\\*) . $file ;;
+ 	*) . ./$file ;;
+ 	esac
+ 
+ 	# Skip this library if it cannot be dlopened.
+ 	if test -z "$dlname"; then
+ 	  # Warn if it was a shared library.
+ 	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+ 	  continue
+ 	fi
+ 
+ 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ 	test "X$dir" = "X$file" && dir=.
+ 
+ 	if test -f "$dir/$objdir/$dlname"; then
+ 	  dir="$dir/$objdir"
+ 	else
+ 	  if test ! -f "$dir/$dlname"; then
+ 	    $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ 	    exit $EXIT_FAILURE
+ 	  fi
+ 	fi
+ 	;;
+ 
+       *.lo)
+ 	# Just add the directory containing the .lo file.
+ 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ 	test "X$dir" = "X$file" && dir=.
+ 	;;
+ 
+       *)
+ 	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+ 	continue
+ 	;;
+       esac
+ 
+       # Get the absolute pathname.
+       absdir=`cd "$dir" && pwd`
+       test -n "$absdir" && dir="$absdir"
+ 
+       # Now add the directory to shlibpath_var.
+       if eval "test -z \"\$$shlibpath_var\""; then
+ 	eval "$shlibpath_var=\"\$dir\""
+       else
+ 	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+       fi
+     done
+ 
+     # This variable tells wrapper scripts just to set shlibpath_var
+     # rather than running their programs.
+     libtool_execute_magic="$magic"
+ 
+     # Check if any of the arguments is a wrapper script.
+     args=
+     for file
+     do
+       case $file in
+       -*) ;;
+       *)
+ 	# Do a test to see if this is really a libtool program.
+ 	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ 	  # If there is no directory component, then add one.
+ 	  case $file in
+ 	  */* | *\\*) . $file ;;
+ 	  *) . ./$file ;;
+ 	  esac
+ 
+ 	  # Transform arg to wrapped name.
+ 	  file="$progdir/$program"
+ 	fi
+ 	;;
+       esac
+       # Quote arguments (to preserve shell metacharacters).
+       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+       args="$args \"$file\""
+     done
+ 
+     if test -z "$run"; then
+       if test -n "$shlibpath_var"; then
+ 	# Export the shlibpath_var.
+ 	eval "export $shlibpath_var"
+       fi
+ 
+       # Restore saved environment variables
+       for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+       do
+ 	eval "if test \"\${save_$lt_var+set}\" = set; then
+ 		$lt_var=\$save_$lt_var; export $lt_var
+ 	      fi"
+       done
+ 
+       # Now prepare to actually exec the command.
+       exec_cmd="\$cmd$args"
+     else
+       # Display what would be done.
+       if test -n "$shlibpath_var"; then
+ 	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+ 	$echo "export $shlibpath_var"
+       fi
+       $echo "$cmd$args"
+       exit $EXIT_SUCCESS
+     fi
+     ;;
+ 
+   # libtool clean and uninstall mode
+   clean | uninstall)
+     modename="$modename: $mode"
+     rm="$nonopt"
      files=
      rmforce=
      exit_status=0
@@@ -7676,28 -6547,30 +6547,30 @@@
      for arg
      do
        case $arg in
-       -f) RM="$RM $arg"; rmforce=yes ;;
-       -*) RM="$RM $arg" ;;
+       -f) rm="$rm $arg"; rmforce=yes ;;
+       -*) rm="$rm $arg" ;;
        *) files="$files $arg" ;;
        esac
      done
  
-     test -z "$RM" && \
-       func_fatal_help "you must specify an RM program"
+     if test -z "$rm"; then
+       $echo "$modename: you must specify an RM program" 1>&2
+       $echo "$help" 1>&2
+       exit $EXIT_FAILURE
+     fi
  
      rmdirs=
  
      origobjdir="$objdir"
      for file in $files; do
-       func_dirname "$file" "" "."
-       dir="$func_dirname_result"
-       if test "X$dir" = X.; then
+       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+       if test "X$dir" = "X$file"; then
+ 	dir=.
  	objdir="$origobjdir"
        else
  	objdir="$dir/$origobjdir"
        fi
-       func_basename "$file"
-       name="$func_basename_result"
+       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
        test "$mode" = uninstall && objdir="$dir"
  
        # Remember objdir for removal later, being careful to avoid duplicates
@@@ -7709,9 -6582,9 +6582,9 @@@
        fi
  
        # Don't error if the file doesn't exist and rm -f was used.
-       if { test -L "$file"; } >/dev/null 2>&1 ||
- 	 { test -h "$file"; } >/dev/null 2>&1 ||
- 	 test -f "$file"; then
+       if (test -L "$file") >/dev/null 2>&1 \
+ 	|| (test -h "$file") >/dev/null 2>&1 \
+ 	|| test -f "$file"; then
  	:
        elif test -d "$file"; then
  	exit_status=1
@@@ -7725,8 -6598,8 +6598,8 @@@
        case $name in
        *.la)
  	# Possibly a libtool archive, so verify it.
- 	if func_lalib_p "$file"; then
- 	  func_source $dir/$name
+ 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ 	  . $dir/$name
  
  	  # Delete the libtool libraries and symlinks.
  	  for n in $library_names; do
@@@ -7741,17 -6614,39 +6614,39 @@@
  	    *" $dlname "*) ;;
  	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
  	    esac
- 	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ 	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
  	    ;;
  	  uninstall)
  	    if test -n "$library_names"; then
  	      # Do each command in the postuninstall commands.
- 	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ 	      cmds=$postuninstall_cmds
+ 	      save_ifs="$IFS"; IFS='~'
+ 	      for cmd in $cmds; do
+ 		IFS="$save_ifs"
+ 		eval cmd=\"$cmd\"
+ 		$show "$cmd"
+ 		$run eval "$cmd"
+ 		if test "$?" -ne 0 && test "$rmforce" != yes; then
+ 		  exit_status=1
+ 		fi
+ 	      done
+ 	      IFS="$save_ifs"
  	    fi
  
  	    if test -n "$old_library"; then
  	      # Do each command in the old_postuninstall commands.
- 	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ 	      cmds=$old_postuninstall_cmds
+ 	      save_ifs="$IFS"; IFS='~'
+ 	      for cmd in $cmds; do
+ 		IFS="$save_ifs"
+ 		eval cmd=\"$cmd\"
+ 		$show "$cmd"
+ 		$run eval "$cmd"
+ 		if test "$?" -ne 0 && test "$rmforce" != yes; then
+ 		  exit_status=1
+ 		fi
+ 	      done
+ 	      IFS="$save_ifs"
  	    fi
  	    # FIXME: should reinstall the best remaining shared library.
  	    ;;
@@@ -7761,20 -6656,20 +6656,20 @@@
  
        *.lo)
  	# Possibly a libtool object, so verify it.
- 	if func_lalib_p "$file"; then
+ 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  
  	  # Read the .lo file
- 	  func_source $dir/$name
+ 	  . $dir/$name
  
  	  # Add PIC object to the list of files to remove.
- 	  if test -n "$pic_object" &&
- 	     test "$pic_object" != none; then
+ 	  if test -n "$pic_object" \
+ 	     && test "$pic_object" != none; then
  	    rmfiles="$rmfiles $dir/$pic_object"
  	  fi
  
  	  # Add non-PIC object to the list of files to remove.
- 	  if test -n "$non_pic_object" &&
- 	     test "$non_pic_object" != none; then
+ 	  if test -n "$non_pic_object" \
+ 	     && test "$non_pic_object" != none; then
  	    rmfiles="$rmfiles $dir/$non_pic_object"
  	  fi
  	fi
@@@ -7785,26 -6680,17 +6680,17 @@@
  	  noexename=$name
  	  case $file in
  	  *.exe)
- 	    func_stripname '' '.exe' "$file"
- 	    file=$func_stripname_result
- 	    func_stripname '' '.exe' "$name"
- 	    noexename=$func_stripname_result
+ 	    file=`$echo $file|${SED} 's,.exe$,,'`
+ 	    noexename=`$echo $name|${SED} 's,.exe$,,'`
  	    # $file with .exe has already been added to rmfiles,
  	    # add $file without .exe
  	    rmfiles="$rmfiles $file"
  	    ;;
  	  esac
  	  # Do a test to see if this is a libtool program.
- 	  if func_ltwrapper_p "$file"; then
- 	    if func_ltwrapper_executable_p "$file"; then
- 	      func_ltwrapper_scriptname "$file"
- 	      relink_command=
- 	      func_source $func_ltwrapper_scriptname_result
- 	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
- 	    else
- 	      relink_command=
- 	      func_source $dir/$noexename
- 	    fi
+ 	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ 	    relink_command=
+ 	    . $dir/$noexename
  
  	    # note $name still contains .exe if it was in $file originally
  	    # as does the version of $file that was added into $rmfiles
@@@ -7819,38 -6705,239 +6705,239 @@@
  	fi
  	;;
        esac
-       func_show_eval "$RM $rmfiles" 'exit_status=1'
+       $show "$rm $rmfiles"
+       $run $rm $rmfiles || exit_status=1
      done
      objdir="$origobjdir"
  
      # Try to remove the ${objdir}s in the directories where we deleted files
      for dir in $rmdirs; do
        if test -d "$dir"; then
- 	func_show_eval "rmdir $dir >/dev/null 2>&1"
+ 	$show "rmdir $dir"
+ 	$run rmdir $dir >/dev/null 2>&1
        fi
      done
  
      exit $exit_status
- }
- 
- { test "$mode" = uninstall || test "$mode" = clean; } &&
-     func_mode_uninstall ${1+"$@"}
+     ;;
  
- test -z "$mode" && {
-   help="$generic_help"
-   func_fatal_help "you must specify a MODE"
- }
+   "")
+     $echo "$modename: you must specify a MODE" 1>&2
+     $echo "$generic_help" 1>&2
+     exit $EXIT_FAILURE
+     ;;
+   esac
  
- test -z "$exec_cmd" && \
-   func_fatal_help "invalid operation mode \`$mode'"
+   if test -z "$exec_cmd"; then
+     $echo "$modename: invalid operation mode \`$mode'" 1>&2
+     $echo "$generic_help" 1>&2
+     exit $EXIT_FAILURE
+   fi
+ fi # test -z "$show_help"
  
  if test -n "$exec_cmd"; then
-   eval exec "$exec_cmd"
+   eval exec $exec_cmd
    exit $EXIT_FAILURE
  fi
  
- exit $exit_status
+ # We need to display help for each of the modes.
+ case $mode in
+ "") $echo \
+ "Usage: $modename [OPTION]... [MODE-ARG]...
+ 
+ Provide generalized library-building support services.
+ 
+     --config          show all configuration variables
+     --debug           enable verbose shell tracing
+ -n, --dry-run         display commands without modifying any files
+     --features        display basic configuration information and exit
+     --finish          same as \`--mode=finish'
+     --help            display this help message and exit
+     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+     --quiet           same as \`--silent'
+     --silent          don't print informational messages
+     --tag=TAG         use configuration variables from tag TAG
+     --version         print version information
+ 
+ MODE must be one of the following:
+ 
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+ 
+ MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+ a more detailed description of MODE.
+ 
+ Report bugs to <bug-libtool at gnu.org>."
+   exit $EXIT_SUCCESS
+   ;;
+ 
+ clean)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
  
+ Remove files from the build directory.
+ 
+ RM is the name of the program to use to delete files associated with each FILE
+ (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+ to RM.
+ 
+ If FILE is a libtool library, object or program, all the files associated
+ with it are deleted. Otherwise, only FILE itself is deleted using RM."
+   ;;
+ 
+ compile)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+ 
+ Compile a source file into a libtool library object.
+ 
+ This mode accepts the following additional options:
+ 
+   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+   -prefer-pic       try to building PIC objects only
+   -prefer-non-pic   try to building non-PIC objects only
+   -static           always build a \`.o' file suitable for static linking
+ 
+ COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+ from the given SOURCEFILE.
+ 
+ The output file name is determined by removing the directory component from
+ SOURCEFILE, then substituting the C source code suffix \`.c' with the
+ library object suffix, \`.lo'."
+   ;;
+ 
+ execute)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+ 
+ Automatically set library path, then run a program.
+ 
+ This mode accepts the following additional options:
+ 
+   -dlopen FILE      add the directory containing FILE to the library path
+ 
+ This mode sets the library path environment variable according to \`-dlopen'
+ flags.
+ 
+ If any of the ARGS are libtool executable wrappers, then they are translated
+ into their corresponding uninstalled binary, and any of their required library
+ directories are added to the library path.
+ 
+ Then, COMMAND is executed, with ARGS as arguments."
+   ;;
+ 
+ finish)
+   $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."
+   ;;
+ 
+ install)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+ 
+ Install executables or libraries.
+ 
+ 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)."
+   ;;
+ 
+ link)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+ 
+ Link object files or libraries together to form another library, or to
+ create an executable program.
+ 
+ LINK-COMMAND is a command using the C compiler that you would use to create
+ 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
+   -avoid-version    do not add a version suffix if possible
+   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+   -export-symbols SYMFILE
+                     try to export only the symbols listed in SYMFILE
+   -export-symbols-regex REGEX
+                     try to export only the symbols matching REGEX
+   -LLIBDIR          search LIBDIR for required installed libraries
+   -lNAME            OUTPUT-FILE requires the installed library libNAME
+   -module           build a library that can dlopened
+   -no-fast-install  disable the fast-install mode
+   -no-install       link a not-installable executable
+   -no-undefined     declare that a library does not refer to external symbols
+   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+   -objectlist FILE  Use a list of object files found in FILE to specify objects
+   -precious-files-regex REGEX
+                     don't remove output files matching REGEX
+   -release RELEASE  specify package release information
+   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+   -static           do not do any dynamic linking of uninstalled libtool libraries
+   -static-libtool-libs
+                     do not do any dynamic linking of libtool libraries
+   -version-info CURRENT[:REVISION[:AGE]]
+                     specify library version info [each variable defaults to 0]
+ 
+ All other options (arguments beginning with \`-') are ignored.
+ 
+ Every other argument is treated as a filename.  Files ending in \`.la' are
+ treated as uninstalled libtool libraries, other files are standard or library
+ object files.
+ 
+ If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+ only library objects (\`.lo' files) may be specified, and \`-rpath' is
+ required, except when creating a convenience library.
+ 
+ If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+ using \`ar' and \`ranlib', or on Windows using \`lib'.
+ 
+ If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+ is created, otherwise an executable program is created."
+   ;;
+ 
+ uninstall)
+   $echo \
+ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+ 
+ Remove libraries from an installation directory.
+ 
+ RM is the name of the program to use to delete files associated with each FILE
+ (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+ to RM.
+ 
+ If FILE is a libtool library, all the files associated with it are deleted.
+ Otherwise, only FILE itself is deleted using RM."
+   ;;
+ 
+ *)
+   $echo "$modename: invalid operation mode \`$mode'" 1>&2
+   $echo "$help" 1>&2
+   exit $EXIT_FAILURE
+   ;;
+ esac
+ 
+ $echo
+ $echo "Try \`$modename --help' for more information about other modes."
+ 
+ exit $?
  
  # The TAGs below are defined such that we never get into a situation
  # in which we disable both kinds of libraries.  Given conflicting
@@@ -7864,17 -6951,14 +6951,14 @@@
  # configuration.  But we'll never go from static-only to shared-only.
  
  # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
- build_libtool_libs=no
- build_old_libs=yes
+ disable_libs=shared
  # ### END LIBTOOL TAG CONFIG: disable-shared
  
  # ### BEGIN LIBTOOL TAG CONFIG: disable-static
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+ disable_libs=static
  # ### END LIBTOOL TAG CONFIG: disable-static
  
  # Local Variables:
  # mode:shell-script
  # sh-indentation:2
  # End:
- # vi:sw=2
- 

-- 
LibASS packaging



More information about the pkg-multimedia-commits mailing list