Diff for /embedaddon/sudo/ltmain.sh between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/07/22 10:46:11 version 1.1.1.3, 2014/06/15 16:12:53
Line 1 Line 1
   #! /bin/sh
   
# libtool (GNU libtool) 2.4.2# libtool (GNU libtool) 2.4.2.418
 # Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996  # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
   
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 
 # This is free software; see the source for copying conditions.  There is NO  # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   
Line 23 Line 24
 # General Public License for more details.  # General Public License for more details.
 #  #
 # You should have received a copy of the GNU General Public License  # You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy# along with this program.  If not, see <http://www.gnu.org/licenses/>.
# 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  
 #       --no-quiet, --no-silent  
 #                            print informational messages (default)  
 #       --no-warn            don't display warning messages  
 #       --tag=TAG            use configuration variables from tag TAG  
 #   -v, --verbose            print more informational messages than default  
 #       --no-verbose         don't print the extra informational messages  
 #       --version            print version information  
 #   -h, --help, --help-all   print short, long, or detailed 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.  When passed as first option,  
 # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.  
 # 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.4.2  
 #         automake:     $automake_version  
 #         autoconf:     $autoconf_version  
 #  
 # Report bugs to <bug-libtool@gnu.org>.  
 # GNU libtool home page: <http://www.gnu.org/software/libtool/>.  
 # General help using GNU software: <http://www.gnu.org/gethelp/>.  
   
 PROGRAM=libtool  PROGRAM=libtool
 PACKAGE=libtool  PACKAGE=libtool
VERSION=2.4.2VERSION=2.4.2.418
TIMESTAMP=""package_revision=2.4.2.418
package_revision=1.3337 
   
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then## ------ ##
 ## Usage. ##
 ## ------ ##
 
 # Run './libtool --help' for help with using this script from the
 # command line.
 
 
 ## ------------------------------- ##
 ## User overridable command paths. ##
 ## ------------------------------- ##
 
 # After configure completes, it has a better idea of some of the
 # shell tools we need than the defaults used by the functions shared
 # with bootstrap, so set those here where they can still be over-
 # ridden by the user, but otherwise take precedence.
 
 : ${AUTOCONF="autoconf"}
 : ${AUTOMAKE="automake"}
 
 
 ## -------------------------- ##
 ## Source external libraries. ##
 ## -------------------------- ##
 
 # Much of our low-level functionality needs to be sourced from external
 # libraries, which are installed to $pkgauxdir.
 
 # Set a version string for this script.
 scriptversion=2013-08-23.20; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
 
 # Copyright (C) 2004-2013 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.
 
 # 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 3 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.
 
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
 # General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
 # Please report bugs or propose patches to gary@gnu.org.
 
 
 ## ------ ##
 ## Usage. ##
 ## ------ ##
 
 # Evaluate this file near the top of your script to gain access to
 # the functions and variables defined here:
 #
 #   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
 #
 # If you need to override any of the default environment variable
 # settings, do that before evaluating this file.
 
 
 ## -------------------- ##
 ## Shell normalisation. ##
 ## -------------------- ##
 
 # Some shells need a little help to be as Bourne compatible as possible.
 # Before doing anything else, make sure all that help has been provided!
 
 DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh    emulate sh
   NULLCMD=:    NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.    # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'    alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST    setopt NO_GLOB_SUBST
 else  else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
 fi  fi
 BIN_SH=xpg4; export BIN_SH # for Tru64  
 DUALCASE=1; export DUALCASE # for MKS sh  
   
# A function that is used when there is no print builtin or printf.# NLS nuisances: We save the old values in case they are required later.
func_fallback_echo ()_G_user_locale=
{_G_safe_locale=
  eval 'cat <<_LTECHO_EOFfor _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
$1 
_LTECHO_EOF' 
} 
 
# NLS nuisances: We save the old values to restore during execute mode. 
lt_user_locale= 
lt_safe_locale= 
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES 
 do  do
  eval "if test \"\${$lt_var+set}\" = set; then  eval "if test set = \"\${$_G_var+set}\"; then
          save_$lt_var=\$$lt_var          save_$_G_var=\$$_G_var
          $lt_var=C          $_G_var=C
          export $lt_var          export $_G_var
          lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"          _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
          lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"          _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
         fi"          fi"
 done  done
 LC_ALL=C  
 LANGUAGE=C  
 export LANGUAGE LC_ALL  
   
$lt_unset CDPATH# CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
   
   # Make sure IFS has a sensible default
   sp=' '
   nl='
   '
   IFS="$sp        $nl"
   
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh# There are still modern systems that have problems with 'echo' mis-
# is ksh but when the shell is invoked as "sh" and the current value of# handling backslashes, among others, so make sure $bs_echo is set to a
# the _XPG environment variable is not equal to 1 (one), the special# command that correctly interprets backslashes.
# positional parameter $0, within a function call, is the name of the# (this code from Autoconf 2.68)
# function. 
progpath="$0" 
   
   # Printing a long string crashes Solaris 7 /usr/bin/printf.
   bs_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
   bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
   bs_echo=$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo$bs_echo
   # Prefer a ksh shell builtin over an external printf program on Solaris,
   # but without wasting forks for bash or zsh.
   if test -z "$BASH_VERSION$ZSH_VERSION" \
       && (test "X`print -r -- $bs_echo`" = "X$bs_echo") 2>/dev/null; then
     bs_echo='print -r --'
     bs_echo_n='print -rn --'
   elif (test "X`printf %s $bs_echo`" = "X$bs_echo") 2>/dev/null; then
     bs_echo='printf %s\n'
     bs_echo_n='printf %s'
   else
     if test "X`(/usr/ucb/echo -n -n $bs_echo) 2>/dev/null`" = "X-n $bs_echo"; then
       bs_echo_body='eval /usr/ucb/echo -n "$1$nl"'
       bs_echo_n='/usr/ucb/echo -n'
     else
       bs_echo_body='eval expr "X$1" : "X\\(.*\\)"'
       bs_echo_n_body='eval
         arg=$1;
         case $arg in #(
         *"$nl"*)
           expr "X$arg" : "X\\(.*\\)$nl";
           arg=`expr "X$arg" : ".*$nl\\(.*\\)"`;;
         esac;
         expr "X$arg" : "X\\(.*\\)" | tr -d "$nl"
       '
       export bs_echo_n_body
       bs_echo_n='sh -c $bs_echo_n_body bs_echo'
     fi
     export bs_echo_body
     bs_echo='sh -c $bs_echo_body bs_echo'
   fi
   
   
   ## ------------------------------- ##
   ## User overridable command paths. ##
   ## ------------------------------- ##
   
   # All uppercase variable names are used for environment variables.  These
   # variables can be overridden by the user before calling a script that
   # uses them if a suitable command of that name is not already available
   # in the command search PATH.
   
 : ${CP="cp -f"}  : ${CP="cp -f"}
test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}: ${ECHO="$bs_echo"}
 : ${EGREP="grep -E"}
 : ${FGREP="grep -F"}
 : ${GREP="grep"}
 : ${LN_S="ln -s"}
 : ${MAKE="make"}  : ${MAKE="make"}
 : ${MKDIR="mkdir"}  : ${MKDIR="mkdir"}
 : ${MV="mv -f"}  : ${MV="mv -f"}
 : ${RM="rm -f"}  : ${RM="rm -f"}
   : ${SED="sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}  : ${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## -------------------- ##
 ## Useful sed snippets. ##
 ## -------------------- ##
   
# Make sure IFS has a sensible defaultsed_dirname='s|/[^/]*$||'
lt_nl='sed_basename='s|^.*/||'
' 
IFS="   $lt_nl" 
   
dirname="s,/[^/]*$,,"# Sed substitution that helps us do robust quoting.  It backslashifies
basename="s,^.*/,,"# metacharacters that are still active within double-quoted strings.
 sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
   
# func_dirname file append nondir_replacement# Same as above, but do not quote variable references.
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
# otherwise set result to NONDIR_REPLACEMENT. 
func_dirname () 
{ 
    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` 
    if test "X$func_dirname_result" = "X${1}"; then 
      func_dirname_result="${3}" 
    else 
      func_dirname_result="$func_dirname_result${2}" 
    fi 
} # func_dirname may be replaced by extended shell implementation 
   
   # Sed substitution that turns a string into a regex matching for the
   # string literally.
   sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
   
# func_basename file# Sed substitution that converts a w32 file name or path
func_basename ()# that contains forward slashes, into one that contains
{# (escaped) backslashes.  A very naive implementation.
    func_basename_result=`$ECHO "${1}" | $SED "$basename"`sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
} # func_basename may be replaced by extended shell implementation 
   
   # Re-'\' parameter expansions in output of sed_double_quote_subst that
   # were '\'-ed in input to the same.  If an odd number of '\' preceded a
   # '$' in input to sed_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 '$'.
   _G_bs='\\'
   _G_bs2='\\\\'
   _G_bs4='\\\\\\\\'
   _G_dollar='\$'
   sed_double_backslash="\
     s/$_G_bs4/&\\
   /g
     s/^$_G_bs2$_G_dollar/$_G_bs&/
     s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
     s/\n//g"
   
 # 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 "${1}" | $SED -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 "${1}" | $SED -e "$basename"`  
 } # func_dirname_and_basename may be replaced by extended shell implementation  
   
   ## ----------------- ##
   ## Global variables. ##
   ## ----------------- ##
   
# func_stripname prefix suffix name# Except for the global variables explicitly listed below, the following
# strip PREFIX and SUFFIX off of NAME.# functions in the '^func_' namespace, and the '^require_' namespace
# PREFIX and SUFFIX must not contain globbing or regex special# variables initialised in the 'Resource management' section, sourcing
# characters, hashes, percent signs, but SUFFIX may contain a leading# this file will not pollute your global namespace with anything
# dot (in which case that matches only a dot).# else. There's no portable way to scope variables in Bourne shell
# func_strip_suffix prefix name# though, so actually running these functions will sometimes place
func_stripname ()# results into a variable named after the function, and often use
{# temporary variables in the '^_G_' namespace. If you are careful to
    case ${2} in# avoid using those namespaces casually in your sourcing script, things
      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;# should continue to work as you expect. And, of course, you can freely
      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;# overwrite any of the functions or variables defined here before
    esac# calling anything to customize them.
} # func_stripname may be replaced by extended shell implementation 
   
   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.
   
# These SED scripts presuppose an absolute path with a trailing slash.# Allow overriding, eg assuming that you follow the convention of
pathcar='s,^/\([^/]*\).*$,\1,'# putting '$debug_cmd' at the start of all your functions, you can get
pathcdr='s,^/[^/]*,,'# bash to show function call trace with:
removedotparts=':dotsl#
                s@/\./@/@g#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
                t dotsldebug_cmd=${debug_cmd-":"}
                s,/\.$,/,'exit_cmd=:
collapseslashes='s@/\{1,\}@/@g' 
finalslash='s,/*$,/,' 
   
# func_normal_abspath PATH# By convention, finish your script with:
# Remove doubled-up and trailing slashes, "." path components,#
# and cancel out any ".." path components in PATH after making#    exit $exit_status
# it an absolute path.#
#             value returned in "$func_normal_abspath_result"# so that you can set exit_status to non-zero if you want to indicate
func_normal_abspath ()# something went wrong during execution without actually bailing out at
{# the point of failure.
  # Start from root dir and reassemble the path.exit_status=$EXIT_SUCCESS
  func_normal_abspath_result= 
  func_normal_abspath_tpath=$1 
  func_normal_abspath_altnamespace= 
  case $func_normal_abspath_tpath in 
    "") 
      # Empty path, that just means $cwd. 
      func_stripname '' '/' "`pwd`" 
      func_normal_abspath_result=$func_stripname_result 
      return 
    ;; 
    # The next three entries are used to spot a run of precisely 
    # two leading slashes without using negated character classes; 
    # we take advantage of case's first-match behaviour. 
    ///*) 
      # Unusual form of absolute path, do nothing. 
    ;; 
    //*) 
      # Not necessarily an ordinary path; POSIX reserves leading '//' 
      # and for example Cygwin uses it to access remote file shares 
      # over CIFS/SMB, so we conserve a leading double slash if found. 
      func_normal_abspath_altnamespace=/ 
    ;; 
    /*) 
      # Absolute path, do nothing. 
    ;; 
    *) 
      # Relative path, prepend $cwd. 
      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath 
    ;; 
  esac 
  # Cancel out all the simple stuff to save iterations.  We also want 
  # the path to end with a slash for ease of parsing, so make sure 
  # there is one (and only one) here. 
  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ 
        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` 
  while :; do 
    # Processed it all yet? 
    if test "$func_normal_abspath_tpath" = / ; then 
      # If we ascended to the root using ".." the result may be empty now. 
      if test -z "$func_normal_abspath_result" ; then 
        func_normal_abspath_result=/ 
      fi 
      break 
    fi 
    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ 
        -e "$pathcar"` 
    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ 
        -e "$pathcdr"` 
    # Figure out what to do with it 
    case $func_normal_abspath_tcomponent in 
      "") 
        # Trailing empty path component, ignore it. 
      ;; 
      ..) 
        # Parent dir; strip last assembled component from result. 
        func_dirname "$func_normal_abspath_result" 
        func_normal_abspath_result=$func_dirname_result 
      ;; 
      *) 
        # Actual path component, append it. 
        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent 
      ;; 
    esac 
  done 
  # Restore leading double-slash if one was found on entry. 
  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result 
} 
   
# func_relative_path SRCDIR DSTDIR# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# generates a relative path from SRCDIR to DSTDIR, with a trailing# is ksh but when the shell is invoked as "sh" and the current value of
# slash if non-empty, suitable for immediately appending a filename# the _XPG environment variable is not equal to 1 (one), the special
# without needing to append a separator.# positional parameter $0, within a function call, is the name of the
#             value returned in "$func_relative_path_result"# function.
func_relative_path ()progpath=$0
{ 
  func_relative_path_result= 
  func_normal_abspath "$1" 
  func_relative_path_tlibdir=$func_normal_abspath_result 
  func_normal_abspath "$2" 
  func_relative_path_tbindir=$func_normal_abspath_result 
   
  # Ascend the tree starting from libdir# The name of this program.
  while :; doprogname=`$bs_echo "$progpath" |$SED "$sed_basename"`
    # check if we have found a prefix of bindir 
    case $func_relative_path_tbindir in 
      $func_relative_path_tlibdir) 
        # found an exact match 
        func_relative_path_tcancelled= 
        break 
        ;; 
      $func_relative_path_tlibdir*) 
        # found a matching prefix 
        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" 
        func_relative_path_tcancelled=$func_stripname_result 
        if test -z "$func_relative_path_result"; then 
          func_relative_path_result=. 
        fi 
        break 
        ;; 
      *) 
        func_dirname $func_relative_path_tlibdir 
        func_relative_path_tlibdir=${func_dirname_result} 
        if test "x$func_relative_path_tlibdir" = x ; then 
          # Have to descend all the way to the root! 
          func_relative_path_result=../$func_relative_path_result 
          func_relative_path_tcancelled=$func_relative_path_tbindir 
          break 
        fi 
        func_relative_path_result=../$func_relative_path_result 
        ;; 
    esac 
  done 
   
  # Now calculate path; take care to avoid doubling-up slashes.# Make sure we have an absolute progpath for reexecution:
  func_stripname '' '/' "$func_relative_path_result" 
  func_relative_path_result=$func_stripname_result 
  func_stripname '/' '/' "$func_relative_path_tcancelled" 
  if test "x$func_stripname_result" != x ; then 
    func_relative_path_result=${func_relative_path_result}/${func_stripname_result} 
  fi 
 
  # Normalisation. If bindir is libdir, return empty string, 
  # else relative path ending with a slash; either way, target 
  # file name can be directly appended. 
  if test ! -z "$func_relative_path_result"; then 
    func_stripname './' '' "$func_relative_path_result/" 
    func_relative_path_result=$func_stripname_result 
  fi 
} 
 
# The name of this program: 
func_dirname_and_basename "$progpath" 
progname=$func_basename_result 
 
# Make sure we have an absolute path for reexecution: 
 case $progpath in  case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;    [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)    *[\\/]*)
     progdir=$func_dirname_result     progdir=`$bs_echo "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`       progdir=`cd "$progdir" && pwd`
     progpath="$progdir/$progname"     progpath=$progdir/$progname
      ;;       ;;
   *)    *)
     save_IFS="$IFS"     _G_IFS=$IFS
      IFS=${PATH_SEPARATOR-:}       IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do       for progdir in $PATH; do
       IFS="$save_IFS"       IFS=$_G_IFS
        test -x "$progdir/$progname" && break         test -x "$progdir/$progname" && break
      done       done
     IFS="$save_IFS"     IFS=$_G_IFS
      test -n "$progdir" || progdir=`pwd`       test -n "$progdir" || progdir=`pwd`
     progpath="$progdir/$progname"     progpath=$progdir/$progname
      ;;       ;;
 esac  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'## Standard options. ##
 ## ----------------- ##
   
# Sed substitution that turns a string into a regex matching for the# The following options affect the operation of the functions defined
# string literally.# below, and should be set appropriately depending on run-time para-
sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'# meters passed on the command line.
   
 # Sed substitution that converts a w32 file name or path  
 # which contains forward slashes, into one that contains  
 # (escaped) backslashes.  A very naive implementation.  
 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|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_dry_run=false
 opt_help=false  
 opt_quiet=false  opt_quiet=false
 opt_verbose=false  opt_verbose=false
 opt_warning=:  
   
# func_echo arg...# Categories 'all' and 'none' are always available.  Append any others
# Echo program name prefixed message, along with the current mode# you will pass as the first argument to func_warning from your own
# name if it has been set yet.# code.
func_echo ()warning_categories=
 
 # By default, display warnings according to 'opt_warning_types'.  Set
 # 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
 # treat the next displayed warning as a fatal error.
 warning_func=func_warn_and_continue
 
 # Set to 'all' to display all warnings, 'none' to suppress all
 # warnings, or a space delimited list of some subset of
 # 'warning_categories' to display only the listed warnings.
 opt_warning_types=all
 
 
 ## -------------------- ##
 ## Resource management. ##
 ## -------------------- ##
 
 # This section contains definitions for functions that each ensure a
 # particular resource (a file, or a non-empty configuration variable for
 # example) is available, and if appropriate to extract default values
 # from pertinent package files. Call them using their associated
 # 'require_*' variable to ensure that they are executed, at most, once.
 #
 # It's entirely deliberate that calling these functions can set
 # variables that don't obey the namespace limitations obeyed by the rest
 # of this file, in order that that they be as useful as possible to
 # callers.
 
 
 # require_term_colors
 # -------------------
 # Allow display of bold text on terminals that support it.
 require_term_colors=func_require_term_colors
 func_require_term_colors ()
 {  {
    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"    $debug_cmd
 
     test -t 1 && {
       # COLORTERM and USE_ANSI_COLORS environment variables take
       # precedence, because most terminfo databases neglect to describe
       # whether color sequences are supported.
       test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
 
       if test 1 = "$USE_ANSI_COLORS"; then
         # Standard ANSI escape sequences
         tc_reset=''
         tc_bold='';   tc_standout=''
         tc_red='';   tc_green=''
         tc_blue='';  tc_cyan=''
       else
         # Otherwise trust the terminfo database after all.
         test -n "`tput sgr0 2>/dev/null`" && {
           tc_reset=`tput sgr0`
           test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
           tc_standout=$tc_bold
           test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
           test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
           test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
           test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
           test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
         }
       fi
     }
 
     require_term_colors=:
 }  }
   
# func_verbose arg...
# Echo program name prefixed message in verbose mode only.## ----------------- ##
func_verbose ()## Function library. ##
 ## ----------------- ##
 
 # This section contains a variety of useful functions to call in your
 # scripts. Take note of the portable wrappers for features provided by
 # some modern shells, which will fall back to slower equivalents on
 # less featureful shells.
 
 
 # func_append VAR VALUE
 # ---------------------
 # Append VALUE onto the existing contents of VAR.
 
   # We should try to minimise forks, especially on Windows where they are
   # unreasonably slow, so skip the feature probes when bash or zsh are
   # being used:
   if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
     : ${_G_HAVE_ARITH_OP="yes"}
     : ${_G_HAVE_XSI_OPS="yes"}
     # The += operator was introduced in bash 3.1
     case $BASH_VERSION in
       [12].* | 3.0 | 3.0*) ;;
       *)
         : ${_G_HAVE_PLUSEQ_OP="yes"}
         ;;
     esac
   fi
 
   # _G_HAVE_PLUSEQ_OP
   # Can be empty, in which case the shell is probed, "yes" if += is
   # useable or anything else if it does not work.
   test -z "$_G_HAVE_PLUSEQ_OP" \
     && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
     && _G_HAVE_PLUSEQ_OP=yes
 
 if test yes = "$_G_HAVE_PLUSEQ_OP"
 then
   # This is an XSI compatible shell, allowing a faster implementation...
   eval 'func_append ()
   {
     $debug_cmd
 
     eval "$1+=\$2"
   }'
 else
   # ...otherwise fall back to using expr, which is often a shell builtin.
   func_append ()
   {
     $debug_cmd
 
     eval "$1=\$$1\$2"
   }
 fi
 
 
 # func_append_quoted VAR VALUE
 # ----------------------------
 # Quote VALUE and append to the end of shell variable VAR, separated
 # by a space.
 if test yes = "$_G_HAVE_PLUSEQ_OP"; then
   eval 'func_append_quoted ()
   {
     $debug_cmd
 
     func_quote_for_eval "$2"
     eval "$1+=\\ \$func_quote_for_eval_result"
   }'
 else
   func_append_quoted ()
   {
     $debug_cmd
 
     func_quote_for_eval "$2"
     eval "$1=\$$1\\ \$func_quote_for_eval_result"
   }
 fi
 
 
 # func_append_uniq VAR VALUE
 # --------------------------
 # Append unique VALUE onto the existing contents of VAR, assuming
 # entries are delimited by the first character of VALUE.  For example:
 #
 #   func_append_uniq options " --another-option option-argument"
 #
 # will only append to $options if " --another-option option-argument "
 # is not already present somewhere in $options already (note spaces at
 # each end implied by leading space in second argument).
 func_append_uniq ()
 {  {
    $opt_verbose && func_echo ${1+"$@"}    $debug_cmd
   
    # A bug in bash halts the script if the last line of a function    eval _G_current_value='`$bs_echo $'$1'`'
    # fails when set -e is in force, so we need another command to    _G_delim=`expr "$2" : '\(.\)'`
    # work around that:
    :    case $_G_delim$_G_current_value$_G_delim in
       *"$2$_G_delim"*) ;;
       *) func_append "$@" ;;
     esac
 }  }
   
# func_echo_all arg...
 # func_arith TERM...
 # ------------------
 # Set func_arith_result to the result of evaluating TERMs.
   test -z "$_G_HAVE_ARITH_OP" \
     && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
     && _G_HAVE_ARITH_OP=yes
 
 if test yes = "$_G_HAVE_ARITH_OP"; then
   eval 'func_arith ()
   {
     $debug_cmd
 
     func_arith_result=$(( $* ))
   }'
 else
   func_arith ()
   {
     $debug_cmd
 
     func_arith_result=`expr "$@"`
   }
 fi
 
 
 # func_basename FILE
 # ------------------
 # Set func_basename_result to FILE with everything up to and including
 # the last / stripped.
 if test yes = "$_G_HAVE_XSI_OPS"; then
   # If this shell supports suffix pattern removal, then use it to avoid
   # forking. Hide the definitions single quotes in case the shell chokes
   # on unsupported syntax...
   _b='func_basename_result=${1##*/}'
   _d='case $1 in
         */*) func_dirname_result=${1%/*}$2 ;;
         *  ) func_dirname_result=$3        ;;
       esac'
 
 else
   # ...otherwise fall back to using sed.
   _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
   _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
       if test "X$func_dirname_result" = "X$1"; then
         func_dirname_result=$3
       else
         func_append func_dirname_result "$2"
       fi'
 fi
 
 eval 'func_basename ()
 {
     $debug_cmd
 
     '"$_b"'
 }'
 
 
 # func_dirname FILE APPEND NONDIR_REPLACEMENT
 # -------------------------------------------
 # Compute the dirname of FILE.  If nonempty, add APPEND to the result,
 # otherwise set result to NONDIR_REPLACEMENT.
 eval 'func_dirname ()
 {
     $debug_cmd
 
     '"$_d"'
 }'
 
 
 # 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"
 # For efficiency, we do not delegate to the functions above but instead
 # duplicate the functionality here.
 eval 'func_dirname_and_basename ()
 {
     $debug_cmd
 
     '"$_b"'
     '"$_d"'
 }'
 
 
 # func_echo ARG...
 # ----------------
 # Echo program name prefixed message.
 func_echo ()
 {
     $debug_cmd
 
     _G_message=$*
 
     func_echo_IFS=$IFS
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_IFS
       $bs_echo "$progname: $_G_line"
     done
     IFS=$func_echo_IFS
 }
 
 
 # func_echo_all ARG...
 # --------------------
 # Invoke $ECHO with all args, space-separated.  # Invoke $ECHO with all args, space-separated.
 func_echo_all ()  func_echo_all ()
 {  {
     $ECHO "$*"      $ECHO "$*"
 }  }
   
# func_error arg...
# Echo program name prefixed message to standard error.# func_echo_infix_1 INFIX ARG...
func_error ()# ------------------------------
 # Echo program name, followed by INFIX on the first line, with any
 # additional lines not showing INFIX.
 func_echo_infix_1 ()
 {  {
    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2    $debug_cmd
 
     $require_term_colors
 
     _G_infix=$1; shift
     _G_indent=$_G_infix
     _G_prefix="$progname: $_G_infix: "
     _G_message=$*
 
     # Strip color escape sequences before counting printable length
     for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
     do
       test -n "$_G_tc" && {
         _G_esc_tc=`$bs_echo "$_G_tc" | sed "$sed_make_literal_regex"`
         _G_indent=`$bs_echo "$_G_indent" | sed "s|$_G_esc_tc||g"`
       }
     done
     _G_indent="$progname: "`echo "$_G_indent" | sed 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
 
     func_echo_infix_1_IFS=$IFS
     IFS=$nl
     for _G_line in $_G_message; do
       IFS=$func_echo_infix_1_IFS
       $bs_echo "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
       _G_prefix=$_G_indent
     done
     IFS=$func_echo_infix_1_IFS
 }  }
   
# func_warning arg...
# Echo program name prefixed warning message to standard error.# func_error ARG...
func_warning ()# -----------------
 # Echo program name prefixed message to standard error.
 func_error ()
 {  {
    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2    $debug_cmd
   
    # bash bug again:    $require_term_colors
    :
     func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
 }  }
   
# func_fatal_error arg...
 # func_fatal_error ARG...
 # -----------------------
 # Echo program name prefixed message to standard error, and exit.  # Echo program name prefixed message to standard error, and exit.
 func_fatal_error ()  func_fatal_error ()
 {  {
    func_error ${1+"$@"}    $debug_cmd
 
     func_error "$*"
     exit $EXIT_FAILURE      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
# func_grep expression filename# -----------------------------
 # Check whether EXPRESSION matches any line of FILENAME, without output.  # Check whether EXPRESSION matches any line of FILENAME, without output.
 func_grep ()  func_grep ()
 {  {
       $debug_cmd
   
     $GREP "$1" "$2" >/dev/null 2>&1      $GREP "$1" "$2" >/dev/null 2>&1
 }  }
   
   
# func_mkdir_p directory-path# func_len STRING
 # ---------------
 # Set func_len_result to the length of STRING. STRING may not
 # start with a hyphen.
   test -z "$_G_HAVE_XSI_OPS" \
     && (eval 'x=a/b/c;
       test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
     && _G_HAVE_XSI_OPS=yes
 
 if test yes = "$_G_HAVE_XSI_OPS"; then
   eval 'func_len ()
   {
     $debug_cmd
 
     func_len_result=${#1}
   }'
 else
   func_len ()
   {
     $debug_cmd
 
     func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
   }
 fi
 
 
 # func_mkdir_p DIRECTORY-PATH
 # ---------------------------
 # Make sure the entire path to DIRECTORY-PATH is available.  # Make sure the entire path to DIRECTORY-PATH is available.
 func_mkdir_p ()  func_mkdir_p ()
 {  {
    my_directory_path="$1"    $debug_cmd
    my_dir_list= 
   
    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then    _G_directory_path=$1
     _G_dir_list=
   
      # Protect directory names starting with `-'    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
      case $my_directory_path in
        -*) my_directory_path="./$my_directory_path" ;;      # Protect directory names starting with '-'
       case $_G_directory_path in
         -*) _G_directory_path=./$_G_directory_path ;;
       esac        esac
   
       # While some portion of DIR does not yet exist...        # While some portion of DIR does not yet exist...
      while test ! -d "$my_directory_path"; do      while test ! -d "$_G_directory_path"; do
         # ...make a list in topmost first order.  Use a colon delimited          # ...make a list in topmost first order.  Use a colon delimited
         # list incase some portion of path contains whitespace.          # list incase some portion of path contains whitespace.
        my_dir_list="$my_directory_path:$my_dir_list"        _G_dir_list=$_G_directory_path:$_G_dir_list
   
         # If the last portion added has no slash in it, the list is done          # If the last portion added has no slash in it, the list is done
        case $my_directory_path in */*) ;; *) break ;; esac        case $_G_directory_path in */*) ;; *) break ;; esac
   
         # ...otherwise throw away the child directory and loop          # ...otherwise throw away the child directory and loop
        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
       done        done
      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
   
      save_mkdir_p_IFS="$IFS"; IFS=':'      func_mkdir_p_IFS=$IFS; IFS=:
      for my_dir in $my_dir_list; do      for _G_dir in $_G_dir_list; do
        IFS="$save_mkdir_p_IFS"        IFS=$func_mkdir_p_IFS
        # mkdir can fail with a `File exist' error if two processes        # mkdir can fail with a 'File exist' error if two processes
         # try to create one of the directories concurrently.  Don't          # try to create one of the directories concurrently.  Don't
         # stop in that case!          # stop in that case!
        $MKDIR "$my_dir" 2>/dev/null || :        $MKDIR "$_G_dir" 2>/dev/null || :
       done        done
      IFS="$save_mkdir_p_IFS"      IFS=$func_mkdir_p_IFS
   
       # Bail out if we (or some other process) failed to create a directory.        # Bail out if we (or some other process) failed to create a directory.
      test -d "$my_directory_path" || \      test -d "$_G_directory_path" || \
        func_fatal_error "Failed to create \`$1'"        func_fatal_error "Failed to create '$1'"
     fi      fi
 }  }
   
   
# func_mktempdir [string]# func_mktempdir [BASENAME]
 # -------------------------
 # Make a temporary directory that won't clash with other running  # Make a temporary directory that won't clash with other running
 # libtool processes, and avoids race conditions if possible.  If  # libtool processes, and avoids race conditions if possible.  If
# given, STRING is the basename for that directory.# given, BASENAME is the basename for that directory.
 func_mktempdir ()  func_mktempdir ()
 {  {
    my_template="${TMPDIR-/tmp}/${1-$progname}"    $debug_cmd
   
    if test "$opt_dry_run" = ":"; then    _G_template=${TMPDIR-/tmp}/${1-$progname}
 
     if test : = "$opt_dry_run"; then
       # Return a directory name, but don't create it in dry-run mode        # Return a directory name, but don't create it in dry-run mode
      my_tmpdir="${my_template}-$$"      _G_tmpdir=$_G_template-$$
     else      else
   
       # If mktemp works, use that first and foremost        # If mktemp works, use that first and foremost
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
   
      if test ! -d "$my_tmpdir"; then      if test ! -d "$_G_tmpdir"; then
         # Failing that, at least try and use $RANDOM to avoid a race          # Failing that, at least try and use $RANDOM to avoid a race
        my_tmpdir="${my_template}-${RANDOM-0}$$"        _G_tmpdir=$_G_template-${RANDOM-0}$$
   
        save_mktempdir_umask=`umask`        func_mktempdir_umask=`umask`
         umask 0077          umask 0077
        $MKDIR "$my_tmpdir"        $MKDIR "$_G_tmpdir"
        umask $save_mktempdir_umask        umask $func_mktempdir_umask
       fi        fi
   
       # If we're not in dry-run mode, bomb out on failure        # If we're not in dry-run mode, bomb out on failure
      test -d "$my_tmpdir" || \      test -d "$_G_tmpdir" || \
        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
     fi      fi
   
    $ECHO "$my_tmpdir"    $ECHO "$_G_tmpdir"
 }  }
   
   
# func_quote_for_eval arg# func_normal_abspath PATH
# Aesthetically quote ARG to be evaled later.# ------------------------
# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT# Remove doubled-up and trailing slashes, "." path components,
# is double-quoted, suitable for a subsequent eval, whereas# and cancel out any ".." path components in PATH after making
# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters# it an absolute path.
# which are still active within double quotes backslashified.func_normal_abspath ()
func_quote_for_eval () 
 {  {
    case $1 in    $debug_cmd
      *[\\\`\"\$]*) 
        func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; 
      *) 
        func_quote_for_eval_unquoted_result="$1" ;; 
    esac 
   
    case $func_quote_for_eval_unquoted_result in    # These SED scripts presuppose an absolute path with a trailing slash.
      # Double-quote args containing shell metacharacters to delay    _G_pathcar='s|^/\([^/]*\).*$|\1|'
      # word splitting, command substitution and and variable    _G_pathcdr='s|^/[^/]*||'
      # expansion for a subsequent eval.    _G_removedotparts=':dotsl
      # Many Bourne shells cannot handle close brackets correctly                s|/\./|/|g
      # in scan sets, so we specify it separately.                t dotsl
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")                s|/\.$|/|'
        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""    _G_collapseslashes='s|/\{1,\}|/|g'
     _G_finalslash='s|/*$|/|'
 
     # Start from root dir and reassemble the path.
     func_normal_abspath_result=
     func_normal_abspath_tpath=$1
     func_normal_abspath_altnamespace=
     case $func_normal_abspath_tpath in
       "")
         # Empty path, that just means $cwd.
         func_stripname '' '/' "`pwd`"
         func_normal_abspath_result=$func_stripname_result
         return
         ;;          ;;
         # The next three entries are used to spot a run of precisely
         # two leading slashes without using negated character classes;
         # we take advantage of case's first-match behaviour.
         ///*)
           # Unusual form of absolute path, do nothing.
           ;;
         //*)
           # Not necessarily an ordinary path; POSIX reserves leading '//'
           # and for example Cygwin uses it to access remote file shares
           # over CIFS/SMB, so we conserve a leading double slash if found.
           func_normal_abspath_altnamespace=/
           ;;
         /*)
           # Absolute path, do nothing.
           ;;
       *)        *)
        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"        # Relative path, prepend $cwd.
         func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
         ;;
     esac      esac
   
       # Cancel out all the simple stuff to save iterations.  We also want
       # the path to end with a slash for ease of parsing, so make sure
       # there is one (and only one) here.
       func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
             -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
       while :; do
         # Processed it all yet?
         if test / = "$func_normal_abspath_tpath"; then
           # If we ascended to the root using ".." the result may be empty now.
           if test -z "$func_normal_abspath_result"; then
             func_normal_abspath_result=/
           fi
           break
         fi
         func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
             -e "$_G_pathcar"`
         func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
             -e "$_G_pathcdr"`
         # Figure out what to do with it
         case $func_normal_abspath_tcomponent in
           "")
             # Trailing empty path component, ignore it.
             ;;
           ..)
             # Parent dir; strip last assembled component from result.
             func_dirname "$func_normal_abspath_result"
             func_normal_abspath_result=$func_dirname_result
             ;;
           *)
             # Actual path component, append it.
             func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
             ;;
         esac
       done
       # Restore leading double-slash if one was found on entry.
       func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
 }  }
   
   
# func_quote_for_expand arg# func_notquiet ARG...
 # --------------------
 # Echo program name prefixed message only when not in quiet mode.
 func_notquiet ()
 {
     $debug_cmd
 
     $opt_quiet || 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_relative_path SRCDIR DSTDIR
 # --------------------------------
 # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
 func_relative_path ()
 {
     $debug_cmd
 
     func_relative_path_result=
     func_normal_abspath "$1"
     func_relative_path_tlibdir=$func_normal_abspath_result
     func_normal_abspath "$2"
     func_relative_path_tbindir=$func_normal_abspath_result
 
     # Ascend the tree starting from libdir
     while :; do
       # check if we have found a prefix of bindir
       case $func_relative_path_tbindir in
         $func_relative_path_tlibdir)
           # found an exact match
           func_relative_path_tcancelled=
           break
           ;;
         $func_relative_path_tlibdir*)
           # found a matching prefix
           func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
           func_relative_path_tcancelled=$func_stripname_result
           if test -z "$func_relative_path_result"; then
             func_relative_path_result=.
           fi
           break
           ;;
         *)
           func_dirname $func_relative_path_tlibdir
           func_relative_path_tlibdir=$func_dirname_result
           if test -z "$func_relative_path_tlibdir"; then
             # Have to descend all the way to the root!
             func_relative_path_result=../$func_relative_path_result
             func_relative_path_tcancelled=$func_relative_path_tbindir
             break
           fi
           func_relative_path_result=../$func_relative_path_result
           ;;
       esac
     done
 
     # Now calculate path; take care to avoid doubling-up slashes.
     func_stripname '' '/' "$func_relative_path_result"
     func_relative_path_result=$func_stripname_result
     func_stripname '/' '/' "$func_relative_path_tcancelled"
     if test -n "$func_stripname_result"; then
       func_append func_relative_path_result "/$func_stripname_result"
     fi
 
     # Normalisation. If bindir is libdir, return '.' else relative path.
     if test -n "$func_relative_path_result"; then
       func_stripname './' '' "$func_relative_path_result"
       func_relative_path_result=$func_stripname_result
     fi
 
     test -n "$func_relative_path_result" || func_relative_path_result=.
 
     :
 }
 
 
 # func_quote_for_eval ARG...
 # --------------------------
 # Aesthetically quote ARGs to be evaled later.
 # This function returns two values:
 #   i) func_quote_for_eval_result
 #      double-quoted, suitable for a subsequent eval
 #  ii) func_quote_for_eval_unquoted_result
 #      has all characters that are still active within double
 #      quotes backslashified.
 func_quote_for_eval ()
 {
     $debug_cmd
 
     func_quote_for_eval_unquoted_result=
     func_quote_for_eval_result=
     while test 0 -lt $#; do
       case $1 in
         *[\\\`\"\$]*)
           _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
         *)
           _G_unquoted_arg=$1 ;;
       esac
       if test -n "$func_quote_for_eval_unquoted_result"; then
         func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
       else
         func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
       fi
 
       case $_G_unquoted_arg in
         # Double-quote args containing shell metacharacters to delay
         # word splitting, command substitution and variable expansion
         # for a subsequent eval.
         # Many Bourne shells cannot handle close brackets correctly
         # in scan sets, so we specify it separately.
         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
           _G_quoted_arg=\"$_G_unquoted_arg\"
           ;;
         *)
           _G_quoted_arg=$_G_unquoted_arg
           ;;
       esac
 
       if test -n "$func_quote_for_eval_result"; then
         func_append func_quote_for_eval_result " $_G_quoted_arg"
       else
         func_append func_quote_for_eval_result "$_G_quoted_arg"
       fi
       shift
     done
 }
 
 
 # func_quote_for_expand ARG
 # -------------------------
 # Aesthetically quote ARG to be evaled later; same as above,  # Aesthetically quote ARG to be evaled later; same as above,
 # but do not quote variable references.  # but do not quote variable references.
 func_quote_for_expand ()  func_quote_for_expand ()
 {  {
       $debug_cmd
   
     case $1 in      case $1 in
       *[\\\`\"]*)        *[\\\`\"]*)
        my_arg=`$ECHO "$1" | $SED \        _G_arg=`$ECHO "$1" | $SED \
            -e "$double_quote_subst" -e "$sed_double_backslash"` ;;            -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
       *)        *)
        my_arg="$1" ;;        _G_arg=$1 ;;
     esac      esac
   
    case $my_arg in    case $_G_arg in
       # Double-quote args containing shell metacharacters to delay        # Double-quote args containing shell metacharacters to delay
       # word splitting and command substitution for a subsequent eval.        # word splitting and command substitution for a subsequent eval.
       # Many Bourne shells cannot handle close brackets correctly        # Many Bourne shells cannot handle close brackets correctly
       # in scan sets, so we specify it separately.        # in scan sets, so we specify it separately.
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
        my_arg="\"$my_arg\""        _G_arg=\"$_G_arg\"
         ;;          ;;
     esac      esac
   
    func_quote_for_expand_result="$my_arg"    func_quote_for_expand_result=$_G_arg
 }  }
   
   
# func_show_eval cmd [fail_exp]# func_stripname PREFIX SUFFIX NAME
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is# ---------------------------------
 # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
 # PREFIX and SUFFIX must not contain globbing or regex special
 # characters, hashes, percent signs, but SUFFIX may contain a leading
 # dot (in which case that matches only a dot).
 if test yes = "$_G_HAVE_XSI_OPS"; then
   eval 'func_stripname ()
   {
     $debug_cmd
 
     # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
     # positional parameters, so assign one to ordinary variable first.
     func_stripname_result=$3
     func_stripname_result=${func_stripname_result#"$1"}
     func_stripname_result=${func_stripname_result%"$2"}
   }'
 else
   func_stripname ()
   {
     $debug_cmd
 
     case $2 in
       .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
       *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
     esac
   }
 fi
 
 
 # func_show_eval CMD [FAIL_EXP]
 # -----------------------------
 # Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
 # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP  # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
 # is given, then evaluate it.  # is given, then evaluate it.
 func_show_eval ()  func_show_eval ()
 {  {
    my_cmd="$1"    $debug_cmd
    my_fail_exp="${2-:}" 
   
    ${opt_silent-false} || {    _G_cmd=$1
      func_quote_for_expand "$my_cmd"    _G_fail_exp=${2-':'}
      eval "func_echo $func_quote_for_expand_result" 
    } 
   
    if ${opt_dry_run-false}; then :; else    func_quote_for_expand "$_G_cmd"
      eval "$my_cmd"    eval "func_notquiet $func_quote_for_expand_result"
      my_status=$?
      if test "$my_status" -eq 0; then :; else    $opt_dry_run || {
        eval "(exit $my_status); $my_fail_exp"      eval "$_G_cmd"
       _G_status=$?
       if test 0 -ne "$_G_status"; then
         eval "(exit $_G_status); $_G_fail_exp"
       fi        fi
    fi    }
 }  }
   
   
# func_show_eval_locale cmd [fail_exp]# func_show_eval_locale CMD [FAIL_EXP]
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is# ------------------------------------
 # Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
 # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP  # not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
 # is given, then evaluate it.  Use the saved locale for evaluation.  # is given, then evaluate it.  Use the saved locale for evaluation.
 func_show_eval_locale ()  func_show_eval_locale ()
 {  {
    my_cmd="$1"    $debug_cmd
    my_fail_exp="${2-:}" 
   
    ${opt_silent-false} || {    _G_cmd=$1
      func_quote_for_expand "$my_cmd"    _G_fail_exp=${2-':'}
 
     $opt_quiet || {
       func_quote_for_expand "$_G_cmd"
       eval "func_echo $func_quote_for_expand_result"        eval "func_echo $func_quote_for_expand_result"
     }      }
   
    if ${opt_dry_run-false}; then :; else    $opt_dry_run || {
      eval "$lt_user_locale      eval "$_G_user_locale
            $my_cmd"            $_G_cmd"
      my_status=$?      _G_status=$?
      eval "$lt_safe_locale"      eval "$_G_safe_locale"
      if test "$my_status" -eq 0; then :; else      if test 0 -ne "$_G_status"; then
        eval "(exit $my_status); $my_fail_exp"        eval "(exit $_G_status); $_G_fail_exp"
       fi        fi
    fi    }
 }  }
   
   
 # func_tr_sh  # func_tr_sh
   # ----------
 # Turn $1 into a string suitable for a shell variable name.  # Turn $1 into a string suitable for a shell variable name.
 # Result is stored in $func_tr_sh_result.  All characters  # Result is stored in $func_tr_sh_result.  All characters
 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,  # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
 # if $1 begins with a digit, a '_' is prepended as well.  # if $1 begins with a digit, a '_' is prepended as well.
 func_tr_sh ()  func_tr_sh ()
 {  {
  case $1 in    $debug_cmd
  [0-9]* | *[!a-zA-Z0-9_]*)
    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`    case $1 in
    ;;    [0-9]* | *[!a-zA-Z0-9_]*)
  * )      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
    func_tr_sh_result=$1      ;;
    ;;    * )
  esac      func_tr_sh_result=$1
       ;;
     esac
 }  }
   
   
# func_version# func_verbose ARG...
# Echo version message to standard output and exit.# -------------------
func_version ()# Echo program name prefixed message in verbose mode only.
 func_verbose ()
 {  {
    $opt_debug    $debug_cmd
   
    $SED -n '/(C)/!b go    $opt_verbose && func_echo "$*"
        :more
        /\./!{    :
          N 
          s/\n# / / 
          b more 
        } 
        :go 
        /^# '$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_warn_and_continue ARG...
func_usage ()# -----------------------------
 # Echo program name prefixed warning message to standard error.
 func_warn_and_continue ()
 {  {
    $opt_debug    $debug_cmd
   
    $SED -n '/^# Usage:/,/^#  *.*--help/ {    $require_term_colors
        s/^# //
        s/^# *$//    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
        s/\$progname/'$progname'/ 
        p 
    }' < "$progpath" 
    echo 
    $ECHO "run \`$progname --help | more' for full usage" 
    exit $? 
 }  }
   
# func_help [NOEXIT]
# Echo long help message to standard output and exit,# func_warning CATEGORY ARG...
# unless 'noexit' is passed as argument.# ----------------------------
 # Echo program name prefixed warning message to standard error. Warning
 # messages can be filtered according to CATEGORY, where this function
 # elides messages where CATEGORY is not listed in the global variable
 # 'opt_warning_types'.
 func_warning ()
 {
     $debug_cmd
 
     # CATEGORY must be in the warning_categories list!
     case " $warning_categories " in
       *" $1 "*) ;;
       *) func_internal_error "invalid warning category '$1'" ;;
     esac
 
     _G_category=$1
     shift
 
     case " $opt_warning_types " in
       *" $_G_category "*) $warning_func ${1+"$@"} ;;
     esac
 }
 
 
 # func_sort_ver VER1 VER2
 # -----------------------
 # 'sort -V' is not generally available.
 # Note this deviates from the version comparison in automake
 # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
 # but this should suffice as we won't be specifying old
 # version formats or redundant trailing .0 in bootstrap.conf.
 # If we did want full compatibility then we should probably
 # use m4_version_compare from autoconf.
 func_sort_ver ()
 {
     $debug_cmd
 
     ver1=$1
     ver2=$2
 
     # Split on '.' and compare each component.
     i=1
     while :; do
       p1=`echo "$ver1" |cut -d. -f$i`
       p2=`echo "$ver2" |cut -d. -f$i`
       if test ! "$p1"; then
         echo "$1 $2"
         break
       elif test ! "$p2"; then
         echo "$2 $1"
         break
       elif test ! "$p1" = "$p2"; then
         if test "$p1" -gt "$p2" 2>/dev/null; then # numeric comparison
           echo "$2 $1"
         elif test "$p2" -gt "$p1" 2>/dev/null; then # numeric comparison
           echo "$1 $2"
         else # numeric, then lexicographic comparison
           lp=`printf "$p1\n$p2\n" |sort -n |tail -n1`
           if test "$lp" = "$p2"; then
             echo "$1 $2"
           else
             echo "$2 $1"
           fi
         fi
         break
       fi
       i=`expr $i + 1`
     done
 }
 
 
 # Local variables:
 # mode: shell-script
 # sh-indentation: 2
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
 # time-stamp-time-zone: "UTC"
 # End:
 #! /bin/sh
 
 # Set a version string for this script.
 scriptversion=2012-10-21.11; # UTC
 
 # A portable, pluggable option parser for Bourne shell.
 # Written by Gary V. Vaughan, 2010
 
 # Copyright (C) 2010-2013 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.
 
 # 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 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Please report bugs or propose patches to gary@gnu.org.
 
 
 ## ------ ##
 ## Usage. ##
 ## ------ ##
 
 # This file is a library for parsing options in your shell scripts along
 # with assorted other useful supporting features that you can make use
 # of too.
 #
 # For the simplest scripts you might need only:
 #
 #   #!/bin/sh
 #   . relative/path/to/funclib.sh
 #   . relative/path/to/options-parser
 #   scriptversion=1.0
 #   func_options ${1+"$@"}
 #   eval set dummy "$func_options_result"; shift
 #   ...rest of your script...
 #
 # In order for the '--version' option to work, you will need to have a
 # suitably formatted comment like the one at the top of this file
 # starting with '# Written by ' and ending with '# warranty; '.
 #
 # For '-h' and '--help' to work, you will also need a one line
 # description of your script's purpose in a comment directly above the
 # '# Written by ' line, like the one at the top of this file.
 #
 # The default options also support '--debug', which will turn on shell
 # execution tracing (see the comment above debug_cmd below for another
 # use), and '--verbose' and the func_verbose function to allow your script
 # to display verbose messages only when your user has specified
 # '--verbose'.
 #
 # After sourcing this file, you can plug processing for additional
 # options by amending the variables from the 'Configuration' section
 # below, and following the instructions in the 'Option parsing'
 # section further down.
 
 ## -------------- ##
 ## Configuration. ##
 ## -------------- ##
 
 # You should override these variables in your script after sourcing this
 # file so that they reflect the customisations you have added to the
 # option parser.
 
 # The usage line for option parsing errors and the start of '-h' and
 # '--help' output messages. You can embed shell variables for delayed
 # expansion at the time the message is displayed, but you will need to
 # quote other shell meta-characters carefully to prevent them being
 # expanded when the contents are evaled.
 usage='$progpath [OPTION]...'
 
 # Short help message in response to '-h' and '--help'.  Add to this or
 # override it after sourcing this library to reflect the full set of
 # options your script accepts.
 usage_message="\
        --debug        enable verbose shell tracing
    -W, --warnings=CATEGORY
                       report the warnings falling in CATEGORY [all]
    -v, --verbose      verbosely report processing
        --version      print version information and exit
    -h, --help         print short or long help message and exit
 "
 
 # Additional text appended to 'usage_message' in response to '--help'.
 long_help_message="
 Warning categories include:
        'all'          show all warnings
        'none'         turn off all the warnings
        'error'        warnings are treated as fatal errors"
 
 # Help message printed before fatal option parsing errors.
 fatal_help="Try '\$progname --help' for more information."
 
 
 
 ## ------------------------- ##
 ## Hook function management. ##
 ## ------------------------- ##
 
 # This section contains functions for adding, removing, and running hooks
 # to the main code.  A hook is just a named list of of function, that can
 # be run in order later on.
 
 # func_hookable FUNC_NAME
 # -----------------------
 # Declare that FUNC_NAME will run hooks added with
 # 'func_add_hook FUNC_NAME ...'.
 func_hookable ()
 {
     $debug_cmd
 
     func_append hookable_fns " $1"
 }
 
 
 # func_add_hook FUNC_NAME HOOK_FUNC
 # ---------------------------------
 # Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
 # first have been declared "hookable" by a call to 'func_hookable'.
 func_add_hook ()
 {
     $debug_cmd
 
     case " $hookable_fns " in
       *" $1 "*) ;;
       *) func_fatal_error "'$1' does not accept hook functions." ;;
     esac
 
     eval func_append ${1}_hooks '" $2"'
 }
 
 
 # func_remove_hook FUNC_NAME HOOK_FUNC
 # ------------------------------------
 # Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
 func_remove_hook ()
 {
     $debug_cmd
 
     eval ${1}_hooks='`$bs_echo "\$'$1'_hooks" |$SED "s| '$2'||"`'
 }
 
 
 # func_run_hooks FUNC_NAME [ARG]...
 # ---------------------------------
 # Run all hook functions registered to FUNC_NAME.
 # It is assumed that the list of hook functions contains nothing more
 # than a whitespace-delimited list of legal shell function names, and
 # no effort is wasted trying to catch shell meta-characters or preserve
 # whitespace.
 func_run_hooks ()
 {
     $debug_cmd
 
     case " $hookable_fns " in
       *" $1 "*) ;;
       *) func_fatal_error "'$1' does not support hook funcions.n" ;;
     esac
 
     eval _G_hook_fns=\$$1_hooks; shift
 
     for _G_hook in $_G_hook_fns; do
       eval $_G_hook '"$@"'
 
       # store returned options list back into positional
       # parameters for next 'cmd' execution.
       eval _G_hook_result=\$${_G_hook}_result
       eval set dummy "$_G_hook_result"; shift
     done
 
     func_quote_for_eval ${1+"$@"}
     func_run_hooks_result=$func_quote_for_eval_result
 }
 
 
 
 ## --------------- ##
 ## Option parsing. ##
 ## --------------- ##
 
 # In order to add your own option parsing hooks, you must accept the
 # full positional parameter list in your hook function, remove any
 # options that you action, and then pass back the remaining unprocessed
 # options in '<hooked_function_name>_result', escaped suitably for
 # 'eval'.  Like this:
 #
 #    my_options_prep ()
 #    {
 #        $debug_cmd
 #
 #        # Extend the existing usage message.
 #        usage_message=$usage_message'
 #      -s, --silent       don'\''t print informational messages
 #    '
 #
 #        func_quote_for_eval ${1+"$@"}
 #        my_options_prep_result=$func_quote_for_eval_result
 #    }
 #    func_add_hook func_options_prep my_options_prep
 #
 #
 #    my_silent_option ()
 #    {
 #        $debug_cmd
 #
 #        # Note that for efficiency, we parse as many options as we can
 #        # recognise in a loop before passing the remainder back to the
 #        # caller on the first unrecognised argument we encounter.
 #        while test $# -gt 0; do
 #          opt=$1; shift
 #          case $opt in
 #            --silent|-s) opt_silent=: ;;
 #            # Separate non-argument short options:
 #            -s*)         func_split_short_opt "$_G_opt"
 #                         set dummy "$func_split_short_opt_name" \
 #                             "-$func_split_short_opt_arg" ${1+"$@"}
 #                         shift
 #                         ;;
 #            *)            set dummy "$_G_opt" "$*"; shift; break ;;
 #          esac
 #        done
 #
 #        func_quote_for_eval ${1+"$@"}
 #        my_silent_option_result=$func_quote_for_eval_result
 #    }
 #    func_add_hook func_parse_options my_silent_option
 #
 #
 #    my_option_validation ()
 #    {
 #        $debug_cmd
 #
 #        $opt_silent && $opt_verbose && func_fatal_help "\
 #    '--silent' and '--verbose' options are mutually exclusive."
 #
 #        func_quote_for_eval ${1+"$@"}
 #        my_option_validation_result=$func_quote_for_eval_result
 #    }
 #    func_add_hook func_validate_options my_option_validation
 #
 # You'll alse need to manually amend $usage_message to reflect the extra
 # options you parse.  It's preferable to append if you can, so that
 # multiple option parsing hooks can be added safely.
 
 
 # func_options [ARG]...
 # ---------------------
 # All the functions called inside func_options are hookable. See the
 # individual implementations for details.
 func_hookable func_options
 func_options ()
 {
     $debug_cmd
 
     func_options_prep ${1+"$@"}
     eval func_parse_options \
         ${func_options_prep_result+"$func_options_prep_result"}
     eval func_validate_options \
         ${func_parse_options_result+"$func_parse_options_result"}
 
     eval func_run_hooks func_options \
         ${func_validate_options_result+"$func_validate_options_result"}
 
     # save modified positional parameters for caller
     func_options_result=$func_run_hooks_result
 }
 
 
 # func_options_prep [ARG]...
 # --------------------------
 # All initialisations required before starting the option parse loop.
 # Note that when calling hook functions, we pass through the list of
 # positional parameters.  If a hook function modifies that list, and
 # needs to propogate that back to rest of this script, then the complete
 # modified list must be put in 'func_run_hooks_result' before
 # returning.
 func_hookable func_options_prep
 func_options_prep ()
 {
     $debug_cmd
 
     # Option defaults:
     opt_verbose=false
     opt_warning_types=
 
     func_run_hooks func_options_prep ${1+"$@"}
 
     # save modified positional parameters for caller
     func_options_prep_result=$func_run_hooks_result
 }
 
 
 # func_parse_options [ARG]...
 # ---------------------------
 # The main option parsing loop.
 func_hookable func_parse_options
 func_parse_options ()
 {
     $debug_cmd
 
     func_parse_options_result=
 
     # this just eases exit handling
     while test $# -gt 0; do
       # Defer to hook functions for initial option parsing, so they
       # get priority in the event of reusing an option name.
       func_run_hooks func_parse_options ${1+"$@"}
 
       # Adjust func_parse_options positional parameters to match
       eval set dummy "$func_run_hooks_result"; shift
 
       # Break out of the loop if we already parsed every option.
       test $# -gt 0 || break
 
       _G_opt=$1
       shift
       case $_G_opt in
         --debug|-x)   debug_cmd='set -x'
                       func_echo "enabling shell trace mode"
                       $debug_cmd
                       ;;
 
         --no-warnings|--no-warning|--no-warn)
                       set dummy --warnings none ${1+"$@"}
                       shift
                       ;;
 
         --warnings|--warning|-W)
                       test $# = 0 && func_missing_arg $_G_opt && break
                       case " $warning_categories $1" in
                         *" $1 "*)
                           # trailing space prevents matching last $1 above
                           func_append_uniq opt_warning_types " $1"
                           ;;
                         *all)
                           opt_warning_types=$warning_categories
                           ;;
                         *none)
                           opt_warning_types=none
                           warning_func=:
                           ;;
                         *error)
                           opt_warning_types=$warning_categories
                           warning_func=func_fatal_error
                           ;;
                         *)
                           func_fatal_error \
                              "unsupported warning category: '$1'"
                           ;;
                       esac
                       shift
                       ;;
 
         --verbose|-v) opt_verbose=: ;;
         --version)    func_version ;;
         -\?|-h)       func_usage ;;
         --help)       func_help ;;
 
         # Separate optargs to long options (plugins may need this):
         --*=*)        func_split_equals "$_G_opt"
                       set dummy "$func_split_equals_lhs" \
                           "$func_split_equals_rhs" ${1+"$@"}
                       shift
                       ;;
 
        # Separate optargs to short options:
         -W*)
                       func_split_short_opt "$_G_opt"
                       set dummy "$func_split_short_opt_name" \
                           "$func_split_short_opt_arg" ${1+"$@"}
                       shift
                       ;;
 
         # Separate non-argument short options:
         -\?*|-h*|-v*|-x*)
                       func_split_short_opt "$_G_opt"
                       set dummy "$func_split_short_opt_name" \
                           "-$func_split_short_opt_arg" ${1+"$@"}
                       shift
                       ;;
 
         --)           break ;;
         -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
         *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
       esac
     done
 
     # save modified positional parameters for caller
     func_quote_for_eval ${1+"$@"}
     func_parse_options_result=$func_quote_for_eval_result
 }
 
 
 # func_validate_options [ARG]...
 # ------------------------------
 # Perform any sanity checks on option settings and/or unconsumed
 # arguments.
 func_hookable func_validate_options
 func_validate_options ()
 {
     $debug_cmd
 
     # Display all warnings if -W was not given.
     test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
 
     func_run_hooks func_validate_options ${1+"$@"}
 
     # Bail if the options were screwed!
     $exit_cmd $EXIT_FAILURE
 
     # save modified positional parameters for caller
     func_validate_options_result=$func_run_hooks_result
 }
 
 
 
 ## ------------------##
 ## Helper functions. ##
 ## ------------------##
 
 # This section contains the helper functions used by the rest of the
 # hookable option parser framework in ascii-betical order.
 
 
 # func_fatal_help ARG...
 # ----------------------
 # Echo program name prefixed message to standard error, followed by
 # a help hint, and exit.
 func_fatal_help ()
 {
     $debug_cmd
 
     eval \$bs_echo \""Usage: $usage"\"
     eval \$bs_echo \""$fatal_help"\"
     func_error ${1+"$@"}
     exit $EXIT_FAILURE
 }
 
 
 # func_help
 # ---------
 # Echo long help message to standard output and exit.
 func_help ()  func_help ()
 {  {
    $opt_debug    $debug_cmd
   
    $SED -n '/^# Usage:/,/# Report bugs to/ {    func_usage_message
        :print    $bs_echo "$long_help_message"
        s/^# //    exit 0
        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-automake} --version) 2>/dev/null |$SED 1q`"'/ 
        s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ 
        p 
        d 
     } 
     /^# .* home page:/b print 
     /^# General help using/b print 
     ' < "$progpath" 
    ret=$? 
    if test -z "$1"; then 
      exit $ret 
    fi 
 }  }
   
# func_missing_arg argname
 # func_missing_arg ARGNAME
 # ------------------------
 # Echo program name prefixed message to standard error and set global  # Echo program name prefixed message to standard error and set global
 # exit_cmd.  # exit_cmd.
 func_missing_arg ()  func_missing_arg ()
 {  {
    $opt_debug    $debug_cmd
   
    func_error "missing argument for $1."    func_error "Missing argument for '$1'."
     exit_cmd=exit      exit_cmd=exit
 }  }
   
   
# func_split_short_opt shortopt# func_split_equals STRING
 # ------------------------
 # Set func_split_equals_lhs and func_split_equals_rhs shell variables after
 # splitting STRING at the '=' sign.
 test -z "$_G_HAVE_XSI_OPS" \
     && (eval 'x=a/b/c;
       test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
     && _G_HAVE_XSI_OPS=yes
 
 if test yes = "$_G_HAVE_XSI_OPS"
 then
   # This is an XSI compatible shell, allowing a faster implementation...
   eval 'func_split_equals ()
   {
       $debug_cmd
 
       func_split_equals_lhs=${1%%=*}
       func_split_equals_rhs=${1#*=}
       test "x$func_split_equals_lhs" = "x$1" \
         && func_split_equals_rhs=
   }'
 else
   # ...otherwise fall back to using expr, which is often a shell builtin.
   func_split_equals ()
   {
       $debug_cmd
 
       func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
       func_split_equals_rhs=
       test "x$func_split_equals_lhs" = "x$1" \
         || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
   }
 fi #func_split_equals
 
 
 # func_split_short_opt SHORTOPT
 # -----------------------------
 # Set func_split_short_opt_name and func_split_short_opt_arg shell  # Set func_split_short_opt_name and func_split_short_opt_arg shell
 # variables after splitting SHORTOPT after the 2nd character.  # variables after splitting SHORTOPT after the 2nd character.
func_split_short_opt ()if test yes = "$_G_HAVE_XSI_OPS"
 then
   # This is an XSI compatible shell, allowing a faster implementation...
   eval 'func_split_short_opt ()
   {
       $debug_cmd
 
       func_split_short_opt_arg=${1#??}
       func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
   }'
 else
   # ...otherwise fall back to using expr, which is often a shell builtin.
   func_split_short_opt ()
   {
       $debug_cmd
 
       func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
       func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
   }
 fi #func_split_short_opt
 
 
 # func_usage
 # ----------
 # Echo short help message to standard output and exit.
 func_usage ()
 {  {
    my_sed_short_opt='1s/^\(..\).*$/\1/;q'    $debug_cmd
    my_sed_short_rest='1s/^..\(.*\)$/\1/;q' 
   
    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`    func_usage_message
    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`    $bs_echo "Run '$progname --help |${PAGER-more}' for full usage"
} # func_split_short_opt may be replaced by extended shell implementation    exit 0
 }
   
   
# func_split_long_opt longopt# func_usage_message
# Set func_split_long_opt_name and func_split_long_opt_arg shell# ------------------
# variables after splitting LONGOPT at the `=' sign.# Echo short help message to standard output.
func_split_long_opt ()func_usage_message ()
 {  {
    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'    $debug_cmd
    my_sed_long_arg='1s/^--[^=]*=//' 
   
    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`    eval \$bs_echo \""Usage: $usage"\"
    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`    echo
} # func_split_long_opt may be replaced by extended shell implementation    $SED -n 's|^# ||
         /^Written by/{
           x;p;x
         }
         h
         /^Written by/q' < "$progpath"
     echo
     eval \$bs_echo \""$usage_message"\"
 }
   
 exit_cmd=:  
   
   # func_version
   # ------------
   # Echo version message to standard output and exit.
   func_version ()
   {
       $debug_cmd
   
       printf '%s\n' "$progname $scriptversion"
       $SED -n '/^##/q
           /(C)/!b go
           :more
           /\./!{
             N
             s|\n# | |
             b more
           }
           :go
           /^# Written by /,/# warranty; / {
             s|^# ||
             s|^# *$||
             s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
             p
           }
           /^# Written by / {
             s|^# ||
             p
           }
           /^warranty; /q' < "$progpath"
   
       exit $?
   }
   
   
magic="%%%MAGIC variable%%%"# Local variables:
magic_exe="%%%MAGIC EXE variable%%%"# mode: shell-script
 # sh-indentation: 2
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
 # time-stamp-time-zone: "UTC"
 # End:
   
# Global variables.# Set a version string.
nonopt=scriptversion='(GNU libtool) 2.4.2.418'
preserve_args= 
lo2o="s/\\.lo\$/.${objext}/" 
o2lo="s/\\.${objext}\$/.lo/" 
extracted_archives= 
extracted_serial=0 
   
 # 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=  
   
# func_append var value# func_echo ARG...
# Append VALUE to the end of shell variable VAR.# ----------------
func_append ()# Libtool also displays the current mode in messages, so override
 # funclib.sh func_echo with this custom definition.
 func_echo ()
 {  {
    eval "${1}=\$${1}\${2}"    $debug_cmd
} # func_append may be replaced by extended shell implementation 
   
# func_append_quoted var value    _G_message=$*
# Quote VALUE and append to the end of shell variable VAR, separated 
# by a space. 
func_append_quoted () 
{ 
    func_quote_for_eval "${2}" 
    eval "${1}=\$${1}\\ \$func_quote_for_eval_result" 
} # func_append_quoted may be replaced by extended shell implementation 
   
       func_echo_IFS=$IFS
       IFS=$nl
       for _G_line in $_G_message; do
         IFS=$func_echo_IFS
         $bs_echo "$progname${opt_mode+: $opt_mode}: $_G_line"
       done
       IFS=$func_echo_IFS
   }
   
# func_arith arithmetic-term...
func_arith ()# func_warning ARG...
 # -------------------
 # Libtool warnings are not categorized, so override funclib.sh
 # func_warning with this simpler definition.
 func_warning ()
 {  {
    func_arith_result=`expr "${@}"`    $debug_cmd
} # func_arith may be replaced by extended shell implementation 
   
       $warning_func ${1+"$@"}
   }
   
 # func_len string  
 # STRING may not start with a hyphen.  
 func_len ()  
 {  
     func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`  
 } # func_len may be replaced by extended shell implementation  
   
   ## ---------------- ##
   ## Options parsing. ##
   ## ---------------- ##
   
# func_lo2o object# Hook in the functions to make sure our own options are parsed during
func_lo2o ()# the option parsing loop.
{ 
    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` 
} # func_lo2o may be replaced by extended shell implementation 
   
   usage='$progpath [OPTION]... [MODE-ARG]...'
   
# func_xform libobj-or-source# Short help message in response to '-h'.
func_xform ()usage_message="Options:
{       --config             show all configuration variables
    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`       --debug              enable verbose shell tracing
} # func_xform may be replaced by extended shell implementation   -n, --dry-run            display commands without modifying any files
        --features           display basic configuration information and exit
        --mode=MODE          use operation mode MODE
        --no-warnings        equivalent to '-Wnone'
        --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 more informational messages than default
        --version            print version information
    -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
    -h, --help, --help-all   print short, long, or detailed help message
 "
   
   # Additional text appended to 'usage_message' in response to '--help'.
   long_help_message=$long_help_message"
   
# func_fatal_configuration arg...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.  When passed as first option,
 '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
 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)
        version:        $progname (GNU libtool) 2.4.2.418
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libtool@gnu.org>.
 GNU libtool home page: <http://www.gnu.org/software/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
 
 
 # func_lo2o OBJECT-NAME
 # ---------------------
 # Transform OBJECT-NAME from a '.lo' suffix to the platform specific
 # object suffix.
 
 lo2o=s/\\.lo\$/.$objext/
 o2lo=s/\\.$objext\$/.lo/
 
 if test yes = "$_G_HAVE_XSI_OPS"; then
   eval 'func_lo2o ()
   {
     case $1 in
       *.lo) func_lo2o_result=${1%.lo}.$objext ;;
       *   ) func_lo2o_result=$1               ;;
     esac
   }'
 
   # func_xform LIBOBJ-OR-SOURCE
   # ---------------------------
   # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
   # suffix to a '.lo' libtool-object suffix.
   eval 'func_xform ()
   {
     func_xform_result=${1%.*}.lo
   }'
 else
   # ...otherwise fall back to using sed.
   func_lo2o ()
   {
     func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
   }
 
   func_xform ()
   {
     func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
   }
 fi
 
 
 # func_fatal_configuration ARG...
 # -------------------------------
 # Echo program name prefixed message to standard error, followed by  # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.  # a configuration failure hint, and exit.
 func_fatal_configuration ()  func_fatal_configuration ()
 {  {
    func_error ${1+"$@"}    func__fatal_error ${1+"$@"} \
    func_error "See the $PACKAGE documentation for more information."      "See the $PACKAGE documentation for more information." \
    func_fatal_error "Fatal configuration error."      "Fatal configuration error."
 }  }
   
   
 # func_config  # func_config
   # -----------
 # Display the configuration for all the tags in this script.  # Display the configuration for all the tags in this script.
 func_config ()  func_config ()
 {  {
Line 915  func_config () Line 2048  func_config ()
     exit $?      exit $?
 }  }
   
   
 # func_features  # func_features
   # -------------
 # Display the features supported by this script.  # Display the features supported by this script.
 func_features ()  func_features ()
 {  {
     echo "host: $host"      echo "host: $host"
    if test "$build_libtool_libs" = yes; then    if test yes = "$build_libtool_libs"; then
       echo "enable shared libraries"        echo "enable shared libraries"
     else      else
       echo "disable shared libraries"        echo "disable shared libraries"
     fi      fi
    if test "$build_old_libs" = yes; then    if test yes = "$build_old_libs"; then
       echo "enable static libraries"        echo "enable static libraries"
     else      else
       echo "disable static libraries"        echo "disable static libraries"
Line 934  func_features () Line 2069  func_features ()
     exit $?      exit $?
 }  }
   
# func_enable_tag tagname
 # func_enable_tag TAGNAME
 # -----------------------
 # Verify that TAGNAME is valid, and either flag an error and exit, or  # 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  # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
 # variable here.  # variable here.
 func_enable_tag ()  func_enable_tag ()
 {  {
  # Global variable:    # Global variable:
  tagname="$1"    tagname=$1
   
  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
  sed_extractcf="/$re_begincf/,/$re_endcf/p"    sed_extractcf=/$re_begincf/,/$re_endcf/p
   
  # Validate tagname.    # Validate tagname.
  case $tagname in    case $tagname in
    *[!-_A-Za-z0-9,/]*)      *[!-_A-Za-z0-9,/]*)
      func_fatal_error "invalid tag name: $tagname"        func_fatal_error "invalid tag name: $tagname"
      ;;        ;;
  esac    esac
   
  # Don't test for the "default" C tag, as we know it's    # Don't test for the "default" C tag, as we know it's
  # there but not specially marked.    # there but not specially marked.
  case $tagname in    case $tagname in
    CC) ;;        CC) ;;
     *)      *)
      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
        taglist="$taglist $tagname"          taglist="$taglist $tagname"
   
        # Evaluate the configuration.  Be careful to quote the path          # Evaluate the configuration.  Be careful to quote the path
        # and the sed script, to avoid splitting on whitespace, but          # and the sed script, to avoid splitting on whitespace, but
        # also don't use non-portable quotes within backquotes within          # also don't use non-portable quotes within backquotes within
        # quotes we have to do it in 2 steps:          # quotes we have to do it in 2 steps:
        extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`          extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
        eval "$extractedcf"          eval "$extractedcf"
      else        else
        func_error "ignoring unknown tag $tagname"          func_error "ignoring unknown tag $tagname"
      fi        fi
      ;;        ;;
  esac    esac
 }  }
   
   
 # func_check_version_match  # func_check_version_match
   # ------------------------
 # Ensure that we are using m4 macros, and libtool script from the same  # Ensure that we are using m4 macros, and libtool script from the same
 # release of libtool.  # release of libtool.
 func_check_version_match ()  func_check_version_match ()
 {  {
  if test "$package_revision" != "$macro_revision"; then    if test "$package_revision" != "$macro_revision"; then
    if test "$VERSION" != "$macro_version"; then      if test "$VERSION" != "$macro_version"; then
      if test -z "$macro_version"; then        if test -z "$macro_version"; then
        cat >&2 <<_LT_EOF          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the  $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from an older release.  $progname: definition of this LT_INIT comes from an older release.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION  $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.  $progname: and run autoconf again.
 _LT_EOF  _LT_EOF
      else        else
        cat >&2 <<_LT_EOF          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the  $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.  $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION  $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.  $progname: and run autoconf again.
 _LT_EOF  _LT_EOF
      fi        fi
    else      else
      cat >&2 <<_LT_EOF        cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,  $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: 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: You should recreate aclocal.m4 with macros from revision $package_revision
 $progname: of $PACKAGE $VERSION and run autoconf again.  $progname: of $PACKAGE $VERSION and run autoconf again.
 _LT_EOF  _LT_EOF
    fi      fi
   
    exit $EXIT_MISMATCH      exit $EXIT_MISMATCH
  fi    fi
 }  }
   
   
# Shorthand for --mode=foo, only valid as the first argument# libtool_options_prep [ARG]...
case $1 in# -----------------------------
clean|clea|cle|cl)# Preparation for options parsed by libtool.
  shift; set dummy --mode clean ${1+"$@"}; shiftlibtool_options_prep ()
  ;;{
compile|compil|compi|comp|com|co|c)    $debug_mode
  shift; set dummy --mode compile ${1+"$@"}; shift 
  ;; 
execute|execut|execu|exec|exe|ex|e) 
  shift; set dummy --mode execute ${1+"$@"}; shift 
  ;; 
finish|finis|fini|fin|fi|f) 
  shift; set dummy --mode finish ${1+"$@"}; shift 
  ;; 
install|instal|insta|inst|ins|in|i) 
  shift; set dummy --mode install ${1+"$@"}; shift 
  ;; 
link|lin|li|l) 
  shift; set dummy --mode link ${1+"$@"}; shift 
  ;; 
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) 
  shift; set dummy --mode uninstall ${1+"$@"}; shift 
  ;; 
esac 
   
       # Option defaults:
       opt_config=false
       opt_dlopen=
       opt_dry_run=false
       opt_help=false
       opt_mode=
       opt_preserve_dup_deps=false
       opt_quiet=false
   
       nonopt=
       preserve_args=
   
# Option defaults:    # Shorthand for --mode=foo, only valid as the first argument
opt_debug=:    case $1 in
opt_dry_run=false    clean|clea|cle|cl)
opt_config=false      shift; set dummy --mode clean ${1+"$@"}; shift
opt_preserve_dup_deps=false      ;;
opt_features=false    compile|compil|compi|comp|com|co|c)
opt_finish=false      shift; set dummy --mode compile ${1+"$@"}; shift
opt_help=false      ;;
opt_help_all=false    execute|execut|execu|exec|exe|ex|e)
opt_silent=:      shift; set dummy --mode execute ${1+"$@"}; shift
opt_warning=:      ;;
opt_verbose=:    finish|finis|fini|fin|fi|f)
opt_silent=false      shift; set dummy --mode finish ${1+"$@"}; shift
opt_verbose=false      ;;
     install|instal|insta|inst|ins|in|i)
       shift; set dummy --mode install ${1+"$@"}; shift
       ;;
     link|lin|li|l)
       shift; set dummy --mode link ${1+"$@"}; shift
       ;;
     uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
       shift; set dummy --mode uninstall ${1+"$@"}; shift
       ;;
     esac
   
       # Pass back the list of options.
       func_quote_for_eval ${1+"$@"}
       libtool_options_prep_result=$func_quote_for_eval_result
   }
   func_add_hook func_options_prep libtool_options_prep
   
# Parse options once, thoroughly.  This comes as soon as possible in the
# script to make things like `--version' happen as quickly as we can.# libtool_parse_options [ARG]...
 # ---------------------------------
 # Provide handling for libtool specific options.
 libtool_parse_options ()
 {  {
  # this just eases exit handling    $debug_cmd
  while test $# -gt 0; do 
    opt="$1" 
    shift 
    case $opt in 
      --debug|-x)    opt_debug='set -x' 
                        func_echo "enabling shell trace mode" 
                        $opt_debug 
                        ;; 
      --dry-run|--dryrun|-n) 
                        opt_dry_run=: 
                        ;; 
      --config) 
                        opt_config=: 
func_config 
                        ;; 
      --dlopen|-dlopen) 
                        optarg="$1" 
                        opt_dlopen="${opt_dlopen+$opt_dlopen 
}$optarg" 
                        shift 
                        ;; 
      --preserve-dup-deps) 
                        opt_preserve_dup_deps=: 
                        ;; 
      --features) 
                        opt_features=: 
func_features 
                        ;; 
      --finish) 
                        opt_finish=: 
set dummy --mode finish ${1+"$@"}; shift 
                        ;; 
      --help) 
                        opt_help=: 
                        ;; 
      --help-all) 
                        opt_help_all=: 
opt_help=': help-all' 
                        ;; 
      --mode) 
                        test $# = 0 && func_missing_arg $opt && break 
                        optarg="$1" 
                        opt_mode="$optarg" 
case $optarg in 
  # Valid mode arguments: 
  clean|compile|execute|finish|install|link|relink|uninstall) ;; 
   
  # Catch anything else as an error    # Perform our own loop to consume as many options as possible in
  *) func_error "invalid argument for $opt"    # each iteration.
     exit_cmd=exit    while test $# -gt 0; do
     break      _G_opt=$1
     ;;      shift
esac      case $_G_opt in
                        shift        --dry-run|--dryrun|-n)
                        ;;                        opt_dry_run=:
      --no-silent|--no-quiet)                        ;;
                        opt_silent=false 
func_append preserve_args " $opt" 
                        ;; 
      --no-warning|--no-warn) 
                        opt_warning=false 
func_append preserve_args " $opt" 
                        ;; 
      --no-verbose) 
                        opt_verbose=false 
func_append preserve_args " $opt" 
                        ;; 
      --silent|--quiet) 
                        opt_silent=: 
func_append preserve_args " $opt" 
        opt_verbose=false 
                        ;; 
      --verbose|-v) 
                        opt_verbose=: 
func_append preserve_args " $opt" 
opt_silent=false 
                        ;; 
      --tag) 
                        test $# = 0 && func_missing_arg $opt && break 
                        optarg="$1" 
                        opt_tag="$optarg" 
func_append preserve_args " $opt $optarg" 
func_enable_tag "$optarg" 
                        shift 
                        ;; 
   
      -\?|-h)                func_usage                           ;;        --config)       func_config ;;
      --help)           func_help                               ;; 
      --version)        func_version                            ;; 
   
      # Separate optargs to long options:        --dlopen|-dlopen)
      --*=*)                        opt_dlopen="${opt_dlopen+$opt_dlopen
                        func_split_long_opt "$opt"}$1"
                        set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}                        shift
                        shift                        ;;
                        ;; 
   
      # Separate non-argument short options:        --preserve-dup-deps)
      -\?*|-h*|-n*|-v*)                        opt_preserve_dup_deps=: ;;
                        func_split_short_opt "$opt" 
                        set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} 
                        shift 
                        ;; 
   
      --)               break                                   ;;        --features)     func_features ;;
      -*)                func_fatal_help "unrecognized option \`$opt'" ;; 
      *)                set dummy "$opt" ${1+"$@"};     shift; break  ;; 
    esac 
  done 
   
  # Validate options:        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
   
  # save first non-option argument        --help)         opt_help=: ;;
  if test "$#" -gt 0; then 
    nonopt="$opt" 
    shift 
  fi 
   
  # preserve --debug        --help-all)     opt_help=': help-all' ;;
  test "$opt_debug" = : || func_append preserve_args " --debug" 
   
  case $host in        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
    *cygwin* | *mingw* | *pw32* | *cegcc*)                        opt_mode=$1
      # don't eliminate duplications in $postdeps and $predeps                        case $1 in
      opt_duplicate_compiler_generated_deps=:                          # Valid mode arguments:
      ;;                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
    *) 
      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps 
      ;; 
  esac 
   
  $opt_help || {                          # Catch anything else as an error
    # Sanity checks first:                          *) func_error "invalid argument for $_G_opt"
    func_check_version_match                             exit_cmd=exit
                              break
                              ;;
                         esac
                         shift
                         ;;
   
    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then        --no-silent|--no-quiet)
      func_fatal_configuration "not configured to build any kind of library"                        opt_quiet=false
    fi                        func_append preserve_args " $_G_opt"
                         ;;
   
    # Darwin sucks        --no-warnings|--no-warning|--no-warn)
    eval std_shrext=\"$shrext_cmds\"                        opt_warning=false
                         func_append preserve_args " $_G_opt"
                         ;;
   
    # Only execute mode is allowed to have -dlopen flags.        --no-verbose)
    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then                        opt_verbose=false
      func_error "unrecognized option \`-dlopen'"                        func_append preserve_args " $_G_opt"
      $ECHO "$help" 1>&2                        ;;
      exit $EXIT_FAILURE
         --silent|--quiet)
                         opt_quiet=:
                         opt_verbose=false
                         func_append preserve_args " $_G_opt"
                         ;;
 
         --tag)          test $# = 0 && func_missing_arg $_G_opt && break
                         opt_tag=$1
                         func_append preserve_args " $_G_opt $1"
                         func_enable_tag "$1"
                         shift
                         ;;
 
         --verbose|-v)   opt_quiet=false
                         opt_verbose=:
                         func_append preserve_args " $_G_opt"
                         ;;
 
         # An option not handled by this hook function:
         *)              set dummy "$_G_opt" ${1+"$@"};  shift; break  ;;
       esac
     done
 
 
     # save modified positional parameters for caller
     func_quote_for_eval ${1+"$@"}
     libtool_parse_options_result=$func_quote_for_eval_result
 }
 func_add_hook func_parse_options libtool_parse_options
 
 
 
 # libtool_validate_options [ARG]...
 # ---------------------------------
 # Perform any sanity checks on option settings and/or unconsumed
 # arguments.
 libtool_validate_options ()
 {
     # save first non-option argument
     if test 0 -lt $#; then
       nonopt=$1
       shift
     fi      fi
   
    # Change the help message to a mode-specific one.    # preserve --debug
    generic_help="$help"    test : = "$debug_cmd" || func_append preserve_args " --debug"
    help="Try \`$progname --help --mode=$opt_mode' for more information." 
  } 
   
       case $host in
         *cygwin* | *mingw* | *pw32* | *cegcc*)
           # don't eliminate duplications in $postdeps and $predeps
           opt_duplicate_compiler_generated_deps=:
           ;;
         *)
           opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
           ;;
       esac
   
  # Bail if the options were screwed    $opt_help || {
  $exit_cmd $EXIT_FAILURE      # Sanity checks first:
       func_check_version_match
 
       test yes != "$build_libtool_libs" \
         && test yes != "$build_old_libs" \
         && func_fatal_configuration "not configured to build any kind of library"
 
       # Darwin sucks
       eval std_shrext=\"$shrext_cmds\"
 
       # Only execute mode is allowed to have -dlopen flags.
       if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
         func_error "unrecognized option '-dlopen'"
         $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=$opt_mode' for more information."
     }
 
     # Pass back the unparsed argument list
     func_quote_for_eval ${1+"$@"}
     libtool_validate_options_result=$func_quote_for_eval_result
 }  }
   func_add_hook func_validate_options libtool_validate_options
   
   
   # Process options as early as possible so that --help and --version
   # can return quickly.
   func_options ${1+"$@"}
   eval set dummy "$func_options_result"; shift
   
   
   
 ## ----------- ##  ## ----------- ##
 ##    Main.    ##  ##    Main.    ##
 ## ----------- ##  ## ----------- ##
   
   magic='%%%MAGIC variable%%%'
   magic_exe='%%%MAGIC EXE variable%%%'
   
   # Global variables.
   extracted_archives=
   extracted_serial=0
   
   # 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=
   
   
   # A function that is used when there is no print builtin or printf.
   func_fallback_echo ()
   {
     eval 'cat <<_LTECHO_EOF
   $1
   _LTECHO_EOF'
   }
   
 # func_lalib_p file  # func_lalib_p file
# True iff FILE is a libtool `.la' library or `.lo' object 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  # This function is only a basic sanity check; it will hardly flush out
 # determined imposters.  # determined imposters.
 func_lalib_p ()  func_lalib_p ()
Line 1236  func_lalib_p () Line 2398  func_lalib_p ()
 }  }
   
 # func_lalib_unsafe_p file  # func_lalib_unsafe_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function implements the same check as func_lalib_p without  # This function implements the same check as func_lalib_p without
 # resorting to external programs.  To this end, it redirects stdin and  # resorting to external programs.  To this end, it redirects stdin and
 # closes it afterwards, without saving the original file descriptor.  # closes it afterwards, without saving the original file descriptor.
 # As a safety measure, use it only where a negative result would be  # As a safety measure, use it only where a negative result would be
# fatal anyway.  Works if `file' does not exist.# fatal anyway.  Works if 'file' does not exist.
 func_lalib_unsafe_p ()  func_lalib_unsafe_p ()
 {  {
     lalib_p=no      lalib_p=no
Line 1249  func_lalib_unsafe_p () Line 2411  func_lalib_unsafe_p ()
         for lalib_p_l in 1 2 3 4          for lalib_p_l in 1 2 3 4
         do          do
             read lalib_p_line              read lalib_p_line
            case "$lalib_p_line" in            case $lalib_p_line in
                 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;                  \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
             esac              esac
         done          done
         exec 0<&5 5<&-          exec 0<&5 5<&-
     fi      fi
    test "$lalib_p" = yes    test yes = "$lalib_p"
 }  }
   
 # func_ltwrapper_script_p file  # func_ltwrapper_script_p file
Line 1289  func_ltwrapper_scriptname () Line 2451  func_ltwrapper_scriptname ()
 {  {
     func_dirname_and_basename "$1" "" "."      func_dirname_and_basename "$1" "" "."
     func_stripname '' '.exe' "$func_basename_result"      func_stripname '' '.exe' "$func_basename_result"
    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
 }  }
   
 # func_ltwrapper_p file  # func_ltwrapper_p file
Line 1308  func_ltwrapper_p () Line 2470  func_ltwrapper_p ()
 # FAIL_CMD may read-access the current command in variable CMD!  # FAIL_CMD may read-access the current command in variable CMD!
 func_execute_cmds ()  func_execute_cmds ()
 {  {
    $opt_debug    $debug_cmd
 
     save_ifs=$IFS; IFS='~'      save_ifs=$IFS; IFS='~'
     for cmd in $1; do      for cmd in $1; do
      IFS=$save_ifs      IFS=$sp$nl
       eval cmd=\"$cmd\"        eval cmd=\"$cmd\"
         IFS=$save_ifs
       func_show_eval "$cmd" "${2-:}"        func_show_eval "$cmd" "${2-:}"
     done      done
     IFS=$save_ifs      IFS=$save_ifs
Line 1324  func_execute_cmds () Line 2488  func_execute_cmds ()
 # Note that it is not necessary on cygwin/mingw to append a dot to  # 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  # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
 # behavior happens only for exec(3), not for open(2)!  Also, sourcing  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
# `FILE.' does not work on cygwin managed mounts.# 'FILE.' does not work on cygwin managed mounts.
 func_source ()  func_source ()
 {  {
    $opt_debug    $debug_cmd
 
     case $1 in      case $1 in
     */* | *\\*) . "$1" ;;      */* | *\\*) . "$1" ;;
     *)          . "./$1" ;;      *)          . "./$1" ;;
Line 1354  func_resolve_sysroot () Line 2519  func_resolve_sysroot ()
 # store the result into func_replace_sysroot_result.  # store the result into func_replace_sysroot_result.
 func_replace_sysroot ()  func_replace_sysroot ()
 {  {
  case "$lt_sysroot:$1" in  case $lt_sysroot:$1 in
   ?*:"$lt_sysroot"*)    ?*:"$lt_sysroot"*)
     func_stripname "$lt_sysroot" '' "$1"      func_stripname "$lt_sysroot" '' "$1"
    func_replace_sysroot_result="=$func_stripname_result"    func_replace_sysroot_result='='$func_stripname_result
     ;;      ;;
   *)    *)
     # Including no sysroot.      # Including no sysroot.
Line 1374  func_replace_sysroot () Line 2539  func_replace_sysroot ()
 # arg is usually of the form 'gcc ...'  # arg is usually of the form 'gcc ...'
 func_infer_tag ()  func_infer_tag ()
 {  {
    $opt_debug    $debug_cmd
 
     if test -n "$available_tags" && test -z "$tagname"; then      if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=        CC_quoted=
       for arg in $CC; do        for arg in $CC; do
Line 1393  func_infer_tag () Line 2559  func_infer_tag ()
         for z in $available_tags; do          for z in $available_tags; do
           if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then            if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
             # Evaluate the configuration.              # Evaluate the configuration.
            eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"            eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
             CC_quoted=              CC_quoted=
             for arg in $CC; do              for arg in $CC; do
               # Double-quote args containing other shell metacharacters.                # Double-quote args containing other shell metacharacters.
Line 1418  func_infer_tag () Line 2584  func_infer_tag ()
         # line option must be used.          # line option must be used.
         if test -z "$tagname"; then          if test -z "$tagname"; then
           func_echo "unable to infer tagged configuration"            func_echo "unable to infer tagged configuration"
          func_fatal_error "specify a tag with \`--tag'"          func_fatal_error "specify a tag with '--tag'"
 #       else  #       else
 #         func_verbose "using $tagname tagged configuration"  #         func_verbose "using $tagname tagged configuration"
         fi          fi
Line 1434  func_infer_tag () Line 2600  func_infer_tag ()
 # but don't create it if we're doing a dry run.  # but don't create it if we're doing a dry run.
 func_write_libtool_object ()  func_write_libtool_object ()
 {  {
    write_libobj=${1}    write_libobj=$1
    if test "$build_libtool_libs" = yes; then    if test yes = "$build_libtool_libs"; then
      write_lobj=\'${2}\'      write_lobj=\'$2\'
     else      else
       write_lobj=none        write_lobj=none
     fi      fi
   
    if test "$build_old_libs" = yes; then    if test yes = "$build_old_libs"; then
      write_oldobj=\'${3}\'      write_oldobj=\'$3\'
     else      else
       write_oldobj=none        write_oldobj=none
     fi      fi
Line 1450  func_write_libtool_object () Line 2616  func_write_libtool_object ()
     $opt_dry_run || {      $opt_dry_run || {
       cat >${write_libobj}T <<EOF        cat >${write_libobj}T <<EOF
 # $write_libobj - a libtool object file  # $write_libobj - a libtool object file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #  #
 # Please DO NOT delete this file!  # Please DO NOT delete this file!
 # It is necessary for linking the library.  # It is necessary for linking the library.
Line 1462  pic_object=$write_lobj Line 2628  pic_object=$write_lobj
 non_pic_object=$write_oldobj  non_pic_object=$write_oldobj
   
 EOF  EOF
      $MV "${write_libobj}T" "${write_libobj}"      $MV "${write_libobj}T" "$write_libobj"
     }      }
 }  }
   
Line 1482  EOF Line 2648  EOF
 # be empty on error (or when ARG is empty)  # be empty on error (or when ARG is empty)
 func_convert_core_file_wine_to_w32 ()  func_convert_core_file_wine_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_convert_core_file_wine_to_w32_result="$1"
   func_convert_core_file_wine_to_w32_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # Unfortunately, winepath does not exit with a non-zero error code, so we      # Unfortunately, winepath does not exit with a non-zero error code, so we
     # are forced to check the contents of stdout. On the other hand, if the      # are forced to check the contents of stdout. On the other hand, if the
Line 1491  func_convert_core_file_wine_to_w32 () Line 2658  func_convert_core_file_wine_to_w32 ()
     # *an error message* to stdout. So we must check for both error code of      # *an error message* to stdout. So we must check for both error code of
     # zero AND non-empty stdout, which explains the odd construction:      # zero AND non-empty stdout, which explains the odd construction:
     func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`      func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
       func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |        func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
        $SED -e "$lt_sed_naive_backslashify"`        $SED -e "$sed_naive_backslashify"`
     else      else
       func_convert_core_file_wine_to_w32_result=        func_convert_core_file_wine_to_w32_result=
     fi      fi
Line 1514  func_convert_core_file_wine_to_w32 () Line 2681  func_convert_core_file_wine_to_w32 ()
 # are convertible, then the result may be empty.  # are convertible, then the result may be empty.
 func_convert_core_path_wine_to_w32 ()  func_convert_core_path_wine_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
 
   # unfortunately, winepath doesn't convert paths, only file names    # unfortunately, winepath doesn't convert paths, only file names
  func_convert_core_path_wine_to_w32_result=""  func_convert_core_path_wine_to_w32_result=
   if test -n "$1"; then    if test -n "$1"; then
     oldIFS=$IFS      oldIFS=$IFS
     IFS=:      IFS=:
     for func_convert_core_path_wine_to_w32_f in $1; do      for func_convert_core_path_wine_to_w32_f in $1; do
       IFS=$oldIFS        IFS=$oldIFS
       func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"        func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
      if test -n "$func_convert_core_file_wine_to_w32_result" ; then      if test -n "$func_convert_core_file_wine_to_w32_result"; then
         if test -z "$func_convert_core_path_wine_to_w32_result"; then          if test -z "$func_convert_core_path_wine_to_w32_result"; then
          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
         else          else
           func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"            func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
         fi          fi
Line 1554  func_convert_core_path_wine_to_w32 () Line 2722  func_convert_core_path_wine_to_w32 ()
 # environment variable; do not put it in $PATH.  # environment variable; do not put it in $PATH.
 func_cygpath ()  func_cygpath ()
 {  {
  $opt_debug  $debug_cmd
 
   if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then    if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
     func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`      func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
     if test "$?" -ne 0; then      if test "$?" -ne 0; then
Line 1563  func_cygpath () Line 2732  func_cygpath ()
     fi      fi
   else    else
     func_cygpath_result=      func_cygpath_result=
    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
   fi    fi
 }  }
 #end: func_cygpath  #end: func_cygpath
Line 1574  func_cygpath () Line 2743  func_cygpath ()
 # result in func_convert_core_msys_to_w32_result.  # result in func_convert_core_msys_to_w32_result.
 func_convert_core_msys_to_w32 ()  func_convert_core_msys_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
 
   # awkward: cmd appends spaces to result    # awkward: cmd appends spaces to result
   func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |    func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
 }  }
 #end: func_convert_core_msys_to_w32  #end: func_convert_core_msys_to_w32
   
Line 1588  func_convert_core_msys_to_w32 () Line 2758  func_convert_core_msys_to_w32 ()
 # func_to_host_file_result to ARG1).  # func_to_host_file_result to ARG1).
 func_convert_file_check ()  func_convert_file_check ()
 {  {
  $opt_debug  $debug_cmd
  if test -z "$2" && test -n "$1" ; then
   if test -z "$2" && test -n "$1"; then
     func_error "Could not determine host file name corresponding to"      func_error "Could not determine host file name corresponding to"
    func_error "  \`$1'"    func_error "  '$1'"
     func_error "Continuing, but uninstalled executables may not work."      func_error "Continuing, but uninstalled executables may not work."
     # Fallback:      # Fallback:
    func_to_host_file_result="$1"    func_to_host_file_result=$1
   fi    fi
 }  }
 # end func_convert_file_check  # end func_convert_file_check
Line 1606  func_convert_file_check () Line 2777  func_convert_file_check ()
 # func_to_host_file_result to a simplistic fallback value (see below).  # func_to_host_file_result to a simplistic fallback value (see below).
 func_convert_path_check ()  func_convert_path_check ()
 {  {
  $opt_debug  $debug_cmd
 
   if test -z "$4" && test -n "$3"; then    if test -z "$4" && test -n "$3"; then
     func_error "Could not determine the host path corresponding to"      func_error "Could not determine the host path corresponding to"
    func_error "  \`$3'"    func_error "  '$3'"
     func_error "Continuing, but uninstalled executables may not work."      func_error "Continuing, but uninstalled executables may not work."
     # Fallback.  This is a deliberately simplistic "conversion" and      # Fallback.  This is a deliberately simplistic "conversion" and
     # should not be "improved".  See libtool.info.      # should not be "improved".  See libtool.info.
Line 1618  func_convert_path_check () Line 2790  func_convert_path_check ()
       func_to_host_path_result=`echo "$3" |        func_to_host_path_result=`echo "$3" |
         $SED -e "$lt_replace_pathsep_chars"`          $SED -e "$lt_replace_pathsep_chars"`
     else      else
      func_to_host_path_result="$3"      func_to_host_path_result=$3
     fi      fi
   fi    fi
 }  }
Line 1630  func_convert_path_check () Line 2802  func_convert_path_check ()
 # and appending REPL if ORIG matches BACKPAT.  # and appending REPL if ORIG matches BACKPAT.
 func_convert_path_front_back_pathsep ()  func_convert_path_front_back_pathsep ()
 {  {
  $opt_debug  $debug_cmd
 
   case $4 in    case $4 in
  $1 ) func_to_host_path_result="$3$func_to_host_path_result"  $1 ) func_to_host_path_result=$3$func_to_host_path_result
     ;;      ;;
   esac    esac
   case $4 in    case $4 in
Line 1646  func_convert_path_front_back_pathsep () Line 2819  func_convert_path_front_back_pathsep ()
 ##################################################  ##################################################
 # $build to $host FILE NAME CONVERSION FUNCTIONS #  # $build to $host FILE NAME CONVERSION FUNCTIONS #
 ##################################################  ##################################################
# invoked via `$to_host_file_cmd ARG'# invoked via '$to_host_file_cmd ARG'
 #  #
 # In each case, ARG is the path to be converted from $build to $host format.  # In each case, ARG is the path to be converted from $build to $host format.
 # Result will be available in $func_to_host_file_result.  # Result will be available in $func_to_host_file_result.
Line 1657  func_convert_path_front_back_pathsep () Line 2830  func_convert_path_front_back_pathsep ()
 # in func_to_host_file_result.  # in func_to_host_file_result.
 func_to_host_file ()  func_to_host_file ()
 {  {
  $opt_debug  $debug_cmd
 
   $to_host_file_cmd "$1"    $to_host_file_cmd "$1"
 }  }
 # end func_to_host_file  # end func_to_host_file
Line 1669  func_to_host_file () Line 2843  func_to_host_file ()
 # in (the comma separated) LAZY, no conversion takes place.  # in (the comma separated) LAZY, no conversion takes place.
 func_to_tool_file ()  func_to_tool_file ()
 {  {
  $opt_debug  $debug_cmd
 
   case ,$2, in    case ,$2, in
     *,"$to_tool_file_cmd",*)      *,"$to_tool_file_cmd",*)
       func_to_tool_file_result=$1        func_to_tool_file_result=$1
Line 1687  func_to_tool_file () Line 2862  func_to_tool_file ()
 # Copy ARG to func_to_host_file_result.  # Copy ARG to func_to_host_file_result.
 func_convert_file_noop ()  func_convert_file_noop ()
 {  {
  func_to_host_file_result="$1"  func_to_host_file_result=$1
 }  }
 # end func_convert_file_noop  # end func_convert_file_noop
   
Line 1698  func_convert_file_noop () Line 2873  func_convert_file_noop ()
 # func_to_host_file_result.  # func_to_host_file_result.
 func_convert_file_msys_to_w32 ()  func_convert_file_msys_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_file_result="$1"
   func_to_host_file_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"      func_convert_core_msys_to_w32 "$1"
    func_to_host_file_result="$func_convert_core_msys_to_w32_result"    func_to_host_file_result=$func_convert_core_msys_to_w32_result
   fi    fi
   func_convert_file_check "$1" "$func_to_host_file_result"    func_convert_file_check "$1" "$func_to_host_file_result"
 }  }
Line 1714  func_convert_file_msys_to_w32 () Line 2890  func_convert_file_msys_to_w32 ()
 # func_to_host_file_result.  # func_to_host_file_result.
 func_convert_file_cygwin_to_w32 ()  func_convert_file_cygwin_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_file_result="$1"
   func_to_host_file_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # because $build is cygwin, we call "the" cygpath in $PATH; no need to use      # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
     # LT_CYGPATH in this case.      # LT_CYGPATH in this case.
Line 1731  func_convert_file_cygwin_to_w32 () Line 2908  func_convert_file_cygwin_to_w32 ()
 # and a working winepath. Returns result in func_to_host_file_result.  # and a working winepath. Returns result in func_to_host_file_result.
 func_convert_file_nix_to_w32 ()  func_convert_file_nix_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_file_result="$1"
   func_to_host_file_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     func_convert_core_file_wine_to_w32 "$1"      func_convert_core_file_wine_to_w32 "$1"
    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
   fi    fi
   func_convert_file_check "$1" "$func_to_host_file_result"    func_convert_file_check "$1" "$func_to_host_file_result"
 }  }
Line 1747  func_convert_file_nix_to_w32 () Line 2925  func_convert_file_nix_to_w32 ()
 # Returns result in func_to_host_file_result.  # Returns result in func_to_host_file_result.
 func_convert_file_msys_to_cygwin ()  func_convert_file_msys_to_cygwin ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_file_result="$1"
   func_to_host_file_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"      func_convert_core_msys_to_w32 "$1"
     func_cygpath -u "$func_convert_core_msys_to_w32_result"      func_cygpath -u "$func_convert_core_msys_to_w32_result"
    func_to_host_file_result="$func_cygpath_result"    func_to_host_file_result=$func_cygpath_result
   fi    fi
   func_convert_file_check "$1" "$func_to_host_file_result"    func_convert_file_check "$1" "$func_to_host_file_result"
 }  }
Line 1765  func_convert_file_msys_to_cygwin () Line 2944  func_convert_file_msys_to_cygwin ()
 # in func_to_host_file_result.  # in func_to_host_file_result.
 func_convert_file_nix_to_cygwin ()  func_convert_file_nix_to_cygwin ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_file_result="$1"
   func_to_host_file_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.      # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
     func_convert_core_file_wine_to_w32 "$1"      func_convert_core_file_wine_to_w32 "$1"
     func_cygpath -u "$func_convert_core_file_wine_to_w32_result"      func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
    func_to_host_file_result="$func_cygpath_result"    func_to_host_file_result=$func_cygpath_result
   fi    fi
   func_convert_file_check "$1" "$func_to_host_file_result"    func_convert_file_check "$1" "$func_to_host_file_result"
 }  }
Line 1781  func_convert_file_nix_to_cygwin () Line 2961  func_convert_file_nix_to_cygwin ()
 #############################################  #############################################
 # $build to $host PATH CONVERSION FUNCTIONS #  # $build to $host PATH CONVERSION FUNCTIONS #
 #############################################  #############################################
# invoked via `$to_host_path_cmd ARG'# invoked via '$to_host_path_cmd ARG'
 #  #
 # In each case, ARG is the path to be converted from $build to $host format.  # In each case, ARG is the path to be converted from $build to $host format.
 # The result will be available in $func_to_host_path_result.  # The result will be available in $func_to_host_path_result.
Line 1805  func_convert_file_nix_to_cygwin () Line 2985  func_convert_file_nix_to_cygwin ()
 to_host_path_cmd=  to_host_path_cmd=
 func_init_to_host_path_cmd ()  func_init_to_host_path_cmd ()
 {  {
  $opt_debug  $debug_cmd
 
   if test -z "$to_host_path_cmd"; then    if test -z "$to_host_path_cmd"; then
     func_stripname 'func_convert_file_' '' "$to_host_file_cmd"      func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
    to_host_path_cmd="func_convert_path_${func_stripname_result}"    to_host_path_cmd=func_convert_path_$func_stripname_result
   fi    fi
 }  }
   
Line 1818  func_init_to_host_path_cmd () Line 2999  func_init_to_host_path_cmd ()
 # in func_to_host_path_result.  # in func_to_host_path_result.
 func_to_host_path ()  func_to_host_path ()
 {  {
  $opt_debug  $debug_cmd
 
   func_init_to_host_path_cmd    func_init_to_host_path_cmd
   $to_host_path_cmd "$1"    $to_host_path_cmd "$1"
 }  }
Line 1829  func_to_host_path () Line 3011  func_to_host_path ()
 # Copy ARG to func_to_host_path_result.  # Copy ARG to func_to_host_path_result.
 func_convert_path_noop ()  func_convert_path_noop ()
 {  {
  func_to_host_path_result="$1"  func_to_host_path_result=$1
 }  }
 # end func_convert_path_noop  # end func_convert_path_noop
   
Line 1840  func_convert_path_noop () Line 3022  func_convert_path_noop ()
 # func_to_host_path_result.  # func_to_host_path_result.
 func_convert_path_msys_to_w32 ()  func_convert_path_msys_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_path_result="$1"
   func_to_host_path_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # Remove leading and trailing path separator characters from ARG.  MSYS      # Remove leading and trailing path separator characters from ARG.  MSYS
     # behavior is inconsistent here; cygpath turns them into '.;' and ';.';      # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
Line 1849  func_convert_path_msys_to_w32 () Line 3032  func_convert_path_msys_to_w32 ()
     func_stripname : : "$1"      func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result      func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"      func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
    func_to_host_path_result="$func_convert_core_msys_to_w32_result"    func_to_host_path_result=$func_convert_core_msys_to_w32_result
     func_convert_path_check : ";" \      func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"        "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"      func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
Line 1863  func_convert_path_msys_to_w32 () Line 3046  func_convert_path_msys_to_w32 ()
 # func_to_host_file_result.  # func_to_host_file_result.
 func_convert_path_cygwin_to_w32 ()  func_convert_path_cygwin_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_path_result="$1"
   func_to_host_path_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # See func_convert_path_msys_to_w32:      # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"      func_stripname : : "$1"
Line 1883  func_convert_path_cygwin_to_w32 () Line 3067  func_convert_path_cygwin_to_w32 ()
 # a working winepath.  Returns result in func_to_host_file_result.  # a working winepath.  Returns result in func_to_host_file_result.
 func_convert_path_nix_to_w32 ()  func_convert_path_nix_to_w32 ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_path_result="$1"
   func_to_host_path_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # See func_convert_path_msys_to_w32:      # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"      func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result      func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"      func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
     func_convert_path_check : ";" \      func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"        "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"      func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
Line 1904  func_convert_path_nix_to_w32 () Line 3089  func_convert_path_nix_to_w32 ()
 # Returns result in func_to_host_file_result.  # Returns result in func_to_host_file_result.
 func_convert_path_msys_to_cygwin ()  func_convert_path_msys_to_cygwin ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_path_result="$1"
   func_to_host_path_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # See func_convert_path_msys_to_w32:      # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"      func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result      func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"      func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_msys_to_w32_result"      func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
    func_to_host_path_result="$func_cygpath_result"    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \      func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"        "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"      func_convert_path_front_back_pathsep ":*" "*:" : "$1"
Line 1927  func_convert_path_msys_to_cygwin () Line 3113  func_convert_path_msys_to_cygwin ()
 # func_to_host_file_result.  # func_to_host_file_result.
 func_convert_path_nix_to_cygwin ()  func_convert_path_nix_to_cygwin ()
 {  {
  $opt_debug  $debug_cmd
  func_to_host_path_result="$1"
   func_to_host_path_result=$1
   if test -n "$1"; then    if test -n "$1"; then
     # Remove leading and trailing path separator characters from      # Remove leading and trailing path separator characters from
     # ARG. msys behavior is inconsistent here, cygpath turns them      # ARG. msys behavior is inconsistent here, cygpath turns them
Line 1937  func_convert_path_nix_to_cygwin () Line 3124  func_convert_path_nix_to_cygwin ()
     func_to_host_path_tmp1=$func_stripname_result      func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"      func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"      func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
    func_to_host_path_result="$func_cygpath_result"    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \      func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"        "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"      func_convert_path_front_back_pathsep ":*" "*:" : "$1"
Line 1946  func_convert_path_nix_to_cygwin () Line 3133  func_convert_path_nix_to_cygwin ()
 # end func_convert_path_nix_to_cygwin  # end func_convert_path_nix_to_cygwin
   
   
   # func_dll_def_p FILE
   # True iff FILE is a Windows DLL '.def' file.
   # Keep in sync with _LT_DLL_DEF_P in libtool.m4
   func_dll_def_p ()
   {
     $debug_cmd
   
     func_dll_def_p_tmp=`$SED -n \
       -e 's/^[     ]*//' \
       -e '/^\(;.*\)*$/d' \
       -e 's/^\(EXPORTS\|LIBRARY\)\([       ].*\)*$/DEF/p' \
       -e q \
       "$1"`
     test DEF = "$func_dll_def_p_tmp"
   }
   
   
 # func_mode_compile arg...  # func_mode_compile arg...
 func_mode_compile ()  func_mode_compile ()
 {  {
    $opt_debug    $debug_cmd
 
     # Get the compilation command and the source file.      # Get the compilation command and the source file.
     base_compile=      base_compile=
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
     suppress_opt=yes      suppress_opt=yes
     suppress_output=      suppress_output=
     arg_mode=normal      arg_mode=normal
Line 1965  func_mode_compile () Line 3170  func_mode_compile ()
       case $arg_mode in        case $arg_mode in
       arg  )        arg  )
         # do not "continue".  Instead, add this to base_compile          # do not "continue".  Instead, add this to base_compile
        lastarg="$arg"        lastarg=$arg
         arg_mode=normal          arg_mode=normal
         ;;          ;;
   
       target )        target )
        libobj="$arg"        libobj=$arg
         arg_mode=normal          arg_mode=normal
         continue          continue
         ;;          ;;
Line 1980  func_mode_compile () Line 3185  func_mode_compile ()
         case $arg in          case $arg in
         -o)          -o)
           test -n "$libobj" && \            test -n "$libobj" && \
            func_fatal_error "you cannot specify \`-o' more than once"            func_fatal_error "you cannot specify '-o' more than once"
           arg_mode=target            arg_mode=target
           continue            continue
           ;;            ;;
Line 2009  func_mode_compile () Line 3214  func_mode_compile ()
           func_stripname '-Wc,' '' "$arg"            func_stripname '-Wc,' '' "$arg"
           args=$func_stripname_result            args=$func_stripname_result
           lastarg=            lastarg=
          save_ifs="$IFS"; IFS=','          save_ifs=$IFS; IFS=,
           for arg in $args; do            for arg in $args; do
            IFS="$save_ifs"            IFS=$save_ifs
             func_append_quoted lastarg "$arg"              func_append_quoted lastarg "$arg"
           done            done
          IFS="$save_ifs"          IFS=$save_ifs
           func_stripname ' ' '' "$lastarg"            func_stripname ' ' '' "$lastarg"
           lastarg=$func_stripname_result            lastarg=$func_stripname_result
   
Line 2027  func_mode_compile () Line 3232  func_mode_compile ()
           # Accept the current argument as the source file.            # Accept the current argument as the source file.
           # The previous "srcfile" becomes the current argument.            # The previous "srcfile" becomes the current argument.
           #            #
          lastarg="$srcfile"          lastarg=$srcfile
          srcfile="$arg"          srcfile=$arg
           ;;            ;;
         esac  #  case $arg          esac  #  case $arg
         ;;          ;;
Line 2043  func_mode_compile () Line 3248  func_mode_compile ()
       func_fatal_error "you must specify an argument for -Xcompile"        func_fatal_error "you must specify an argument for -Xcompile"
       ;;        ;;
     target)      target)
      func_fatal_error "you must specify a target with \`-o'"      func_fatal_error "you must specify a target with '-o'"
       ;;        ;;
     *)      *)
       # Get the name of the library object.        # Get the name of the library object.
       test -z "$libobj" && {        test -z "$libobj" && {
         func_basename "$srcfile"          func_basename "$srcfile"
        libobj="$func_basename_result"        libobj=$func_basename_result
       }        }
       ;;        ;;
     esac      esac
Line 2069  func_mode_compile () Line 3274  func_mode_compile ()
     case $libobj in      case $libobj in
     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;      *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
     *)      *)
      func_fatal_error "cannot determine name of library object from \`$libobj'"      func_fatal_error "cannot determine name of library object from '$libobj'"
       ;;        ;;
     esac      esac
   
Line 2078  func_mode_compile () Line 3283  func_mode_compile ()
     for arg in $later; do      for arg in $later; do
       case $arg in        case $arg in
       -shared)        -shared)
        test "$build_libtool_libs" != yes && \        test yes = "$build_libtool_libs" \
          func_fatal_configuration "can not build a shared library"          || func_fatal_configuration "cannot build a shared library"
         build_old_libs=no          build_old_libs=no
         continue          continue
         ;;          ;;
Line 2105  func_mode_compile () Line 3310  func_mode_compile ()
     func_quote_for_eval "$libobj"      func_quote_for_eval "$libobj"
     test "X$libobj" != "X$func_quote_for_eval_result" \      test "X$libobj" != "X$func_quote_for_eval_result" \
       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'    &()|`$[]' \        && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'    &()|`$[]' \
      && func_warning "libobj name \`$libobj' may not contain shell special characters."      && func_warning "libobj name '$libobj' may not contain shell special characters."
     func_dirname_and_basename "$obj" "/" ""      func_dirname_and_basename "$obj" "/" ""
    objname="$func_basename_result"    objname=$func_basename_result
    xdir="$func_dirname_result"    xdir=$func_dirname_result
    lobj=${xdir}$objdir/$objname    lobj=$xdir$objdir/$objname
   
     test -z "$base_compile" && \      test -z "$base_compile" && \
       func_fatal_help "you must specify a compilation command"        func_fatal_help "you must specify a compilation command"
   
     # Delete any leftover library objects.      # Delete any leftover library objects.
    if test "$build_old_libs" = yes; then    if test yes = "$build_old_libs"; then
       removelist="$obj $lobj $libobj ${libobj}T"        removelist="$obj $lobj $libobj ${libobj}T"
     else      else
       removelist="$lobj $libobj ${libobj}T"        removelist="$lobj $libobj ${libobj}T"
Line 2127  func_mode_compile () Line 3332  func_mode_compile ()
       pic_mode=default        pic_mode=default
       ;;        ;;
     esac      esac
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
       # non-PIC code in shared libraries is not supported        # non-PIC code in shared libraries is not supported
       pic_mode=default        pic_mode=default
     fi      fi
   
     # Calculate the filename of the output object if compiler does      # Calculate the filename of the output object if compiler does
     # not support -o with -c      # not support -o with -c
    if test "$compiler_c_o" = no; then    if test no = "$compiler_c_o"; then
      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
      lockfile="$output_obj.lock"      lockfile=$output_obj.lock
     else      else
       output_obj=        output_obj=
       need_locks=no        need_locks=no
Line 2145  func_mode_compile () Line 3350  func_mode_compile ()
   
     # Lock this critical section if it is needed      # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file      # We use this script file to make the link, it avoids creating a new file
    if test "$need_locks" = yes; then    if test yes = "$need_locks"; then
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do        until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
         func_echo "Waiting for $lockfile to be removed"          func_echo "Waiting for $lockfile to be removed"
         sleep 2          sleep 2
       done        done
    elif test "$need_locks" = warn; then    elif test warn = "$need_locks"; then
       if test -f "$lockfile"; then        if test -f "$lockfile"; then
         $ECHO "\          $ECHO "\
 *** ERROR, $lockfile exists and contains:  *** ERROR, $lockfile exists and contains:
Line 2158  func_mode_compile () Line 3363  func_mode_compile ()
   
 This indicates that another process is trying to use the same  This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because  temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If youyour compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better  repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better  avoid parallel builds (make -j) in this platform, or get a better
 compiler."  compiler."
Line 2180  compiler." Line 3385  compiler."
     qsrcfile=$func_quote_for_eval_result      qsrcfile=$func_quote_for_eval_result
   
     # Only build a PIC object if we are building libtool libraries.      # Only build a PIC object if we are building libtool libraries.
    if test "$build_libtool_libs" = yes; then    if test yes = "$build_libtool_libs"; then
       # Without this assignment, base_compile gets emptied.        # Without this assignment, base_compile gets emptied.
       fbsd_hideous_sh_bug=$base_compile        fbsd_hideous_sh_bug=$base_compile
   
      if test "$pic_mode" != no; then      if test no != "$pic_mode"; then
         command="$base_compile $qsrcfile $pic_flag"          command="$base_compile $qsrcfile $pic_flag"
       else        else
         # Don't build PIC code          # Don't build PIC code
Line 2201  compiler." Line 3406  compiler."
       func_show_eval_locale "$command"  \        func_show_eval_locale "$command"  \
           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'            'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
   
      if test "$need_locks" = warn &&      if test warn = "$need_locks" &&
          test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then           test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         $ECHO "\          $ECHO "\
 *** ERROR, $lockfile contains:  *** ERROR, $lockfile contains:
Line 2212  $srcfile Line 3417  $srcfile
   
 This indicates that another process is trying to use the same  This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because  temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If youyour compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better  repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better  avoid parallel builds (make -j) in this platform, or get a better
 compiler."  compiler."
Line 2228  compiler." Line 3433  compiler."
       fi        fi
   
       # Allow error messages only from the first compilation.        # Allow error messages only from the first compilation.
      if test "$suppress_opt" = yes; then      if test yes = "$suppress_opt"; then
         suppress_output=' >/dev/null 2>&1'          suppress_output=' >/dev/null 2>&1'
       fi        fi
     fi      fi
   
     # Only build a position-dependent object if we build old libraries.      # Only build a position-dependent object if we build old libraries.
    if test "$build_old_libs" = yes; then    if test yes = "$build_old_libs"; then
      if test "$pic_mode" != yes; then      if test yes != "$pic_mode"; then
         # Don't build PIC code          # Don't build PIC code
         command="$base_compile $qsrcfile$pie_flag"          command="$base_compile $qsrcfile$pie_flag"
       else        else
         command="$base_compile $qsrcfile $pic_flag"          command="$base_compile $qsrcfile $pic_flag"
       fi        fi
      if test "$compiler_c_o" = yes; then      if test yes = "$compiler_c_o"; then
         func_append command " -o $obj"          func_append command " -o $obj"
       fi        fi
   
Line 2250  compiler." Line 3455  compiler."
       func_show_eval_locale "$command" \        func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'          '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
   
      if test "$need_locks" = warn &&      if test warn = "$need_locks" &&
          test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then           test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
         $ECHO "\          $ECHO "\
 *** ERROR, $lockfile contains:  *** ERROR, $lockfile contains:
Line 2261  $srcfile Line 3466  $srcfile
   
 This indicates that another process is trying to use the same  This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because  temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If youyour compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better  repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better  avoid parallel builds (make -j) in this platform, or get a better
 compiler."  compiler."
Line 2281  compiler." Line 3486  compiler."
       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"        func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
   
       # Unlock the critical section if it was locked        # Unlock the critical section if it was locked
      if test "$need_locks" != no; then      if test no != "$need_locks"; then
         removelist=$lockfile          removelist=$lockfile
         $RM "$lockfile"          $RM "$lockfile"
       fi        fi
Line 2291  compiler." Line 3496  compiler."
 }  }
   
 $opt_help || {  $opt_help || {
  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
 }  }
   
 func_mode_help ()  func_mode_help ()
Line 2311  func_mode_help () Line 3516  func_mode_help ()
 Remove files from the build directory.  Remove files from the build directory.
   
 RM is the name of the program to use to delete files associated with each FILE  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(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.  to RM.
   
 If FILE is a libtool library, object or program, all the files associated  If FILE is a libtool library, object or program, all the files associated
Line 2330  This mode accepts the following additional options: Line 3535  This mode accepts the following additional options:
   -no-suppress      do not suppress compiler output for multiple passes    -no-suppress      do not suppress compiler output for multiple passes
   -prefer-pic       try to build PIC objects only    -prefer-pic       try to build PIC objects only
   -prefer-non-pic   try to build non-PIC objects only    -prefer-non-pic   try to build non-PIC objects only
  -shared           do not build a \`.o' file suitable for static linking  -shared           do not build a '.o' file suitable for static linking
  -static           only build a \`.o' file suitable for static linking  -static           only build a '.o' file suitable for static linking
   -Wc,FLAG          pass FLAG directly to the compiler    -Wc,FLAG          pass FLAG directly to the compiler
   
COMPILE-COMMAND is a command to be used in creating a \`standard' object fileCOMPILE-COMMAND is a command to be used in creating a 'standard' object file
 from the given SOURCEFILE.  from the given SOURCEFILE.
   
 The output file name is determined by removing the directory component from  The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix \`.c' with theSOURCEFILE, then substituting the C source code suffix '.c' with the
library object suffix, \`.lo'."library object suffix, '.lo'."
         ;;          ;;
   
       execute)        execute)
Line 2352  This mode accepts the following additional options: Line 3557  This mode accepts the following additional options:
   
   -dlopen FILE      add the directory containing FILE to the library path    -dlopen FILE      add the directory containing FILE to the library path
   
This mode sets the library path environment variable according to \`-dlopen'This mode sets the library path environment variable according to '-dlopen'
 flags.  flags.
   
 If any of the ARGS are libtool executable wrappers, then they are translated  If any of the ARGS are libtool executable wrappers, then they are translated
Line 2371  Complete the installation of libtool libraries. Line 3576  Complete the installation of libtool libraries.
 Each LIBDIR is a directory that contains libtool libraries.  Each LIBDIR is a directory that contains libtool libraries.
   
 The commands that this mode executes may require superuser privileges.  Use  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."the '--dry-run' option if you just want to see what would be executed."
         ;;          ;;
   
       install)        install)
Line 2381  the \`--dry-run' option if you just want to see what w Line 3586  the \`--dry-run' option if you just want to see what w
 Install executables or libraries.  Install executables or libraries.
   
 INSTALL-COMMAND is the installation command.  The first component should be  INSTALL-COMMAND is the installation command.  The first component should be
either the \`install' or \`cp' program.either the 'install' or 'cp' program.
   
 The following components of INSTALL-COMMAND are treated specially:  The following components of INSTALL-COMMAND are treated specially:
   
Line 2407  The following components of LINK-COMMAND are treated s Line 3612  The following components of LINK-COMMAND are treated s
   -avoid-version    do not add a version suffix if possible    -avoid-version    do not add a version suffix if possible
   -bindir BINDIR    specify path to binaries directory (for systems where    -bindir BINDIR    specify path to binaries directory (for systems where
                     libraries must be found in the PATH setting at runtime)                      libraries must be found in the PATH setting at runtime)
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols    -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-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE    -export-symbols SYMFILE
Line 2441  The following components of LINK-COMMAND are treated s Line 3646  The following components of LINK-COMMAND are treated s
   -Xlinker FLAG     pass linker-specific FLAG directly to the linker    -Xlinker FLAG     pass linker-specific FLAG directly to the linker
   -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)    -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
   
All other options (arguments beginning with \`-') are ignored.All other options (arguments beginning with '-') are ignored.
   
Every other argument is treated as a filename.  Files ending in \`.la' areEvery other argument is treated as a filename.  Files ending in '.la' are
 treated as uninstalled libtool libraries, other files are standard or library  treated as uninstalled libtool libraries, other files are standard or library
 object files.  object files.
   
If the OUTPUT-FILE ends in \`.la', then a libtool library is created,If the OUTPUT-FILE ends in '.la', then a libtool library is created,
only library objects (\`.lo' files) may be specified, and \`-rpath' isonly library objects ('.lo' files) may be specified, and '-rpath' is
 required, except when creating a convenience library.  required, except when creating a convenience library.
   
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is createdIf OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
using \`ar' and \`ranlib', or on Windows using \`lib'.using 'ar' and 'ranlib', or on Windows using 'lib'.
   
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object fileIf OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
 is created, otherwise an executable program is created."  is created, otherwise an executable program is created."
         ;;          ;;
   
Line 2465  is created, otherwise an executable program is created Line 3670  is created, otherwise an executable program is created
 Remove libraries from an installation directory.  Remove libraries from an installation directory.
   
 RM is the name of the program to use to delete files associated with each FILE  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(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.  to RM.
   
 If FILE is a libtool library, all the files associated with it are deleted.  If FILE is a libtool library, all the files associated with it are deleted.
Line 2473  Otherwise, only FILE itself is deleted using RM." Line 3678  Otherwise, only FILE itself is deleted using RM."
         ;;          ;;
   
       *)        *)
        func_fatal_help "invalid operation mode \`$opt_mode'"        func_fatal_help "invalid operation mode '$opt_mode'"
         ;;          ;;
     esac      esac
   
     echo      echo
    $ECHO "Try \`$progname --help' for more information about other modes."    $ECHO "Try '$progname --help' for more information about other modes."
 }  }
   
 # Now that we've collected a possible --mode arg, show help if necessary  # Now that we've collected a possible --mode arg, show help if necessary
 if $opt_help; then  if $opt_help; then
  if test "$opt_help" = :; then  if test : = "$opt_help"; then
     func_mode_help      func_mode_help
   else    else
     {      {
Line 2516  fi Line 3721  fi
 # func_mode_execute arg...  # func_mode_execute arg...
 func_mode_execute ()  func_mode_execute ()
 {  {
    $opt_debug    $debug_cmd
 
     # The first argument is the command name.      # The first argument is the command name.
    cmd="$nonopt"    cmd=$nonopt
     test -z "$cmd" && \      test -z "$cmd" && \
       func_fatal_help "you must specify a COMMAND"        func_fatal_help "you must specify a COMMAND"
   
     # Handle -dlopen flags immediately.      # Handle -dlopen flags immediately.
     for file in $opt_dlopen; do      for file in $opt_dlopen; do
       test -f "$file" \        test -f "$file" \
        || func_fatal_help "\`$file' is not a file"        || func_fatal_help "'$file' is not a file"
   
       dir=        dir=
       case $file in        case $file in
Line 2535  func_mode_execute () Line 3741  func_mode_execute ()
   
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         func_lalib_unsafe_p "$file" \          func_lalib_unsafe_p "$file" \
          || func_fatal_help "\`$lib' is not a valid libtool archive"          || func_fatal_help "'$lib' is not a valid libtool archive"
   
         # Read the libtool library.          # Read the libtool library.
         dlname=          dlname=
Line 2546  func_mode_execute () Line 3752  func_mode_execute ()
         if test -z "$dlname"; then          if test -z "$dlname"; then
           # Warn if it was a shared library.            # Warn if it was a shared library.
           test -n "$library_names" && \            test -n "$library_names" && \
            func_warning "\`$file' was not linked with \`-export-dynamic'"            func_warning "'$file' was not linked with '-export-dynamic'"
           continue            continue
         fi          fi
   
         func_dirname "$file" "" "."          func_dirname "$file" "" "."
        dir="$func_dirname_result"        dir=$func_dirname_result
   
         if test -f "$dir/$objdir/$dlname"; then          if test -f "$dir/$objdir/$dlname"; then
           func_append dir "/$objdir"            func_append dir "/$objdir"
         else          else
           if test ! -f "$dir/$dlname"; then            if test ! -f "$dir/$dlname"; then
            func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"            func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
           fi            fi
         fi          fi
         ;;          ;;
Line 2565  func_mode_execute () Line 3771  func_mode_execute ()
       *.lo)        *.lo)
         # Just add the directory containing the .lo file.          # Just add the directory containing the .lo file.
         func_dirname "$file" "" "."          func_dirname "$file" "" "."
        dir="$func_dirname_result"        dir=$func_dirname_result
         ;;          ;;
   
       *)        *)
        func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"        func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
         continue          continue
         ;;          ;;
       esac        esac
   
       # Get the absolute pathname.        # Get the absolute pathname.
       absdir=`cd "$dir" && pwd`        absdir=`cd "$dir" && pwd`
      test -n "$absdir" && dir="$absdir"      test -n "$absdir" && dir=$absdir
   
       # Now add the directory to shlibpath_var.        # Now add the directory to shlibpath_var.
       if eval "test -z \"\$$shlibpath_var\""; then        if eval "test -z \"\$$shlibpath_var\""; then
Line 2588  func_mode_execute () Line 3794  func_mode_execute ()
   
     # This variable tells wrapper scripts just to set shlibpath_var      # This variable tells wrapper scripts just to set shlibpath_var
     # rather than running their programs.      # rather than running their programs.
    libtool_execute_magic="$magic"    libtool_execute_magic=$magic
   
     # Check if any of the arguments is a wrapper script.      # Check if any of the arguments is a wrapper script.
     args=      args=
Line 2601  func_mode_execute () Line 3807  func_mode_execute ()
         if func_ltwrapper_script_p "$file"; then          if func_ltwrapper_script_p "$file"; then
           func_source "$file"            func_source "$file"
           # Transform arg to wrapped name.            # Transform arg to wrapped name.
          file="$progdir/$program"          file=$progdir/$program
         elif func_ltwrapper_executable_p "$file"; then          elif func_ltwrapper_executable_p "$file"; then
           func_ltwrapper_scriptname "$file"            func_ltwrapper_scriptname "$file"
           func_source "$func_ltwrapper_scriptname_result"            func_source "$func_ltwrapper_scriptname_result"
           # Transform arg to wrapped name.            # Transform arg to wrapped name.
          file="$progdir/$program"          file=$progdir/$program
         fi          fi
         ;;          ;;
       esac        esac
Line 2614  func_mode_execute () Line 3820  func_mode_execute ()
       func_append_quoted args "$file"        func_append_quoted args "$file"
     done      done
   
    if test "X$opt_dry_run" = Xfalse; then    if $opt_dry_run; then
       # Display what would be done.
       if test -n "$shlibpath_var"; then        if test -n "$shlibpath_var"; then
           eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
           echo "export $shlibpath_var"
         fi
         $ECHO "$cmd$args"
         exit $EXIT_SUCCESS
       else
         if test -n "$shlibpath_var"; then
         # Export the shlibpath_var.          # Export the shlibpath_var.
         eval "export $shlibpath_var"          eval "export $shlibpath_var"
       fi        fi
Line 2631  func_mode_execute () Line 3845  func_mode_execute ()
       done        done
   
       # Now prepare to actually exec the command.        # Now prepare to actually exec the command.
      exec_cmd="\$cmd$args"      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      fi
 }  }
   
test "$opt_mode" = execute && func_mode_execute ${1+"$@"}test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
   
   
 # func_mode_finish arg...  # func_mode_finish arg...
 func_mode_finish ()  func_mode_finish ()
 {  {
    $opt_debug    $debug_cmd
 
     libs=      libs=
     libdirs=      libdirs=
     admincmds=      admincmds=
Line 2663  func_mode_finish () Line 3870  func_mode_finish ()
         if func_lalib_unsafe_p "$opt"; then          if func_lalib_unsafe_p "$opt"; then
           func_append libs " $opt"            func_append libs " $opt"
         else          else
          func_warning "\`$opt' is not a valid libtool archive"          func_warning "'$opt' is not a valid libtool archive"
         fi          fi
   
       else        else
        func_fatal_error "invalid argument \`$opt'"        func_fatal_error "invalid argument '$opt'"
       fi        fi
     done      done
   
Line 2682  func_mode_finish () Line 3889  func_mode_finish ()
       # Remove sysroot references        # Remove sysroot references
       if $opt_dry_run; then        if $opt_dry_run; then
         for lib in $libs; do          for lib in $libs; do
          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
         done          done
       else        else
         tmpdir=`func_mktempdir`          tmpdir=`func_mktempdir`
         for lib in $libs; do          for lib in $libs; do
          sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \          sed -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
             > $tmpdir/tmp-la              > $tmpdir/tmp-la
           mv -f $tmpdir/tmp-la $lib            mv -f $tmpdir/tmp-la $lib
         done          done
Line 2712  func_mode_finish () Line 3919  func_mode_finish ()
     fi      fi
   
     # Exit here if they wanted silent mode.      # Exit here if they wanted silent mode.
    $opt_silent && exit $EXIT_SUCCESS    $opt_quiet && exit $EXIT_SUCCESS
   
     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then      if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       echo "----------------------------------------------------------------------"        echo "----------------------------------------------------------------------"
Line 2723  func_mode_finish () Line 3930  func_mode_finish ()
       echo        echo
       echo "If you ever happen to want to link against installed libraries"        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 "in a given directory, LIBDIR, you must either use libtool, and"
      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
       echo "flag during linking and do at least one of the following:"        echo "flag during linking and do at least one of the following:"
       if test -n "$shlibpath_var"; then        if test -n "$shlibpath_var"; then
        echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"        echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
         echo "     during execution"          echo "     during execution"
       fi        fi
       if test -n "$runpath_var"; then        if test -n "$runpath_var"; then
        echo "   - add LIBDIR to the \`$runpath_var' environment variable"        echo "   - add LIBDIR to the '$runpath_var' environment variable"
         echo "     during linking"          echo "     during linking"
       fi        fi
       if test -n "$hardcode_libdir_flag_spec"; then        if test -n "$hardcode_libdir_flag_spec"; then
         libdir=LIBDIR          libdir=LIBDIR
         eval flag=\"$hardcode_libdir_flag_spec\"          eval flag=\"$hardcode_libdir_flag_spec\"
   
        $ECHO "   - use the \`$flag' linker flag"        $ECHO "   - use the '$flag' linker flag"
       fi        fi
       if test -n "$admincmds"; then        if test -n "$admincmds"; then
         $ECHO "   - have your system administrator run these commands:$admincmds"          $ECHO "   - have your system administrator run these commands:$admincmds"
       fi        fi
       if test -f /etc/ld.so.conf; then        if test -f /etc/ld.so.conf; then
        echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"        echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
       fi        fi
       echo        echo
   
Line 2762  func_mode_finish () Line 3969  func_mode_finish ()
     exit $EXIT_SUCCESS      exit $EXIT_SUCCESS
 }  }
   
test "$opt_mode" = finish && func_mode_finish ${1+"$@"}test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
   
   
 # func_mode_install arg...  # func_mode_install arg...
 func_mode_install ()  func_mode_install ()
 {  {
    $opt_debug    $debug_cmd
 
     # There may be an optional sh(1) argument at the beginning of      # There may be an optional sh(1) argument at the beginning of
     # install_prog (especially on Windows NT).      # install_prog (especially on Windows NT).
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
        # Allow the use of GNU shtool's install command.         # Allow the use of GNU shtool's install command.
       case $nonopt in *shtool*) :;; *) false;; esac; then       case $nonopt in *shtool*) :;; *) false;; esac
     then
       # Aesthetically quote it.        # Aesthetically quote it.
       func_quote_for_eval "$nonopt"        func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "        install_prog="$func_quote_for_eval_result "
Line 2800  func_mode_install () Line 4009  func_mode_install ()
     opts=      opts=
     prev=      prev=
     install_type=      install_type=
    isdir=no    isdir=false
     stripme=      stripme=
     no_mode=:      no_mode=:
     for arg      for arg
Line 2813  func_mode_install () Line 4022  func_mode_install ()
       fi        fi
   
       case $arg in        case $arg in
      -d) isdir=yes ;;      -d) isdir=: ;;
       -f)        -f)
         if $install_cp; then :; else          if $install_cp; then :; else
           prev=$arg            prev=$arg
Line 2831  func_mode_install () Line 4040  func_mode_install ()
       *)        *)
         # If the previous option needed an argument, then skip it.          # If the previous option needed an argument, then skip it.
         if test -n "$prev"; then          if test -n "$prev"; then
          if test "x$prev" = x-m && test -n "$install_override_mode"; then          if test X-m = "X$prev" && test -n "$install_override_mode"; then
             arg2=$install_override_mode              arg2=$install_override_mode
             no_mode=false              no_mode=false
           fi            fi
Line 2856  func_mode_install () Line 4065  func_mode_install ()
       func_fatal_help "you must specify an install program"        func_fatal_help "you must specify an install program"
   
     test -n "$prev" && \      test -n "$prev" && \
      func_fatal_help "the \`$prev' option requires an argument"      func_fatal_help "the '$prev' option requires an argument"
   
     if test -n "$install_override_mode" && $no_mode; then      if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else        if $install_cp; then :; else
Line 2878  func_mode_install () Line 4087  func_mode_install ()
     dest=$func_stripname_result      dest=$func_stripname_result
   
     # Check to see that the destination is a directory.      # Check to see that the destination is a directory.
    test -d "$dest" && isdir=yes    test -d "$dest" && isdir=:
    if test "$isdir" = yes; then    if $isdir; then
      destdir="$dest"      destdir=$dest
       destname=        destname=
     else      else
       func_dirname_and_basename "$dest" "" "."        func_dirname_and_basename "$dest" "" "."
      destdir="$func_dirname_result"      destdir=$func_dirname_result
      destname="$func_basename_result"      destname=$func_basename_result
   
       # Not a directory, so check to see that there is only one file specified.        # Not a directory, so check to see that there is only one file specified.
       set dummy $files; shift        set dummy $files; shift
       test "$#" -gt 1 && \        test "$#" -gt 1 && \
        func_fatal_help "\`$dest' is not a directory"        func_fatal_help "'$dest' is not a directory"
     fi      fi
     case $destdir in      case $destdir in
     [\\/]* | [A-Za-z]:[\\/]*) ;;      [\\/]* | [A-Za-z]:[\\/]*) ;;
Line 2899  func_mode_install () Line 4108  func_mode_install ()
         case $file in          case $file in
         *.lo) ;;          *.lo) ;;
         *)          *)
          func_fatal_help "\`$destdir' must be an absolute directory name"          func_fatal_help "'$destdir' must be an absolute directory name"
           ;;            ;;
         esac          esac
       done        done
Line 2908  func_mode_install () Line 4117  func_mode_install ()
   
     # This variable tells wrapper scripts just to set variables rather      # This variable tells wrapper scripts just to set variables rather
     # than running their programs.      # than running their programs.
    libtool_install_magic="$magic"    libtool_install_magic=$magic
   
     staticlibs=      staticlibs=
     future_libdirs=      future_libdirs=
Line 2928  func_mode_install () Line 4137  func_mode_install ()
   
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         func_lalib_unsafe_p "$file" \          func_lalib_unsafe_p "$file" \
          || func_fatal_help "\`$file' is not a valid libtool archive"          || func_fatal_help "'$file' is not a valid libtool archive"
   
         library_names=          library_names=
         old_library=          old_library=
Line 2950  func_mode_install () Line 4159  func_mode_install ()
         fi          fi
   
         func_dirname "$file" "/" ""          func_dirname "$file" "/" ""
        dir="$func_dirname_result"        dir=$func_dirname_result
         func_append dir "$objdir"          func_append dir "$objdir"
   
         if test -n "$relink_command"; then          if test -n "$relink_command"; then
Line 2964  func_mode_install () Line 4173  func_mode_install ()
           # are installed into $libdir/../bin (currently, that works fine)            # are installed into $libdir/../bin (currently, that works fine)
           # but it's something to keep an eye on.            # but it's something to keep an eye on.
           test "$inst_prefix_dir" = "$destdir" && \            test "$inst_prefix_dir" = "$destdir" && \
            func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"            func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
   
           if test -n "$inst_prefix_dir"; then            if test -n "$inst_prefix_dir"; then
             # Stick the inst_prefix_dir data into the link command.              # Stick the inst_prefix_dir data into the link command.
Line 2973  func_mode_install () Line 4182  func_mode_install ()
             relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`              relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
           fi            fi
   
          func_warning "relinking \`$file'"          func_warning "relinking '$file'"
           func_show_eval "$relink_command" \            func_show_eval "$relink_command" \
            'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'            'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
         fi          fi
   
         # See the names of the shared library.          # See the names of the shared library.
         set dummy $library_names; shift          set dummy $library_names; shift
         if test -n "$1"; then          if test -n "$1"; then
          realname="$1"          realname=$1
           shift            shift
   
          srcname="$realname"          srcname=$realname
          test -n "$relink_command" && srcname="$realname"T          test -n "$relink_command" && srcname=${realname}T
   
           # Install the shared library and build the symlinks.            # Install the shared library and build the symlinks.
           func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \            func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
               'exit $?'                'exit $?'
          tstripme="$stripme"          tstripme=$stripme
           case $host_os in            case $host_os in
           cygwin* | mingw* | pw32* | cegcc*)            cygwin* | mingw* | pw32* | cegcc*)
             case $realname in              case $realname in
             *.dll.a)              *.dll.a)
              tstripme=""              tstripme=
               ;;                ;;
             esac              esac
             ;;              ;;
Line 3006  func_mode_install () Line 4215  func_mode_install ()
   
           if test "$#" -gt 0; then            if test "$#" -gt 0; then
             # Delete the old symlinks, and create new ones.              # Delete the old symlinks, and create new ones.
            # Try `ln -sf' first, because the `ln' binary might depend on            # Try 'ln -sf' first, because the 'ln' binary might depend on
             # the symlink we replace!  Solaris /bin/ln does not understand -f,              # the symlink we replace!  Solaris /bin/ln does not understand -f,
             # so we also need to try rm && ln -s.              # so we also need to try rm && ln -s.
             for linkname              for linkname
Line 3017  func_mode_install () Line 4226  func_mode_install ()
           fi            fi
   
           # Do each command in the postinstall commands.            # Do each command in the postinstall commands.
          lib="$destdir/$realname"          lib=$destdir/$realname
           func_execute_cmds "$postinstall_cmds" 'exit $?'            func_execute_cmds "$postinstall_cmds" 'exit $?'
         fi          fi
   
         # Install the pseudo-library for information purposes.          # Install the pseudo-library for information purposes.
         func_basename "$file"          func_basename "$file"
        name="$func_basename_result"        name=$func_basename_result
        instname="$dir/$name"i        instname=$dir/${name}i
         func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'          func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
   
         # Maybe install the static library, too.          # Maybe install the static library, too.
Line 3036  func_mode_install () Line 4245  func_mode_install ()
   
         # Figure out destination file name, if it wasn't already specified.          # Figure out destination file name, if it wasn't already specified.
         if test -n "$destname"; then          if test -n "$destname"; then
          destfile="$destdir/$destname"          destfile=$destdir/$destname
         else          else
           func_basename "$file"            func_basename "$file"
          destfile="$func_basename_result"          destfile=$func_basename_result
          destfile="$destdir/$destfile"          destfile=$destdir/$destfile
         fi          fi
   
         # Deduce the name of the destination old-style object file.          # Deduce the name of the destination old-style object file.
Line 3050  func_mode_install () Line 4259  func_mode_install ()
           staticdest=$func_lo2o_result            staticdest=$func_lo2o_result
           ;;            ;;
         *.$objext)          *.$objext)
          staticdest="$destfile"          staticdest=$destfile
           destfile=            destfile=
           ;;            ;;
         *)          *)
          func_fatal_help "cannot copy a libtool object to \`$destfile'"          func_fatal_help "cannot copy a libtool object to '$destfile'"
           ;;            ;;
         esac          esac
   
Line 3063  func_mode_install () Line 4272  func_mode_install ()
           func_show_eval "$install_prog $file $destfile" 'exit $?'            func_show_eval "$install_prog $file $destfile" 'exit $?'
   
         # Install the old object if enabled.          # Install the old object if enabled.
        if test "$build_old_libs" = yes; then        if test yes = "$build_old_libs"; then
           # Deduce the name of the old-style object file.            # Deduce the name of the old-style object file.
           func_lo2o "$file"            func_lo2o "$file"
           staticobj=$func_lo2o_result            staticobj=$func_lo2o_result
Line 3075  func_mode_install () Line 4284  func_mode_install ()
       *)        *)
         # Figure out destination file name, if it wasn't already specified.          # Figure out destination file name, if it wasn't already specified.
         if test -n "$destname"; then          if test -n "$destname"; then
          destfile="$destdir/$destname"          destfile=$destdir/$destname
         else          else
           func_basename "$file"            func_basename "$file"
          destfile="$func_basename_result"          destfile=$func_basename_result
          destfile="$destdir/$destfile"          destfile=$destdir/$destfile
         fi          fi
   
         # If the file is missing, and there is a .exe on the end, strip it          # 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          # because it is most likely a libtool script we actually want to
         # install          # install
        stripped_ext=""        stripped_ext=
         case $file in          case $file in
           *.exe)            *.exe)
             if test ! -f "$file"; then              if test ! -f "$file"; then
               func_stripname '' '.exe' "$file"                func_stripname '' '.exe' "$file"
               file=$func_stripname_result                file=$func_stripname_result
              stripped_ext=".exe"              stripped_ext=.exe
             fi              fi
             ;;              ;;
         esac          esac
Line 3119  func_mode_install () Line 4328  func_mode_install ()
   
           # Check the variables that should have been set.            # Check the variables that should have been set.
           test -z "$generated_by_libtool_version" && \            test -z "$generated_by_libtool_version" && \
            func_fatal_error "invalid libtool wrapper script \`$wrapper'"            func_fatal_error "invalid libtool wrapper script '$wrapper'"
   
          finalize=yes          finalize=:
           for lib in $notinst_deplibs; do            for lib in $notinst_deplibs; do
             # Check to see that each library is installed.              # Check to see that each library is installed.
             libdir=              libdir=
             if test -f "$lib"; then              if test -f "$lib"; then
               func_source "$lib"                func_source "$lib"
             fi              fi
            libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test            libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
             if test -n "$libdir" && test ! -f "$libfile"; then              if test -n "$libdir" && test ! -f "$libfile"; then
              func_warning "\`$lib' has not been installed in \`$libdir'"              func_warning "'$lib' has not been installed in '$libdir'"
              finalize=no              finalize=false
             fi              fi
           done            done
   
Line 3139  func_mode_install () Line 4348  func_mode_install ()
           func_source "$wrapper"            func_source "$wrapper"
   
           outputname=            outputname=
          if test "$fast_install" = no && test -n "$relink_command"; then          if test no = "$fast_install" && test -n "$relink_command"; then
             $opt_dry_run || {              $opt_dry_run || {
              if test "$finalize" = yes; then              if $finalize; then
                 tmpdir=`func_mktempdir`                  tmpdir=`func_mktempdir`
                 func_basename "$file$stripped_ext"                  func_basename "$file$stripped_ext"
                file="$func_basename_result"                file=$func_basename_result
                outputname="$tmpdir/$file"                outputname=$tmpdir/$file
                 # Replace the output file specification.                  # Replace the output file specification.
                 relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`                  relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
   
                $opt_silent || {                $opt_quiet || {
                   func_quote_for_expand "$relink_command"                    func_quote_for_expand "$relink_command"
                   eval "func_echo $func_quote_for_expand_result"                    eval "func_echo $func_quote_for_expand_result"
                 }                  }
                 if eval "$relink_command"; then :                  if eval "$relink_command"; then :
                   else                    else
                  func_error "error: relink \`$file' with the above command before installing it"                  func_error "error: relink '$file' with the above command before installing it"
                   $opt_dry_run || ${RM}r "$tmpdir"                    $opt_dry_run || ${RM}r "$tmpdir"
                   continue                    continue
                 fi                  fi
                file="$outputname"                file=$outputname
               else                else
                func_warning "cannot relink \`$file'"                func_warning "cannot relink '$file'"
               fi                fi
             }              }
           else            else
Line 3198  func_mode_install () Line 4407  func_mode_install ()
   
     for file in $staticlibs; do      for file in $staticlibs; do
       func_basename "$file"        func_basename "$file"
      name="$func_basename_result"      name=$func_basename_result
   
       # Set up the ranlib parameters.        # Set up the ranlib parameters.
      oldlib="$destdir/$name"      oldlib=$destdir/$name
       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32        func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
       tool_oldlib=$func_to_tool_file_result        tool_oldlib=$func_to_tool_file_result
   
Line 3216  func_mode_install () Line 4425  func_mode_install ()
     done      done
   
     test -n "$future_libdirs" && \      test -n "$future_libdirs" && \
      func_warning "remember to run \`$progname --finish$future_libdirs'"      func_warning "remember to run '$progname --finish$future_libdirs'"
   
     if test -n "$current_libdirs"; then      if test -n "$current_libdirs"; then
       # Maybe just do a dry run.        # Maybe just do a dry run.
       $opt_dry_run && current_libdirs=" -n$current_libdirs"        $opt_dry_run && current_libdirs=" -n$current_libdirs"
      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
     else      else
       exit $EXIT_SUCCESS        exit $EXIT_SUCCESS
     fi      fi
 }  }
   
test "$opt_mode" = install && func_mode_install ${1+"$@"}test install = "$opt_mode" && func_mode_install ${1+"$@"}
   
   
 # func_generate_dlsyms outputname originator pic_p  # func_generate_dlsyms outputname originator pic_p
Line 3235  test "$opt_mode" = install && func_mode_install ${1+"$ Line 4444  test "$opt_mode" = install && func_mode_install ${1+"$
 # a dlpreopen symbol table.  # a dlpreopen symbol table.
 func_generate_dlsyms ()  func_generate_dlsyms ()
 {  {
    $opt_debug    $debug_cmd
    my_outputname="$1"
    my_originator="$2"    my_outputname=$1
    my_pic_p="${3-no}"    my_originator=$2
     my_pic_p=${3-false}
     my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`      my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
     my_dlsyms=      my_dlsyms=
   
    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
       if test -n "$NM" && test -n "$global_symbol_pipe"; then        if test -n "$NM" && test -n "$global_symbol_pipe"; then
        my_dlsyms="${my_outputname}S.c"        my_dlsyms=${my_outputname}S.c
       else        else
         func_error "not configured to extract global symbols from dlpreopened files"          func_error "not configured to extract global symbols from dlpreopened files"
       fi        fi
Line 3255  func_generate_dlsyms () Line 4465  func_generate_dlsyms ()
       "") ;;        "") ;;
       *.c)        *.c)
         # Discover the nlist of each of the dlfiles.          # Discover the nlist of each of the dlfiles.
        nlist="$output_objdir/${my_outputname}.nm"        nlist=$output_objdir/$my_outputname.nm
   
         func_show_eval "$RM $nlist ${nlist}S ${nlist}T"          func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
   
Line 3263  func_generate_dlsyms () Line 4473  func_generate_dlsyms ()
         func_verbose "creating $output_objdir/$my_dlsyms"          func_verbose "creating $output_objdir/$my_dlsyms"
   
         $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\          $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. *//* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION *//* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
   
 #ifdef __cplusplus  #ifdef __cplusplus
 extern \"C\" {  extern \"C\" {
 #endif  #endif
   
#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"  #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
 #endif  #endif
   
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */  /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
/* DATA imports from DLLs on WIN32 con't be const, because runtime/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */     relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT_DLSYM_CONST  # define LT_DLSYM_CONST
#elif defined(__osf__)#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */  /* This system does not cope well with relocations in const data.  */
 # define LT_DLSYM_CONST  # define LT_DLSYM_CONST
 #else  #else
 # define LT_DLSYM_CONST const  # define LT_DLSYM_CONST const
 #endif  #endif
   
   #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
   
 /* External symbol declarations for the compiler. */\  /* External symbol declarations for the compiler. */\
 "  "
   
        if test "$dlself" = yes; then        if test yes = "$dlself"; then
          func_verbose "generating symbol list for \`$output'"          func_verbose "generating symbol list for '$output'"
   
           $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"            $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
   
Line 3298  extern \"C\" { Line 4510  extern \"C\" {
           progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`            progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
           for progfile in $progfiles; do            for progfile in $progfiles; do
             func_to_tool_file "$progfile" func_convert_file_msys_to_w32              func_to_tool_file "$progfile" func_convert_file_msys_to_w32
            func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"            func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
             $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"              $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
           done            done
   
Line 3318  extern \"C\" { Line 4530  extern \"C\" {
   
           # Prepare the list of exported symbols            # Prepare the list of exported symbols
           if test -z "$export_symbols"; then            if test -z "$export_symbols"; then
            export_symbols="$output_objdir/$outputname.exp"            export_symbols=$output_objdir/$outputname.exp
             $opt_dry_run || {              $opt_dry_run || {
               $RM $export_symbols                $RM $export_symbols
              eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'              eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
               case $host in                case $host in
               *cygwin* | *mingw* | *cegcc* )                *cygwin* | *mingw* | *cegcc* )
                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'                  eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
Line 3331  extern \"C\" { Line 4543  extern \"C\" {
             }              }
           else            else
             $opt_dry_run || {              $opt_dry_run || {
              eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'              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 '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
               eval '$MV "$nlist"T "$nlist"'                eval '$MV "$nlist"T "$nlist"'
               case $host in                case $host in
Line 3345  extern \"C\" { Line 4557  extern \"C\" {
         fi          fi
   
         for dlprefile in $dlprefiles; do          for dlprefile in $dlprefiles; do
          func_verbose "extracting global C symbols from \`$dlprefile'"          func_verbose "extracting global C symbols from '$dlprefile'"
           func_basename "$dlprefile"            func_basename "$dlprefile"
          name="$func_basename_result"          name=$func_basename_result
           case $host in            case $host in
             *cygwin* | *mingw* | *cegcc* )              *cygwin* | *mingw* | *cegcc* )
               # if an import library, we need to obtain dlname                # if an import library, we need to obtain dlname
               if func_win32_import_lib_p "$dlprefile"; then                if func_win32_import_lib_p "$dlprefile"; then
                 func_tr_sh "$dlprefile"                  func_tr_sh "$dlprefile"
                 eval "curr_lafile=\$libfile_$func_tr_sh_result"                  eval "curr_lafile=\$libfile_$func_tr_sh_result"
                dlprefile_dlbasename=""                dlprefile_dlbasename=
                 if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then                  if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
                   # Use subshell, to avoid clobbering current variable values                    # Use subshell, to avoid clobbering current variable values
                   dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`                    dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
                  if test -n "$dlprefile_dlname" ; then                  if test -n "$dlprefile_dlname"; then
                     func_basename "$dlprefile_dlname"                      func_basename "$dlprefile_dlname"
                    dlprefile_dlbasename="$func_basename_result"                    dlprefile_dlbasename=$func_basename_result
                   else                    else
                     # no lafile. user explicitly requested -dlpreopen <import library>.                      # no lafile. user explicitly requested -dlpreopen <import library>.
                     $sharedlib_from_linklib_cmd "$dlprefile"                      $sharedlib_from_linklib_cmd "$dlprefile"
Line 3368  extern \"C\" { Line 4580  extern \"C\" {
                   fi                    fi
                 fi                  fi
                 $opt_dry_run || {                  $opt_dry_run || {
                  if test -n "$dlprefile_dlbasename" ; then                  if test -n "$dlprefile_dlbasename"; then
                     eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'                      eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
                   else                    else
                     func_warning "Could not compute DLL name from $name"                      func_warning "Could not compute DLL name from $name"
Line 3424  extern \"C\" { Line 4636  extern \"C\" {
             echo '/* NONE */' >> "$output_objdir/$my_dlsyms"              echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
           fi            fi
   
             func_show_eval '$RM "${nlist}I"'
             if test -n "$global_symbol_to_import"; then
               eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
             fi
   
           echo >> "$output_objdir/$my_dlsyms" "\            echo >> "$output_objdir/$my_dlsyms" "\
   
 /* The mapping between symbol names and symbols.  */  /* The mapping between symbol names and symbols.  */
Line 3432  typedef struct { Line 4649  typedef struct {
   void *address;    void *address;
 } lt_dlsymlist;  } lt_dlsymlist;
 extern LT_DLSYM_CONST lt_dlsymlist  extern LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];lt_${my_prefix}_LTX_preloaded_symbols[];\
 "
 
           if test -s "$nlist"I; then
             echo >> "$output_objdir/$my_dlsyms" "\
 static void lt_syminit(void)
 {
   LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
   for (; symbol->name; ++symbol)
     {"
             $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
             echo >> "$output_objdir/$my_dlsyms" "\
     }
 }"
           fi
           echo >> "$output_objdir/$my_dlsyms" "\
 LT_DLSYM_CONST lt_dlsymlist  LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =  lt_${my_prefix}_LTX_preloaded_symbols[] =
{\{ {\"$my_originator\", (void *) 0},"
  { \"$my_originator\", (void *) 0 }," 
   
             if test -s "$nlist"I; then
               echo >> "$output_objdir/$my_dlsyms" "\
     {\"@INIT@\", (void *) &lt_syminit},"
             fi
   
           case $need_lib_prefix in            case $need_lib_prefix in
           no)            no)
             eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"              eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
Line 3478  static const void *lt_preloaded_setup() { Line 4714  static const void *lt_preloaded_setup() {
           *-*-hpux*)            *-*-hpux*)
             pic_flag_for_symtable=" $pic_flag"  ;;              pic_flag_for_symtable=" $pic_flag"  ;;
           *)            *)
            if test "X$my_pic_p" != Xno; then            $my_pic_p && pic_flag_for_symtable=" $pic_flag"
              pic_flag_for_symtable=" $pic_flag" 
            fi 
             ;;              ;;
           esac            esac
           ;;            ;;
Line 3497  static const void *lt_preloaded_setup() { Line 4731  static const void *lt_preloaded_setup() {
         func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'          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.          # Clean up the generated files.
        func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'        func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
   
         # Transform the symbol file into the correct name.          # Transform the symbol file into the correct name.
        symfileobj="$output_objdir/${my_outputname}S.$objext"        symfileobj=$output_objdir/${my_outputname}S.$objext
         case $host in          case $host in
         *cygwin* | *mingw* | *cegcc* )          *cygwin* | *mingw* | *cegcc* )
           if test -f "$output_objdir/$my_outputname.def"; then            if test -f "$output_objdir/$my_outputname.def"; then
Line 3518  static const void *lt_preloaded_setup() { Line 4752  static const void *lt_preloaded_setup() {
         esac          esac
         ;;          ;;
       *)        *)
        func_fatal_error "unknown suffix for \`$my_dlsyms'"        func_fatal_error "unknown suffix for '$my_dlsyms'"
         ;;          ;;
       esac        esac
     else      else
Line 3532  static const void *lt_preloaded_setup() { Line 4766  static const void *lt_preloaded_setup() {
     fi      fi
 }  }
   
   # func_cygming_gnu_implib_p ARG
   # This predicate returns with zero status (TRUE) if
   # ARG is a GNU/binutils-style import library. Returns
   # with nonzero status (FALSE) otherwise.
   func_cygming_gnu_implib_p ()
   {
     $debug_cmd
   
     func_to_tool_file "$1" func_convert_file_msys_to_w32
     func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
     test -n "$func_cygming_gnu_implib_tmp"
   }
   
   # func_cygming_ms_implib_p ARG
   # This predicate returns with zero status (TRUE) if
   # ARG is an MS-style import library. Returns
   # with nonzero status (FALSE) otherwise.
   func_cygming_ms_implib_p ()
   {
     $debug_cmd
   
     func_to_tool_file "$1" func_convert_file_msys_to_w32
     func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
     test -n "$func_cygming_ms_implib_tmp"
   }
   
 # func_win32_libid arg  # func_win32_libid arg
 # return the library type of file 'arg'  # return the library type of file 'arg'
 #  #
Line 3541  static const void *lt_preloaded_setup() { Line 4801  static const void *lt_preloaded_setup() {
 # Despite the name, also deal with 64 bit binaries.  # Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()  func_win32_libid ()
 {  {
  $opt_debug  $debug_cmd
  win32_libid_type="unknown"
   win32_libid_type=unknown
   win32_fileres=`file -L $1 2>/dev/null`    win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in    case $win32_fileres in
   *ar\ archive\ import\ library*) # definitely import    *ar\ archive\ import\ library*) # definitely import
Line 3552  func_win32_libid () Line 4813  func_win32_libid ()
     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.      # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |      if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then         $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
      func_to_tool_file "$1" func_convert_file_msys_to_w32      case $nm_interface in
      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |      "MS dumpbin")
        $SED -n -e '        if func_cygming_ms_implib_p "$1" ||
            func_cygming_gnu_implib_p "$1"
         then
           win32_nmres=import
         else
           win32_nmres=
         fi
         ;;
       *)
         func_to_tool_file "$1" func_convert_file_msys_to_w32
         win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
           $SED -n -e '
             1,100{              1,100{
                 / I /{                  / I /{
                    s,.*,import,                    s|.*|import|
                     p                      p
                     q                      q
                 }                  }
             }'`              }'`
           ;;
         esac
       case $win32_nmres in        case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;        import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;        *)        win32_libid_type="x86 archive static";;
Line 3593  func_win32_libid () Line 4867  func_win32_libid ()
 #    $sharedlib_from_linklib_result  #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib ()  func_cygming_dll_for_implib ()
 {  {
  $opt_debug  $debug_cmd
 
   sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`    sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
 }  }
   
Line 3610  func_cygming_dll_for_implib () Line 4885  func_cygming_dll_for_implib ()
 # specified import library.  # specified import library.
 func_cygming_dll_for_implib_fallback_core ()  func_cygming_dll_for_implib_fallback_core ()
 {  {
  $opt_debug  $debug_cmd
 
   match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`    match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
   $OBJDUMP -s --section "$1" "$2" 2>/dev/null |    $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
     $SED '/^Contents of section '"$match_literal"':/{      $SED '/^Contents of section '"$match_literal"':/{
Line 3646  func_cygming_dll_for_implib_fallback_core () Line 4922  func_cygming_dll_for_implib_fallback_core ()
       /./p' |        /./p' |
     # we now have a list, one entry per line, of the stringified      # we now have a list, one entry per line, of the stringified
     # contents of the appropriate section of all members of the      # contents of the appropriate section of all members of the
    # archive which possess that section. Heuristic: eliminate    # archive that possess that section. Heuristic: eliminate
    # all those which have a first or second character that is    # all those that have a first or second character that is
     # a '.' (that is, objdump's representation of an unprintable      # a '.' (that is, objdump's representation of an unprintable
     # character.) This should work for all archives with less than      # character.) This should work for all archives with less than
     # 0x302f exports -- but will fail for DLLs whose name actually      # 0x302f exports -- but will fail for DLLs whose name actually
Line 3658  func_cygming_dll_for_implib_fallback_core () Line 4934  func_cygming_dll_for_implib_fallback_core ()
     $SED -e '/^\./d;/^.\./d;q'      $SED -e '/^\./d;/^.\./d;q'
 }  }
   
 # func_cygming_gnu_implib_p ARG  
 # This predicate returns with zero status (TRUE) if  
 # ARG is a GNU/binutils-style import library. Returns  
 # with nonzero status (FALSE) otherwise.  
 func_cygming_gnu_implib_p ()  
 {  
   $opt_debug  
   func_to_tool_file "$1" func_convert_file_msys_to_w32  
   func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`  
   test -n "$func_cygming_gnu_implib_tmp"  
 }  
   
 # func_cygming_ms_implib_p ARG  
 # This predicate returns with zero status (TRUE) if  
 # ARG is an MS-style import library. Returns  
 # with nonzero status (FALSE) otherwise.  
 func_cygming_ms_implib_p ()  
 {  
   $opt_debug  
   func_to_tool_file "$1" func_convert_file_msys_to_w32  
   func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`  
   test -n "$func_cygming_ms_implib_tmp"  
 }  
   
 # func_cygming_dll_for_implib_fallback ARG  # func_cygming_dll_for_implib_fallback ARG
 # Platform-specific function to extract the  # Platform-specific function to extract the
 # name of the DLL associated with the specified  # name of the DLL associated with the specified
Line 3695  func_cygming_ms_implib_p () Line 4947  func_cygming_ms_implib_p ()
 #    $sharedlib_from_linklib_result  #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib_fallback ()  func_cygming_dll_for_implib_fallback ()
 {  {
  $opt_debug  $debug_cmd
  if func_cygming_gnu_implib_p "$1" ; then
   if func_cygming_gnu_implib_p "$1"; then
     # binutils import library      # binutils import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`      sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
  elif func_cygming_ms_implib_p "$1" ; then  elif func_cygming_ms_implib_p "$1"; then
     # ms-generated import library      # ms-generated import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`      sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
   else    else
     # unknown      # unknown
    sharedlib_from_linklib_result=""    sharedlib_from_linklib_result=
   fi    fi
 }  }
   
Line 3712  func_cygming_dll_for_implib_fallback () Line 4965  func_cygming_dll_for_implib_fallback ()
 # func_extract_an_archive dir oldlib  # func_extract_an_archive dir oldlib
 func_extract_an_archive ()  func_extract_an_archive ()
 {  {
    $opt_debug    $debug_cmd
    f_ex_an_ar_dir="$1"; shift
    f_ex_an_ar_oldlib="$1"    f_ex_an_ar_dir=$1; shift
    if test "$lock_old_archive_extraction" = yes; then    f_ex_an_ar_oldlib=$1
     if test yes = "$lock_old_archive_extraction"; then
       lockfile=$f_ex_an_ar_oldlib.lock        lockfile=$f_ex_an_ar_oldlib.lock
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do        until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
         func_echo "Waiting for $lockfile to be removed"          func_echo "Waiting for $lockfile to be removed"
Line 3724  func_extract_an_archive () Line 4978  func_extract_an_archive ()
     fi      fi
     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \      func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
                    'stat=$?; rm -f "$lockfile"; exit $stat'                     'stat=$?; rm -f "$lockfile"; exit $stat'
    if test "$lock_old_archive_extraction" = yes; then    if test yes = "$lock_old_archive_extraction"; then
       $opt_dry_run || rm -f "$lockfile"        $opt_dry_run || rm -f "$lockfile"
     fi      fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then      if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
Line 3738  func_extract_an_archive () Line 4992  func_extract_an_archive ()
 # func_extract_archives gentop oldlib ...  # func_extract_archives gentop oldlib ...
 func_extract_archives ()  func_extract_archives ()
 {  {
    $opt_debug    $debug_cmd
    my_gentop="$1"; shift
     my_gentop=$1; shift
     my_oldlibs=${1+"$@"}      my_oldlibs=${1+"$@"}
    my_oldobjs=""    my_oldobjs=
    my_xlib=""    my_xlib=
    my_xabs=""    my_xabs=
    my_xdir=""    my_xdir=
   
     for my_xlib in $my_oldlibs; do      for my_xlib in $my_oldlibs; do
       # Extract the objects.        # Extract the objects.
       case $my_xlib in        case $my_xlib in
        [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;        [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
         *) my_xabs=`pwd`"/$my_xlib" ;;          *) my_xabs=`pwd`"/$my_xlib" ;;
       esac        esac
       func_basename "$my_xlib"        func_basename "$my_xlib"
      my_xlib="$func_basename_result"      my_xlib=$func_basename_result
       my_xlib_u=$my_xlib        my_xlib_u=$my_xlib
       while :; do        while :; do
         case " $extracted_archives " in          case " $extracted_archives " in
Line 3765  func_extract_archives () Line 5020  func_extract_archives ()
         esac          esac
       done        done
       extracted_archives="$extracted_archives $my_xlib_u"        extracted_archives="$extracted_archives $my_xlib_u"
      my_xdir="$my_gentop/$my_xlib_u"      my_xdir=$my_gentop/$my_xlib_u
   
       func_mkdir_p "$my_xdir"        func_mkdir_p "$my_xdir"
   
Line 3778  func_extract_archives () Line 5033  func_extract_archives ()
           cd $my_xdir || exit $?            cd $my_xdir || exit $?
           darwin_archive=$my_xabs            darwin_archive=$my_xabs
           darwin_curdir=`pwd`            darwin_curdir=`pwd`
          darwin_base_archive=`basename "$darwin_archive"`          func_basename "$darwin_archive"
           darwin_base_archive=$func_basename_result
           darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`            darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
           if test -n "$darwin_arches"; then            if test -n "$darwin_arches"; then
             darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`              darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
             darwin_arch=              darwin_arch=
             func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"              func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
            for darwin_arch in  $darwin_arches ; do            for darwin_arch in  $darwin_arches; do
              func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"              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}"              $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
              cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"              cd "unfat-$$/$darwin_base_archive-$darwin_arch"
              func_extract_an_archive "`pwd`" "${darwin_base_archive}"              func_extract_an_archive "`pwd`" "$darwin_base_archive"
               cd "$darwin_curdir"                cd "$darwin_curdir"
              $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"              $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
             done # $darwin_arches              done # $darwin_arches
             ## Okay now we've a bunch of thin objects, gotta fatten them up :)              ## 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_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
Line 3815  func_extract_archives () Line 5071  func_extract_archives ()
       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`        my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done      done
   
    func_extract_archives_result="$my_oldobjs"    func_extract_archives_result=$my_oldobjs
 }  }
   
   
Line 3830  func_extract_archives () Line 5086  func_extract_archives ()
 #  #
 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR  # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
 # variable will take.  If 'yes', then the emitted script  # variable will take.  If 'yes', then the emitted script
# will assume that the directory in which it is stored is# will assume that the directory where it is stored is
 # the $objdir directory.  This is a cygwin/mingw-specific  # the $objdir directory.  This is a cygwin/mingw-specific
 # behavior.  # behavior.
 func_emit_wrapper ()  func_emit_wrapper ()
Line 3841  func_emit_wrapper () Line 5097  func_emit_wrapper ()
 #! $SHELL  #! $SHELL
   
 # $output - temporary wrapper script for $objdir/$outputname  # $output - temporary wrapper script for $objdir/$outputname
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #  #
 # The $output program cannot be directly executed until all the libtool  # The $output program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.  # libraries that it depends on are installed.
Line 3898  _LTECHO_EOF' Line 5154  _LTECHO_EOF'
   
 # Very basic option parsing. These options are (a) specific to  # Very basic option parsing. These options are (a) specific to
 # the libtool wrapper, (b) are identical between the wrapper  # the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ which is used only on# /script/ and the wrapper /executable/ that is used only on
 # windows platforms, and (c) all begin with the string "--lt-"  # windows platforms, and (c) all begin with the string "--lt-"
# (application programs are unlikely to have options which match# (application programs are unlikely to have options that match
 # this pattern).  # this pattern).
 #  #
 # There are only two supported options: --lt-debug and  # There are only two supported options: --lt-debug and
Line 3933  func_parse_lt_options () Line 5189  func_parse_lt_options ()
   
   # Print the debug banner immediately:    # Print the debug banner immediately:
   if test -n \"\$lt_option_debug\"; then    if test -n \"\$lt_option_debug\"; then
    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
   fi    fi
 }  }
   
Line 3944  func_lt_dump_args () Line 5200  func_lt_dump_args ()
   lt_dump_args_N=1;    lt_dump_args_N=1;
   for lt_arg    for lt_arg
   do    do
    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
     lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`      lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
   done    done
 }  }
Line 3958  func_exec_program_core () Line 5214  func_exec_program_core ()
   *-*-mingw | *-*-os2* | *-cegcc*)    *-*-mingw | *-*-os2* | *-cegcc*)
     $ECHO "\      $ECHO "\
       if test -n \"\$lt_option_debug\"; then        if test -n \"\$lt_option_debug\"; then
        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2          func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi        fi
       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}        exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
Line 3968  func_exec_program_core () Line 5224  func_exec_program_core ()
   *)    *)
     $ECHO "\      $ECHO "\
       if test -n \"\$lt_option_debug\"; then        if test -n \"\$lt_option_debug\"; then
        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2          func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi        fi
       exec \"\$progdir/\$program\" \${1+\"\$@\"}        exec \"\$progdir/\$program\" \${1+\"\$@\"}
Line 4043  func_exec_program () Line 5299  func_exec_program ()
   test -n \"\$absdir\" && thisdir=\"\$absdir\"    test -n \"\$absdir\" && thisdir=\"\$absdir\"
 "  "
   
        if test "$fast_install" = yes; then        if test yes = "$fast_install"; then
           $ECHO "\            $ECHO "\
   program=lt-'$outputname'$exeext    program=lt-'$outputname'$exeext
   progdir=\"\$thisdir/$objdir\"    progdir=\"\$thisdir/$objdir\"
   
   if test ! -f \"\$progdir/\$program\" ||    if test ! -f \"\$progdir/\$program\" ||
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then         test \"X\$file\" != \"X\$progdir/\$program\"; }; then
   
     file=\"\$\$-\$program\"      file=\"\$\$-\$program\"
Line 4101  func_exec_program () Line 5357  func_exec_program ()
         fi          fi
   
         # Export our shlibpath_var if we have one.          # Export our shlibpath_var if we have one.
        if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then        if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
           $ECHO "\            $ECHO "\
     # Add our own library path to $shlibpath_var      # Add our own library path to $shlibpath_var
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"      $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
Line 4121  func_exec_program () Line 5377  func_exec_program ()
     fi      fi
   else    else
     # The program doesn't exist.      # The program doesn't exist.
    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2      \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
     \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2      \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1      exit 1
Line 4140  func_emit_cwrapperexe_src () Line 5396  func_emit_cwrapperexe_src ()
         cat <<EOF          cat <<EOF
   
 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname  /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
   
    The $output program cannot be directly executed until all the libtool     The $output program cannot be directly executed until all the libtool
    libraries that it depends on are installed.     libraries that it depends on are installed.
Line 4175  EOF Line 5431  EOF
 #include <fcntl.h>  #include <fcntl.h>
 #include <sys/stat.h>  #include <sys/stat.h>
   
   #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
   
 /* declarations of non-ANSI functions */  /* declarations of non-ANSI functions */
#if defined(__MINGW32__)#if defined __MINGW32__
 # ifdef __STRICT_ANSI__  # ifdef __STRICT_ANSI__
 int _putenv (const char *);  int _putenv (const char *);
 # endif  # endif
#elif defined(__CYGWIN__)#elif defined __CYGWIN__
 # ifdef __STRICT_ANSI__  # ifdef __STRICT_ANSI__
 char *realpath (const char *, char *);  char *realpath (const char *, char *);
 int putenv (char *);  int putenv (char *);
 int setenv (const char *, const char *, int);  int setenv (const char *, const char *, int);
 # endif  # endif
/* #elif defined (other platforms) ... *//* #elif defined other_platform || defined ... */
 #endif  #endif
   
 /* portability defines, excluding path handling macros */  /* portability defines, excluding path handling macros */
#if defined(_MSC_VER)#if defined _MSC_VER
 # define setmode _setmode  # define setmode _setmode
 # define stat    _stat  # define stat    _stat
 # define chmod   _chmod  # define chmod   _chmod
 # define getcwd  _getcwd  # define getcwd  _getcwd
 # define putenv  _putenv  # define putenv  _putenv
 # define S_IXUSR _S_IEXEC  # define S_IXUSR _S_IEXEC
# ifndef _INTPTR_T_DEFINED#elif defined __MINGW32__
#  define _INTPTR_T_DEFINED 
#  define intptr_t int 
# endif 
#elif defined(__MINGW32__) 
 # define setmode _setmode  # define setmode _setmode
 # define stat    _stat  # define stat    _stat
 # define chmod   _chmod  # define chmod   _chmod
 # define getcwd  _getcwd  # define getcwd  _getcwd
 # define putenv  _putenv  # define putenv  _putenv
#elif defined(__CYGWIN__)#elif defined __CYGWIN__
 # define HAVE_SETENV  # define HAVE_SETENV
 # define FOPEN_WB "wb"  # define FOPEN_WB "wb"
/* #elif defined (other platforms) ... *//* #elif defined other platforms ... */
 #endif  #endif
   
#if defined(PATH_MAX)#if defined PATH_MAX
 # define LT_PATHMAX PATH_MAX  # define LT_PATHMAX PATH_MAX
#elif defined(MAXPATHLEN)#elif defined MAXPATHLEN
 # define LT_PATHMAX MAXPATHLEN  # define LT_PATHMAX MAXPATHLEN
 #else  #else
 # define LT_PATHMAX 1024  # define LT_PATHMAX 1024
Line 4234  int setenv (const char *, const char *, int); Line 5488  int setenv (const char *, const char *, int);
 # define PATH_SEPARATOR ':'  # define PATH_SEPARATOR ':'
 #endif  #endif
   
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
  defined (__OS2__)  defined __OS2__
 # define HAVE_DOS_BASED_FILE_SYSTEM  # define HAVE_DOS_BASED_FILE_SYSTEM
 # define FOPEN_WB "wb"  # define FOPEN_WB "wb"
 # ifndef DIR_SEPARATOR_2  # ifndef DIR_SEPARATOR_2
Line 4268  int setenv (const char *, const char *, int); Line 5522  int setenv (const char *, const char *, int);
   
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))  #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \  #define XFREE(stale) do { \
  if (stale) { free ((void *) stale); stale = 0; } \  if (stale) { free (stale); stale = 0; } \
 } while (0)  } while (0)
   
#if defined(LT_DEBUGWRAPPER)#if defined LT_DEBUGWRAPPER
 static int lt_debug = 1;  static int lt_debug = 1;
 #else  #else
 static int lt_debug = 0;  static int lt_debug = 0;
Line 4304  volatile const char * MAGIC_EXE = "$magic_exe"; Line 5558  volatile const char * MAGIC_EXE = "$magic_exe";
 const char * LIB_PATH_VARNAME = "$shlibpath_var";  const char * LIB_PATH_VARNAME = "$shlibpath_var";
 EOF  EOF
   
            if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then            if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
               func_to_host_path "$temp_rpath"                func_to_host_path "$temp_rpath"
               cat <<EOF                cat <<EOF
 const char * LIB_PATH_VALUE   = "$func_to_host_path_result";  const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
Line 4328  const char * EXE_PATH_VALUE   = ""; Line 5582  const char * EXE_PATH_VALUE   = "";
 EOF  EOF
             fi              fi
   
            if test "$fast_install" = yes; then            if test yes = "$fast_install"; then
               cat <<EOF                cat <<EOF
 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */  const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
 EOF  EOF
Line 4357  main (int argc, char *argv[]) Line 5611  main (int argc, char *argv[])
   char *actual_cwrapper_name;    char *actual_cwrapper_name;
   char *target_name;    char *target_name;
   char *lt_argv_zero;    char *lt_argv_zero;
  intptr_t rval = 127;  int rval = 127;
   
   int i;    int i;
   
   program_name = (char *) xstrdup (base_name (argv[0]));    program_name = (char *) xstrdup (base_name (argv[0]));
  newargz = XMALLOC (char *, argc + 1);  newargz = XMALLOC (char *, (size_t) argc + 1);
   
   /* very simple arg parsing; don't want to rely on getopt    /* very simple arg parsing; don't want to rely on getopt
    * also, copy all non cwrapper options to newargz, except     * also, copy all non cwrapper options to newargz, except
Line 4371  main (int argc, char *argv[]) Line 5625  main (int argc, char *argv[])
   newargc=0;    newargc=0;
   for (i = 1; i < argc; i++)    for (i = 1; i < argc; i++)
     {      {
      if (strcmp (argv[i], dumpscript_opt) == 0)      if (STREQ (argv[i], dumpscript_opt))
         {          {
 EOF  EOF
            case "$host" in            case $host in
               *mingw* | *cygwin* )                *mingw* | *cygwin* )
                 # make stdout use "unix" line endings                  # make stdout use "unix" line endings
                 echo "          setmode(1,_O_BINARY);"                  echo "          setmode(1,_O_BINARY);"
Line 4385  EOF Line 5639  EOF
           lt_dump_script (stdout);            lt_dump_script (stdout);
           return 0;            return 0;
         }          }
      if (strcmp (argv[i], debug_opt) == 0)      if (STREQ (argv[i], debug_opt))
         {          {
           lt_debug = 1;            lt_debug = 1;
           continue;            continue;
         }          }
      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)      if (STREQ (argv[i], ltwrapper_option_prefix))
         {          {
           /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX            /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
              namespace, but it is not one of the ones we know about and               namespace, but it is not one of the ones we know about and
Line 4413  EOF Line 5667  EOF
 EOF  EOF
             cat <<EOF              cat <<EOF
   /* The GNU banner must be the first non-error debug message */    /* The GNU banner must be the first non-error debug message */
  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
 EOF  EOF
             cat <<"EOF"              cat <<"EOF"
   lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);    lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
Line 4524  EOF Line 5778  EOF
                 cat <<"EOF"                  cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */    /* execv doesn't actually work on mingw as expected on unix */
   newargz = prepare_spawn (newargz);    newargz = prepare_spawn (newargz);
  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)    if (rval == -1)
     {      {
       /* failed to start process */        /* failed to start process */
Line 4569  base_name (const char *name) Line 5823  base_name (const char *name)
 {  {
   const char *base;    const char *base;
   
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)#if defined HAVE_DOS_BASED_FILE_SYSTEM
   /* Skip over the disk name in MSDOS pathnames. */    /* Skip over the disk name in MSDOS pathnames. */
   if (isalpha ((unsigned char) name[0]) && name[1] == ':')    if (isalpha ((unsigned char) name[0]) && name[1] == ':')
     name += 2;      name += 2;
Line 4628  find_executable (const char *wrapper) Line 5882  find_executable (const char *wrapper)
   const char *p_next;    const char *p_next;
   /* static buffer for getcwd */    /* static buffer for getcwd */
   char tmp[LT_PATHMAX + 1];    char tmp[LT_PATHMAX + 1];
  int tmp_len;  size_t tmp_len;
   char *concat_name;    char *concat_name;
   
   lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",    lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
Line 4638  find_executable (const char *wrapper) Line 5892  find_executable (const char *wrapper)
     return NULL;      return NULL;
   
   /* Absolute path? */    /* Absolute path? */
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)#if defined HAVE_DOS_BASED_FILE_SYSTEM
   if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')    if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
     {      {
       concat_name = xstrdup (wrapper);        concat_name = xstrdup (wrapper);
Line 4656  find_executable (const char *wrapper) Line 5910  find_executable (const char *wrapper)
             return concat_name;              return concat_name;
           XFREE (concat_name);            XFREE (concat_name);
         }          }
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)#if defined HAVE_DOS_BASED_FILE_SYSTEM
     }      }
 #endif  #endif
   
Line 4679  find_executable (const char *wrapper) Line 5933  find_executable (const char *wrapper)
               for (q = p; *q; q++)                for (q = p; *q; q++)
                 if (IS_PATH_SEPARATOR (*q))                  if (IS_PATH_SEPARATOR (*q))
                   break;                    break;
              p_len = q - p;              p_len = (size_t) (q - p);
               p_next = (*q == '\0' ? q : q + 1);                p_next = (*q == '\0' ? q : q + 1);
               if (p_len == 0)                if (p_len == 0)
                 {                  {
Line 4798  strendzap (char *str, const char *pat) Line 6052  strendzap (char *str, const char *pat)
   if (patlen <= len)    if (patlen <= len)
     {      {
       str += len - patlen;        str += len - patlen;
      if (strcmp (str, pat) == 0)      if (STREQ (str, pat))
         *str = '\0';          *str = '\0';
     }      }
   return str;    return str;
Line 4863  lt_setenv (const char *name, const char *value) Line 6117  lt_setenv (const char *name, const char *value)
     char *str = xstrdup (value);      char *str = xstrdup (value);
     setenv (name, str, 1);      setenv (name, str, 1);
 #else  #else
    int len = strlen (name) + 1 + strlen (value) + 1;    size_t len = strlen (name) + 1 + strlen (value) + 1;
     char *str = XMALLOC (char, len);      char *str = XMALLOC (char, len);
     sprintf (str, "%s=%s", name, value);      sprintf (str, "%s=%s", name, value);
     if (putenv (str) != EXIT_SUCCESS)      if (putenv (str) != EXIT_SUCCESS)
Line 4880  lt_extend_str (const char *orig_value, const char *add Line 6134  lt_extend_str (const char *orig_value, const char *add
   char *new_value;    char *new_value;
   if (orig_value && *orig_value)    if (orig_value && *orig_value)
     {      {
      int orig_value_len = strlen (orig_value);      size_t orig_value_len = strlen (orig_value);
      int add_len = strlen (add);      size_t add_len = strlen (add);
       new_value = XMALLOC (char, add_len + orig_value_len + 1);        new_value = XMALLOC (char, add_len + orig_value_len + 1);
       if (to_end)        if (to_end)
         {          {
Line 4912  lt_update_exe_path (const char *name, const char *valu Line 6166  lt_update_exe_path (const char *name, const char *valu
     {      {
       char *new_value = lt_extend_str (getenv (name), value, 0);        char *new_value = lt_extend_str (getenv (name), value, 0);
       /* some systems can't cope with a ':'-terminated path #' */        /* some systems can't cope with a ':'-terminated path #' */
      int len = strlen (new_value);      size_t len = strlen (new_value);
      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
         {          {
          new_value[len-1] = '\0';          new_value[--len] = '\0';
         }          }
       lt_setenv (name, new_value);        lt_setenv (name, new_value);
       XFREE (new_value);        XFREE (new_value);
Line 5082  EOF Line 6336  EOF
 # True if ARG is an import lib, as indicated by $file_magic_cmd  # True if ARG is an import lib, as indicated by $file_magic_cmd
 func_win32_import_lib_p ()  func_win32_import_lib_p ()
 {  {
    $opt_debug    $debug_cmd
 
     case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in      case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
     *import*) : ;;      *import*) : ;;
     *) false ;;      *) false ;;
Line 5092  func_win32_import_lib_p () Line 6347  func_win32_import_lib_p ()
 # func_mode_link arg...  # func_mode_link arg...
 func_mode_link ()  func_mode_link ()
 {  {
    $opt_debug    $debug_cmd
 
     case $host in      case $host in
     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)      *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
       # It is impossible to link a dll without this setting, and        # It is impossible to link a dll without this setting, and
       # we shouldn't force the makefile maintainer to figure out        # we shouldn't force the makefile maintainer to figure out
      # which system we are compiling for in order to pass an extra      # what system we are compiling for in order to pass an extra
       # flag for every libtool invocation.        # flag for every libtool invocation.
       # allow_undefined=no        # allow_undefined=no
   
       # FIXME: Unfortunately, there are problems with the above when trying        # FIXME: Unfortunately, there are problems with the above when trying
      # to make a dll which has undefined symbols, in which case not      # to make a dll that has undefined symbols, in which case not
       # even a static library is built.  For now, we need to specify        # even a static library is built.  For now, we need to specify
       # -no-undefined on the libtool link line when we can be certain        # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.        # that all symbols are satisfied, otherwise we get a static library.
Line 5149  func_mode_link () Line 6405  func_mode_link ()
     non_pic_objects=      non_pic_objects=
     precious_files_regex=      precious_files_regex=
     prefer_static_libs=no      prefer_static_libs=no
    preload=no    preload=false
     prev=      prev=
     prevarg=      prevarg=
     release=      release=
Line 5161  func_mode_link () Line 6417  func_mode_link ()
     vinfo=      vinfo=
     vinfo_number=no      vinfo_number=no
     weak_libs=      weak_libs=
    single_module="${wl}-single_module"    single_module=$wl-single_module
     func_infer_tag $base_compile      func_infer_tag $base_compile
   
     # We need to know -static, to get the right output filenames.      # We need to know -static, to get the right output filenames.
Line 5169  func_mode_link () Line 6425  func_mode_link ()
     do      do
       case $arg in        case $arg in
       -shared)        -shared)
        test "$build_libtool_libs" != yes && \        test yes != "$build_libtool_libs" \
          func_fatal_configuration "can not build a shared library"          && func_fatal_configuration "cannot build a shared library"
         build_old_libs=no          build_old_libs=no
         break          break
         ;;          ;;
       -all-static | -static | -static-libtool-libs)        -all-static | -static | -static-libtool-libs)
         case $arg in          case $arg in
         -all-static)          -all-static)
          if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then          if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
             func_warning "complete static linking is impossible in this configuration"              func_warning "complete static linking is impossible in this configuration"
           fi            fi
           if test -n "$link_static_flag"; then            if test -n "$link_static_flag"; then
Line 5210  func_mode_link () Line 6466  func_mode_link ()
   
     # Go through the arguments, transforming them on the way.      # Go through the arguments, transforming them on the way.
     while test "$#" -gt 0; do      while test "$#" -gt 0; do
      arg="$1"      arg=$1
       shift        shift
       func_quote_for_eval "$arg"        func_quote_for_eval "$arg"
       qarg=$func_quote_for_eval_unquoted_result        qarg=$func_quote_for_eval_unquoted_result
Line 5227  func_mode_link () Line 6483  func_mode_link ()
   
         case $prev in          case $prev in
         bindir)          bindir)
          bindir="$arg"          bindir=$arg
           prev=            prev=
           continue            continue
           ;;            ;;
         dlfiles|dlprefiles)          dlfiles|dlprefiles)
          if test "$preload" = no; then          $preload || {
             # Add the symbol object into the linking commands.              # Add the symbol object into the linking commands.
             func_append compile_command " @SYMFILE@"              func_append compile_command " @SYMFILE@"
             func_append finalize_command " @SYMFILE@"              func_append finalize_command " @SYMFILE@"
            preload=yes            preload=:
          fi          }
           case $arg in            case $arg in
           *.la | *.lo) ;;  # We handle these cases below.            *.la | *.lo) ;;  # We handle these cases below.
           force)            force)
            if test "$dlself" = no; then            if test no = "$dlself"; then
               dlself=needless                dlself=needless
               export_dynamic=yes                export_dynamic=yes
             fi              fi
Line 5249  func_mode_link () Line 6505  func_mode_link ()
             continue              continue
             ;;              ;;
           self)            self)
            if test "$prev" = dlprefiles; then            if test dlprefiles = "$prev"; then
               dlself=yes                dlself=yes
            elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then            elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
               dlself=yes                dlself=yes
             else              else
               dlself=needless                dlself=needless
Line 5261  func_mode_link () Line 6517  func_mode_link ()
             continue              continue
             ;;              ;;
           *)            *)
            if test "$prev" = dlfiles; then            if test dlfiles = "$prev"; then
               func_append dlfiles " $arg"                func_append dlfiles " $arg"
             else              else
               func_append dlprefiles " $arg"                func_append dlprefiles " $arg"
Line 5272  func_mode_link () Line 6528  func_mode_link ()
           esac            esac
           ;;            ;;
         expsyms)          expsyms)
          export_symbols="$arg"          export_symbols=$arg
           test -f "$arg" \            test -f "$arg" \
            || func_fatal_error "symbol file \`$arg' does not exist"            || func_fatal_error "symbol file '$arg' does not exist"
           prev=            prev=
           continue            continue
           ;;            ;;
         expsyms_regex)          expsyms_regex)
          export_symbols_regex="$arg"          export_symbols_regex=$arg
           prev=            prev=
           continue            continue
           ;;            ;;
Line 5297  func_mode_link () Line 6553  func_mode_link ()
           continue            continue
           ;;            ;;
         inst_prefix)          inst_prefix)
          inst_prefix_dir="$arg"          inst_prefix_dir=$arg
           prev=            prev=
           continue            continue
           ;;            ;;
           mllvm)
             # Clang does not use LLVM to link, so we can simply discard any
             # '-mllvm $arg' options when doing the link step.
             prev=
             continue
             ;;
         objectlist)          objectlist)
           if test -f "$arg"; then            if test -f "$arg"; then
             save_arg=$arg              save_arg=$arg
Line 5321  func_mode_link () Line 6583  func_mode_link ()
   
                 if test -z "$pic_object" ||                  if test -z "$pic_object" ||
                    test -z "$non_pic_object" ||                     test -z "$non_pic_object" ||
                   test "$pic_object" = none &&                   test none = "$pic_object" &&
                   test "$non_pic_object" = none; then                   test none = "$non_pic_object"; then
                  func_fatal_error "cannot find name of object for \`$arg'"                  func_fatal_error "cannot find name of object for '$arg'"
                 fi                  fi
   
                 # Extract subdirectory from the argument.                  # Extract subdirectory from the argument.
                 func_dirname "$arg" "/" ""                  func_dirname "$arg" "/" ""
                xdir="$func_dirname_result"                xdir=$func_dirname_result
   
                if test "$pic_object" != none; then                if test none != "$pic_object"; then
                   # Prepend the subdirectory the object is found in.                    # Prepend the subdirectory the object is found in.
                  pic_object="$xdir$pic_object"                  pic_object=$xdir$pic_object
   
                  if test "$prev" = dlfiles; then                  if test dlfiles = "$prev"; then
                    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then                    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                       func_append dlfiles " $pic_object"                        func_append dlfiles " $pic_object"
                       prev=                        prev=
                       continue                        continue
Line 5346  func_mode_link () Line 6608  func_mode_link ()
                   fi                    fi
   
                   # CHECK ME:  I think I busted this.  -Ossama                    # CHECK ME:  I think I busted this.  -Ossama
                  if test "$prev" = dlprefiles; then                  if test dlprefiles = "$prev"; then
                     # Preload the old-style object.                      # Preload the old-style object.
                     func_append dlprefiles " $pic_object"                      func_append dlprefiles " $pic_object"
                     prev=                      prev=
Line 5354  func_mode_link () Line 6616  func_mode_link ()
   
                   # A PIC object.                    # A PIC object.
                   func_append libobjs " $pic_object"                    func_append libobjs " $pic_object"
                  arg="$pic_object"                  arg=$pic_object
                 fi                  fi
   
                 # Non-PIC object.                  # Non-PIC object.
                if test "$non_pic_object" != none; then                if test none != "$non_pic_object"; then
                   # Prepend the subdirectory the object is found in.                    # Prepend the subdirectory the object is found in.
                  non_pic_object="$xdir$non_pic_object"                  non_pic_object=$xdir$non_pic_object
   
                   # A standard non-PIC object                    # A standard non-PIC object
                   func_append non_pic_objects " $non_pic_object"                    func_append non_pic_objects " $non_pic_object"
                  if test -z "$pic_object" || test "$pic_object" = none ; then                  if test -z "$pic_object" || test none = "$pic_object"; then
                    arg="$non_pic_object"                    arg=$non_pic_object
                   fi                    fi
                 else                  else
                   # If the PIC object exists, use it instead.                    # If the PIC object exists, use it instead.
                   # $xdir was prepended to $pic_object above.                    # $xdir was prepended to $pic_object above.
                  non_pic_object="$pic_object"                  non_pic_object=$pic_object
                   func_append non_pic_objects " $non_pic_object"                    func_append non_pic_objects " $non_pic_object"
                 fi                  fi
               else                else
Line 5378  func_mode_link () Line 6640  func_mode_link ()
                 if $opt_dry_run; then                  if $opt_dry_run; then
                   # Extract subdirectory from the argument.                    # Extract subdirectory from the argument.
                   func_dirname "$arg" "/" ""                    func_dirname "$arg" "/" ""
                  xdir="$func_dirname_result"                  xdir=$func_dirname_result
   
                   func_lo2o "$arg"                    func_lo2o "$arg"
                   pic_object=$xdir$objdir/$func_lo2o_result                    pic_object=$xdir$objdir/$func_lo2o_result
Line 5386  func_mode_link () Line 6648  func_mode_link ()
                   func_append libobjs " $pic_object"                    func_append libobjs " $pic_object"
                   func_append non_pic_objects " $non_pic_object"                    func_append non_pic_objects " $non_pic_object"
                 else                  else
                  func_fatal_error "\`$arg' is not a valid libtool object"                  func_fatal_error "'$arg' is not a valid libtool object"
                 fi                  fi
               fi                fi
             done              done
           else            else
            func_fatal_error "link input file \`$arg' does not exist"            func_fatal_error "link input file '$arg' does not exist"
           fi            fi
           arg=$save_arg            arg=$save_arg
           prev=            prev=
           continue            continue
           ;;            ;;
         precious_regex)          precious_regex)
          precious_files_regex="$arg"          precious_files_regex=$arg
           prev=            prev=
           continue            continue
           ;;            ;;
         release)          release)
          release="-$arg"          release=-$arg
           prev=            prev=
           continue            continue
           ;;            ;;
Line 5415  func_mode_link () Line 6677  func_mode_link ()
             func_fatal_error "only absolute run-paths are allowed"              func_fatal_error "only absolute run-paths are allowed"
             ;;              ;;
           esac            esac
          if test "$prev" = rpath; then          if test rpath = "$prev"; then
             case "$rpath " in              case "$rpath " in
             *" $arg "*) ;;              *" $arg "*) ;;
             *) func_append rpath " $arg" ;;              *) func_append rpath " $arg" ;;
Line 5430  func_mode_link () Line 6692  func_mode_link ()
           continue            continue
           ;;            ;;
         shrext)          shrext)
          shrext_cmds="$arg"          shrext_cmds=$arg
           prev=            prev=
           continue            continue
           ;;            ;;
Line 5470  func_mode_link () Line 6732  func_mode_link ()
         esac          esac
       fi # test -n "$prev"        fi # test -n "$prev"
   
      prevarg="$arg"      prevarg=$arg
   
       case $arg in        case $arg in
       -all-static)        -all-static)
Line 5484  func_mode_link () Line 6746  func_mode_link ()
   
       -allow-undefined)        -allow-undefined)
         # FIXME: remove this flag sometime in the future.          # FIXME: remove this flag sometime in the future.
        func_fatal_error "\`-allow-undefined' must not be used because it is the default"        func_fatal_error "'-allow-undefined' must not be used because it is the default"
         ;;          ;;
   
       -avoid-version)        -avoid-version)
Line 5516  func_mode_link () Line 6778  func_mode_link ()
         if test -n "$export_symbols" || test -n "$export_symbols_regex"; then          if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
           func_fatal_error "more than one -exported-symbols argument is not allowed"            func_fatal_error "more than one -exported-symbols argument is not allowed"
         fi          fi
        if test "X$arg" = "X-export-symbols"; then        if test X-export-symbols = "X$arg"; then
           prev=expsyms            prev=expsyms
         else          else
           prev=expsyms_regex            prev=expsyms_regex
Line 5550  func_mode_link () Line 6812  func_mode_link ()
         func_stripname "-L" '' "$arg"          func_stripname "-L" '' "$arg"
         if test -z "$func_stripname_result"; then          if test -z "$func_stripname_result"; then
           if test "$#" -gt 0; then            if test "$#" -gt 0; then
            func_fatal_error "require no space between \`-L' and \`$1'"            func_fatal_error "require no space between '-L' and '$1'"
           else            else
            func_fatal_error "need path for \`-L' option"            func_fatal_error "need path for '-L' option"
           fi            fi
         fi          fi
         func_resolve_sysroot "$func_stripname_result"          func_resolve_sysroot "$func_stripname_result"
Line 5563  func_mode_link () Line 6825  func_mode_link ()
         *)          *)
           absdir=`cd "$dir" && pwd`            absdir=`cd "$dir" && pwd`
           test -z "$absdir" && \            test -z "$absdir" && \
            func_fatal_error "cannot determine absolute directory name of \`$dir'"            func_fatal_error "cannot determine absolute directory name of '$dir'"
          dir="$absdir"          dir=$absdir
           ;;            ;;
         esac          esac
         case "$deplibs " in          case "$deplibs " in
Line 5599  func_mode_link () Line 6861  func_mode_link ()
         ;;          ;;
   
       -l*)        -l*)
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then        if test X-lc = "X$arg" || test X-lm = "X$arg"; then
           case $host in            case $host in
           *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)            *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
             # These systems don't actually have a C or math library (as such)              # These systems don't actually have a C or math library (as such)
Line 5607  func_mode_link () Line 6869  func_mode_link ()
             ;;              ;;
           *-*-os2*)            *-*-os2*)
             # These systems don't actually have a C library (as such)              # These systems don't actually have a C library (as such)
            test "X$arg" = "X-lc" && continue            test X-lc = "X$arg" && continue
             ;;              ;;
          *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)          *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
             # Do not include libc due to us having libc/libc_r.              # Do not include libc due to us having libc/libc_r.
            test "X$arg" = "X-lc" && continue            test X-lc = "X$arg" && continue
             ;;              ;;
           *-*-rhapsody* | *-*-darwin1.[012])            *-*-rhapsody* | *-*-darwin1.[012])
             # Rhapsody C and math libraries are in the System framework              # Rhapsody C and math libraries are in the System framework
Line 5620  func_mode_link () Line 6882  func_mode_link ()
             ;;              ;;
           *-*-sco3.2v5* | *-*-sco5v6*)            *-*-sco3.2v5* | *-*-sco5v6*)
             # Causes problems with __ctype              # Causes problems with __ctype
            test "X$arg" = "X-lc" && continue            test X-lc = "X$arg" && continue
             ;;              ;;
           *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)            *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
             # Compiler inserts libc in the correct place for threads to work              # Compiler inserts libc in the correct place for threads to work
            test "X$arg" = "X-lc" && continue            test X-lc = "X$arg" && continue
             ;;              ;;
           esac            esac
        elif test "X$arg" = "X-lc_r"; then        elif test X-lc_r = "X$arg"; then
          case $host in           case $host in
         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
            # Do not include libc_r directly, use -pthread flag.             # Do not include libc_r directly, use -pthread flag.
            continue             continue
            ;;             ;;
Line 5639  func_mode_link () Line 6901  func_mode_link ()
         continue          continue
         ;;          ;;
   
         -mllvm)
           prev=mllvm
           continue
           ;;
   
       -module)        -module)
         module=yes          module=yes
         continue          continue
Line 5668  func_mode_link () Line 6935  func_mode_link ()
         ;;          ;;
   
       -multi_module)        -multi_module)
        single_module="${wl}-multi_module"        single_module=$wl-multi_module
         continue          continue
         ;;          ;;
   
Line 5682  func_mode_link () Line 6949  func_mode_link ()
         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
           # The PATH hackery in wrapper scripts is required on Windows            # The PATH hackery in wrapper scripts is required on Windows
           # and Darwin in order for the loader to find any dlls it needs.            # and Darwin in order for the loader to find any dlls it needs.
          func_warning "\`-no-install' is ignored for $host"          func_warning "'-no-install' is ignored for $host"
          func_warning "assuming \`-no-fast-install' instead"          func_warning "assuming '-no-fast-install' instead"
           fast_install=no            fast_install=no
           ;;            ;;
         *) no_install=yes ;;          *) no_install=yes ;;
Line 5788  func_mode_link () Line 7055  func_mode_link ()
         func_stripname '-Wc,' '' "$arg"          func_stripname '-Wc,' '' "$arg"
         args=$func_stripname_result          args=$func_stripname_result
         arg=          arg=
        save_ifs="$IFS"; IFS=','        save_ifs=$IFS; IFS=,
         for flag in $args; do          for flag in $args; do
          IFS="$save_ifs"          IFS=$save_ifs
           func_quote_for_eval "$flag"            func_quote_for_eval "$flag"
           func_append arg " $func_quote_for_eval_result"            func_append arg " $func_quote_for_eval_result"
           func_append compiler_flags " $func_quote_for_eval_result"            func_append compiler_flags " $func_quote_for_eval_result"
         done          done
        IFS="$save_ifs"        IFS=$save_ifs
         func_stripname ' ' '' "$arg"          func_stripname ' ' '' "$arg"
         arg=$func_stripname_result          arg=$func_stripname_result
         ;;          ;;
Line 5804  func_mode_link () Line 7071  func_mode_link ()
         func_stripname '-Wl,' '' "$arg"          func_stripname '-Wl,' '' "$arg"
         args=$func_stripname_result          args=$func_stripname_result
         arg=          arg=
        save_ifs="$IFS"; IFS=','        save_ifs=$IFS; IFS=,
         for flag in $args; do          for flag in $args; do
          IFS="$save_ifs"          IFS=$save_ifs
           func_quote_for_eval "$flag"            func_quote_for_eval "$flag"
           func_append arg " $wl$func_quote_for_eval_result"            func_append arg " $wl$func_quote_for_eval_result"
           func_append compiler_flags " $wl$func_quote_for_eval_result"            func_append compiler_flags " $wl$func_quote_for_eval_result"
           func_append linker_flags " $func_quote_for_eval_result"            func_append linker_flags " $func_quote_for_eval_result"
         done          done
        IFS="$save_ifs"        IFS=$save_ifs
         func_stripname ' ' '' "$arg"          func_stripname ' ' '' "$arg"
         arg=$func_stripname_result          arg=$func_stripname_result
         ;;          ;;
Line 5835  func_mode_link () Line 7102  func_mode_link ()
       # -msg_* for osf cc        # -msg_* for osf cc
       -msg_*)        -msg_*)
         func_quote_for_eval "$arg"          func_quote_for_eval "$arg"
        arg="$func_quote_for_eval_result"        arg=$func_quote_for_eval_result
         ;;          ;;
   
       # Flags to be passed through unchanged, with rationale:        # Flags to be passed through unchanged, with rationale:
Line 5850  func_mode_link () Line 7117  func_mode_link ()
       # @file                GCC response files        # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection        # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support        # --sysroot=*          for sysroot support
      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
       # -stdlib=*            select c++ std lib with clang
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \        -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-stdlib=*)
         func_quote_for_eval "$arg"          func_quote_for_eval "$arg"
        arg="$func_quote_for_eval_result"        arg=$func_quote_for_eval_result
         func_append compile_command " $arg"          func_append compile_command " $arg"
         func_append finalize_command " $arg"          func_append finalize_command " $arg"
         func_append compiler_flags " $arg"          func_append compiler_flags " $arg"
Line 5865  func_mode_link () Line 7133  func_mode_link ()
       # Some other compiler flag.        # Some other compiler flag.
       -* | +*)        -* | +*)
         func_quote_for_eval "$arg"          func_quote_for_eval "$arg"
        arg="$func_quote_for_eval_result"        arg=$func_quote_for_eval_result
         ;;          ;;
   
       *.$objext)        *.$objext)
Line 5886  func_mode_link () Line 7154  func_mode_link ()
   
           if test -z "$pic_object" ||            if test -z "$pic_object" ||
              test -z "$non_pic_object" ||               test -z "$non_pic_object" ||
             test "$pic_object" = none &&             test none = "$pic_object" &&
             test "$non_pic_object" = none; then             test none = "$non_pic_object"; then
            func_fatal_error "cannot find name of object for \`$arg'"            func_fatal_error "cannot find name of object for '$arg'"
           fi            fi
   
           # Extract subdirectory from the argument.            # Extract subdirectory from the argument.
           func_dirname "$arg" "/" ""            func_dirname "$arg" "/" ""
          xdir="$func_dirname_result"          xdir=$func_dirname_result
   
          if test "$pic_object" != none; then          test none = "$pic_object" || {
             # Prepend the subdirectory the object is found in.              # Prepend the subdirectory the object is found in.
            pic_object="$xdir$pic_object"            pic_object=$xdir$pic_object
   
            if test "$prev" = dlfiles; then            if test dlfiles = "$prev"; then
              if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then              if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
                 func_append dlfiles " $pic_object"                  func_append dlfiles " $pic_object"
                 prev=                  prev=
                 continue                  continue
Line 5911  func_mode_link () Line 7179  func_mode_link ()
             fi              fi
   
             # CHECK ME:  I think I busted this.  -Ossama              # CHECK ME:  I think I busted this.  -Ossama
            if test "$prev" = dlprefiles; then            if test dlprefiles = "$prev"; then
               # Preload the old-style object.                # Preload the old-style object.
               func_append dlprefiles " $pic_object"                func_append dlprefiles " $pic_object"
               prev=                prev=
Line 5919  func_mode_link () Line 7187  func_mode_link ()
   
             # A PIC object.              # A PIC object.
             func_append libobjs " $pic_object"              func_append libobjs " $pic_object"
            arg="$pic_object"            arg=$pic_object
          fi          }
   
           # Non-PIC object.            # Non-PIC object.
          if test "$non_pic_object" != none; then          if test none != "$non_pic_object"; then
             # Prepend the subdirectory the object is found in.              # Prepend the subdirectory the object is found in.
            non_pic_object="$xdir$non_pic_object"            non_pic_object=$xdir$non_pic_object
   
             # A standard non-PIC object              # A standard non-PIC object
             func_append non_pic_objects " $non_pic_object"              func_append non_pic_objects " $non_pic_object"
            if test -z "$pic_object" || test "$pic_object" = none ; then            if test -z "$pic_object" || test none = "$pic_object"; then
              arg="$non_pic_object"              arg=$non_pic_object
             fi              fi
           else            else
             # If the PIC object exists, use it instead.              # If the PIC object exists, use it instead.
             # $xdir was prepended to $pic_object above.              # $xdir was prepended to $pic_object above.
            non_pic_object="$pic_object"            non_pic_object=$pic_object
             func_append non_pic_objects " $non_pic_object"              func_append non_pic_objects " $non_pic_object"
           fi            fi
         else          else
Line 5943  func_mode_link () Line 7211  func_mode_link ()
           if $opt_dry_run; then            if $opt_dry_run; then
             # Extract subdirectory from the argument.              # Extract subdirectory from the argument.
             func_dirname "$arg" "/" ""              func_dirname "$arg" "/" ""
            xdir="$func_dirname_result"            xdir=$func_dirname_result
   
             func_lo2o "$arg"              func_lo2o "$arg"
             pic_object=$xdir$objdir/$func_lo2o_result              pic_object=$xdir$objdir/$func_lo2o_result
Line 5951  func_mode_link () Line 7219  func_mode_link ()
             func_append libobjs " $pic_object"              func_append libobjs " $pic_object"
             func_append non_pic_objects " $non_pic_object"              func_append non_pic_objects " $non_pic_object"
           else            else
            func_fatal_error "\`$arg' is not a valid libtool object"            func_fatal_error "'$arg' is not a valid libtool object"
           fi            fi
         fi          fi
         ;;          ;;
Line 5967  func_mode_link () Line 7235  func_mode_link ()
         # A libtool-controlled library.          # A libtool-controlled library.
   
         func_resolve_sysroot "$arg"          func_resolve_sysroot "$arg"
        if test "$prev" = dlfiles; then        if test dlfiles = "$prev"; then
           # This library was specified with -dlopen.            # This library was specified with -dlopen.
           func_append dlfiles " $func_resolve_sysroot_result"            func_append dlfiles " $func_resolve_sysroot_result"
           prev=            prev=
        elif test "$prev" = dlprefiles; then        elif test dlprefiles = "$prev"; then
           # The library was specified with -dlpreopen.            # The library was specified with -dlpreopen.
           func_append dlprefiles " $func_resolve_sysroot_result"            func_append dlprefiles " $func_resolve_sysroot_result"
           prev=            prev=
Line 5986  func_mode_link () Line 7254  func_mode_link ()
         # Unknown arguments in both finalize_command and compile_command need          # Unknown arguments in both finalize_command and compile_command need
         # to be aesthetically quoted because they are evaled later.          # to be aesthetically quoted because they are evaled later.
         func_quote_for_eval "$arg"          func_quote_for_eval "$arg"
        arg="$func_quote_for_eval_result"        arg=$func_quote_for_eval_result
         ;;          ;;
       esac # arg        esac # arg
   
Line 5998  func_mode_link () Line 7266  func_mode_link ()
     done # argument parsing loop      done # argument parsing loop
   
     test -n "$prev" && \      test -n "$prev" && \
      func_fatal_help "the \`$prevarg' option requires an argument"      func_fatal_help "the '$prevarg' option requires an argument"
   
    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
       eval arg=\"$export_dynamic_flag_spec\"        eval arg=\"$export_dynamic_flag_spec\"
       func_append compile_command " $arg"        func_append compile_command " $arg"
       func_append finalize_command " $arg"        func_append finalize_command " $arg"
Line 6009  func_mode_link () Line 7277  func_mode_link ()
     oldlibs=      oldlibs=
     # calculate the name of the file, without its directory      # calculate the name of the file, without its directory
     func_basename "$output"      func_basename "$output"
    outputname="$func_basename_result"    outputname=$func_basename_result
    libobjs_save="$libobjs"    libobjs_save=$libobjs
   
     if test -n "$shlibpath_var"; then      if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var        # get the directories listed in $shlibpath_var
      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
     else      else
       shlib_search_path=        shlib_search_path=
     fi      fi
Line 6022  func_mode_link () Line 7290  func_mode_link ()
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"      eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
   
     func_dirname "$output" "/" ""      func_dirname "$output" "/" ""
    output_objdir="$func_dirname_result$objdir"    output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"      func_to_tool_file "$output_objdir/"
     tool_output_objdir=$func_to_tool_file_result      tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.      # Create the object directory.
Line 6045  func_mode_link () Line 7313  func_mode_link ()
     # Find all interdependent deplibs by searching for libraries      # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)      # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do      for deplib in $deplibs; do
      if $opt_preserve_dup_deps ; then      if $opt_preserve_dup_deps; then
         case "$libs " in          case "$libs " in
         *" $deplib "*) func_append specialdeplibs " $deplib" ;;          *" $deplib "*) func_append specialdeplibs " $deplib" ;;
         esac          esac
Line 6053  func_mode_link () Line 7321  func_mode_link ()
       func_append libs " $deplib"        func_append libs " $deplib"
     done      done
   
    if test "$linkmode" = lib; then    if test lib = "$linkmode"; then
       libs="$predeps $libs $compiler_lib_search_path $postdeps"        libs="$predeps $libs $compiler_lib_search_path $postdeps"
   
       # Compute libraries that are listed more than once in $predeps        # Compute libraries that are listed more than once in $predeps
Line 6085  func_mode_link () Line 7353  func_mode_link ()
           case $file in            case $file in
           *.la) ;;            *.la) ;;
           *)            *)
            func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"            func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
             ;;              ;;
           esac            esac
         done          done
Line 6093  func_mode_link () Line 7361  func_mode_link ()
     prog)      prog)
         compile_deplibs=          compile_deplibs=
         finalize_deplibs=          finalize_deplibs=
        alldeplibs=no        alldeplibs=false
         newdlfiles=          newdlfiles=
         newdlprefiles=          newdlprefiles=
         passes="conv scan dlopen dlpreopen link"          passes="conv scan dlopen dlpreopen link"
Line 6105  func_mode_link () Line 7373  func_mode_link ()
     for pass in $passes; do      for pass in $passes; do
       # The preopen pass in lib mode reverses $deplibs; put it back here        # The preopen pass in lib mode reverses $deplibs; put it back here
       # so that -L comes before libs that need it for instance...        # so that -L comes before libs that need it for instance...
      if test "$linkmode,$pass" = "lib,link"; then      if test lib,link = "$linkmode,$pass"; then
         ## FIXME: Find the place where the list is rebuilt in the wrong          ## FIXME: Find the place where the list is rebuilt in the wrong
         ##        order, and fix it there properly          ##        order, and fix it there properly
         tmp_deplibs=          tmp_deplibs=
         for deplib in $deplibs; do          for deplib in $deplibs; do
           tmp_deplibs="$deplib $tmp_deplibs"            tmp_deplibs="$deplib $tmp_deplibs"
         done          done
        deplibs="$tmp_deplibs"        deplibs=$tmp_deplibs
       fi        fi
   
      if test "$linkmode,$pass" = "lib,link" ||      if test lib,link = "$linkmode,$pass" ||
         test "$linkmode,$pass" = "prog,scan"; then         test prog,scan = "$linkmode,$pass"; then
        libs="$deplibs"        libs=$deplibs
         deplibs=          deplibs=
       fi        fi
      if test "$linkmode" = prog; then      if test prog = "$linkmode"; then
         case $pass in          case $pass in
        dlopen) libs="$dlfiles" ;;        dlopen) libs=$dlfiles ;;
        dlpreopen) libs="$dlprefiles" ;;        dlpreopen) libs=$dlprefiles ;;
         link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;          link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
         esac          esac
       fi        fi
      if test "$linkmode,$pass" = "lib,dlpreopen"; then      if test lib,dlpreopen = "$linkmode,$pass"; then
         # Collect and forward deplibs of preopened libtool libs          # Collect and forward deplibs of preopened libtool libs
         for lib in $dlprefiles; do          for lib in $dlprefiles; do
           # Ignore non-libtool-libs            # Ignore non-libtool-libs
Line 6148  func_mode_link () Line 7416  func_mode_link ()
             esac              esac
           done            done
         done          done
        libs="$dlprefiles"        libs=$dlprefiles
       fi        fi
      if test "$pass" = dlopen; then      if test dlopen = "$pass"; then
         # Collect dlpreopened libraries          # Collect dlpreopened libraries
        save_deplibs="$deplibs"        save_deplibs=$deplibs
         deplibs=          deplibs=
       fi        fi
   
       for deplib in $libs; do        for deplib in $libs; do
         lib=          lib=
        found=no        found=false
         case $deplib in          case $deplib in
         -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \          -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
         |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)          |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
          if test "$linkmode,$pass" = "prog,link"; then          if test prog,link = "$linkmode,$pass"; then
             compile_deplibs="$deplib $compile_deplibs"              compile_deplibs="$deplib $compile_deplibs"
             finalize_deplibs="$deplib $finalize_deplibs"              finalize_deplibs="$deplib $finalize_deplibs"
           else            else
             func_append compiler_flags " $deplib"              func_append compiler_flags " $deplib"
            if test "$linkmode" = lib ; then            if test lib = "$linkmode"; then
                 case "$new_inherited_linker_flags " in                  case "$new_inherited_linker_flags " in
                     *" $deplib "*) ;;                      *" $deplib "*) ;;
                     * ) func_append new_inherited_linker_flags " $deplib" ;;                      * ) func_append new_inherited_linker_flags " $deplib" ;;
Line 6177  func_mode_link () Line 7445  func_mode_link ()
           continue            continue
           ;;            ;;
         -l*)          -l*)
          if test "$linkmode" != lib && test "$linkmode" != prog; then          if test lib != "$linkmode" && test prog != "$linkmode"; then
            func_warning "\`-l' is ignored for archives/objects"            func_warning "'-l' is ignored for archives/objects"
             continue              continue
           fi            fi
           func_stripname '-l' '' "$deplib"            func_stripname '-l' '' "$deplib"
           name=$func_stripname_result            name=$func_stripname_result
          if test "$linkmode" = lib; then          if test lib = "$linkmode"; then
             searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"              searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
           else            else
             searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"              searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
Line 6191  func_mode_link () Line 7459  func_mode_link ()
           for searchdir in $searchdirs; do            for searchdir in $searchdirs; do
             for search_ext in .la $std_shrext .so .a; do              for search_ext in .la $std_shrext .so .a; do
               # Search the libtool library                # Search the libtool library
              lib="$searchdir/lib${name}${search_ext}"              lib=$searchdir/lib$name$search_ext
               if test -f "$lib"; then                if test -f "$lib"; then
                if test "$search_ext" = ".la"; then                if test .la = "$search_ext"; then
                  found=yes                  found=:
                 else                  else
                  found=no                  found=false
                 fi                  fi
                 break 2                  break 2
               fi                fi
             done              done
           done            done
          if test "$found" != yes; then          if $found; then
            # deplib doesn't seem to be a libtool library            # deplib is a libtool library
            if test "$linkmode,$pass" = "prog,link"; then 
              compile_deplibs="$deplib $compile_deplibs" 
              finalize_deplibs="$deplib $finalize_deplibs" 
            else 
              deplibs="$deplib $deplibs" 
              test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" 
            fi 
            continue 
          else # deplib is a libtool library 
             # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,              # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
             # We need to do some special things here, and not later.              # We need to do some special things here, and not later.
            if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then            if test yes = "$allow_libtool_libs_with_static_runtimes"; then
               case " $predeps $postdeps " in                case " $predeps $postdeps " in
               *" $deplib "*)                *" $deplib "*)
                 if func_lalib_p "$lib"; then                  if func_lalib_p "$lib"; then
Line 6223  func_mode_link () Line 7482  func_mode_link ()
                   old_library=                    old_library=
                   func_source "$lib"                    func_source "$lib"
                   for l in $old_library $library_names; do                    for l in $old_library $library_names; do
                    ll="$l"                    ll=$l
                   done                    done
                  if test "X$ll" = "X$old_library" ; then # only static version available                  if test "X$ll" = "X$old_library"; then # only static version available
                    found=no                    found=false
                     func_dirname "$lib" "" "."                      func_dirname "$lib" "" "."
                    ladir="$func_dirname_result"                    ladir=$func_dirname_result
                     lib=$ladir/$old_library                      lib=$ladir/$old_library
                    if test "$linkmode,$pass" = "prog,link"; then                    if test prog,link = "$linkmode,$pass"; then
                       compile_deplibs="$deplib $compile_deplibs"                        compile_deplibs="$deplib $compile_deplibs"
                       finalize_deplibs="$deplib $finalize_deplibs"                        finalize_deplibs="$deplib $finalize_deplibs"
                     else                      else
                       deplibs="$deplib $deplibs"                        deplibs="$deplib $deplibs"
                      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"                      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
                     fi                      fi
                     continue                      continue
                   fi                    fi
Line 6244  func_mode_link () Line 7503  func_mode_link ()
               *) ;;                *) ;;
               esac                esac
             fi              fi
             else
               # deplib doesn't seem to be a libtool library
               if test prog,link = "$linkmode,$pass"; then
                 compile_deplibs="$deplib $compile_deplibs"
                 finalize_deplibs="$deplib $finalize_deplibs"
               else
                 deplibs="$deplib $deplibs"
                 test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
               fi
               continue
           fi            fi
           ;; # -l            ;; # -l
         *.ltframework)          *.ltframework)
          if test "$linkmode,$pass" = "prog,link"; then          if test prog,link = "$linkmode,$pass"; then
             compile_deplibs="$deplib $compile_deplibs"              compile_deplibs="$deplib $compile_deplibs"
             finalize_deplibs="$deplib $finalize_deplibs"              finalize_deplibs="$deplib $finalize_deplibs"
           else            else
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
            if test "$linkmode" = lib ; then            if test lib = "$linkmode"; then
                 case "$new_inherited_linker_flags " in                  case "$new_inherited_linker_flags " in
                     *" $deplib "*) ;;                      *" $deplib "*) ;;
                     * ) func_append new_inherited_linker_flags " $deplib" ;;                      * ) func_append new_inherited_linker_flags " $deplib" ;;
Line 6265  func_mode_link () Line 7534  func_mode_link ()
           case $linkmode in            case $linkmode in
           lib)            lib)
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
            test "$pass" = conv && continue            test conv = "$pass" && continue
             newdependency_libs="$deplib $newdependency_libs"              newdependency_libs="$deplib $newdependency_libs"
             func_stripname '-L' '' "$deplib"              func_stripname '-L' '' "$deplib"
             func_resolve_sysroot "$func_stripname_result"              func_resolve_sysroot "$func_stripname_result"
             func_append newlib_search_path " $func_resolve_sysroot_result"              func_append newlib_search_path " $func_resolve_sysroot_result"
             ;;              ;;
           prog)            prog)
            if test "$pass" = conv; then            if test conv = "$pass"; then
               deplibs="$deplib $deplibs"                deplibs="$deplib $deplibs"
               continue                continue
             fi              fi
            if test "$pass" = scan; then            if test scan = "$pass"; then
               deplibs="$deplib $deplibs"                deplibs="$deplib $deplibs"
             else              else
               compile_deplibs="$deplib $compile_deplibs"                compile_deplibs="$deplib $compile_deplibs"
Line 6287  func_mode_link () Line 7556  func_mode_link ()
             func_append newlib_search_path " $func_resolve_sysroot_result"              func_append newlib_search_path " $func_resolve_sysroot_result"
             ;;              ;;
           *)            *)
            func_warning "\`-L' is ignored for archives/objects"            func_warning "'-L' is ignored for archives/objects"
             ;;              ;;
           esac # linkmode            esac # linkmode
           continue            continue
           ;; # -L            ;; # -L
         -R*)          -R*)
          if test "$pass" = link; then          if test link = "$pass"; then
             func_stripname '-R' '' "$deplib"              func_stripname '-R' '' "$deplib"
             func_resolve_sysroot "$func_stripname_result"              func_resolve_sysroot "$func_stripname_result"
             dir=$func_resolve_sysroot_result              dir=$func_resolve_sysroot_result
Line 6311  func_mode_link () Line 7580  func_mode_link ()
           lib=$func_resolve_sysroot_result            lib=$func_resolve_sysroot_result
           ;;            ;;
         *.$libext)          *.$libext)
          if test "$pass" = conv; then          if test conv = "$pass"; then
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
             continue              continue
           fi            fi
Line 6322  func_mode_link () Line 7591  func_mode_link ()
             case " $dlpreconveniencelibs " in              case " $dlpreconveniencelibs " in
             *" $deplib "*) ;;              *" $deplib "*) ;;
             *)              *)
              valid_a_lib=no              valid_a_lib=false
               case $deplibs_check_method in                case $deplibs_check_method in
                 match_pattern*)                  match_pattern*)
                   set dummy $deplibs_check_method; shift                    set dummy $deplibs_check_method; shift
                   match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`                    match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
                   if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \                    if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
                     | $EGREP "$match_pattern_regex" > /dev/null; then                      | $EGREP "$match_pattern_regex" > /dev/null; then
                    valid_a_lib=yes                    valid_a_lib=:
                   fi                    fi
                 ;;                  ;;
                 pass_all)                  pass_all)
                  valid_a_lib=yes                  valid_a_lib=:
                 ;;                  ;;
               esac                esac
              if test "$valid_a_lib" != yes; then              if $valid_a_lib; then
                 echo                  echo
                   $ECHO "*** Warning: Linking the shared library $output against the"
                   $ECHO "*** static library $deplib is not portable!"
                   deplibs="$deplib $deplibs"
                 else
                   echo
                 $ECHO "*** Warning: Trying to link with static lib archive $deplib."                  $ECHO "*** Warning: Trying to link with static lib archive $deplib."
                 echo "*** I have the capability to make that library automatically link in when"                  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 "*** 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 "*** 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 "*** 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."                  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                fi
               ;;                ;;
             esac              esac
             continue              continue
             ;;              ;;
           prog)            prog)
            if test "$pass" != link; then            if test link != "$pass"; then
               deplibs="$deplib $deplibs"                deplibs="$deplib $deplibs"
             else              else
               compile_deplibs="$deplib $compile_deplibs"                compile_deplibs="$deplib $compile_deplibs"
Line 6366  func_mode_link () Line 7635  func_mode_link ()
           esac # linkmode            esac # linkmode
           ;; # *.$libext            ;; # *.$libext
         *.lo | *.$objext)          *.lo | *.$objext)
          if test "$pass" = conv; then          if test conv = "$pass"; then
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
          elif test "$linkmode" = prog; then          elif test prog = "$linkmode"; then
            if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then            if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
               # If there is no dlopen support or we're linking statically,                # If there is no dlopen support or we're linking statically,
               # we need to preload.                # we need to preload.
               func_append newdlprefiles " $deplib"                func_append newdlprefiles " $deplib"
Line 6382  func_mode_link () Line 7651  func_mode_link ()
           continue            continue
           ;;            ;;
         %DEPLIBS%)          %DEPLIBS%)
          alldeplibs=yes          alldeplibs=:
           continue            continue
           ;;            ;;
         esac # case $deplib          esac # case $deplib
   
        if test "$found" = yes || test -f "$lib"; then :        $found || test -f "$lib" \
        else          || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
          func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" 
        fi 
   
         # Check to see that this really is a libtool archive.          # Check to see that this really is a libtool archive.
         func_lalib_unsafe_p "$lib" \          func_lalib_unsafe_p "$lib" \
          || func_fatal_error "\`$lib' is not a valid libtool archive"          || func_fatal_error "'$lib' is not a valid libtool archive"
   
         func_dirname "$lib" "" "."          func_dirname "$lib" "" "."
        ladir="$func_dirname_result"        ladir=$func_dirname_result
   
         dlname=          dlname=
         dlopen=          dlopen=
Line 6427  func_mode_link () Line 7694  func_mode_link ()
           done            done
         fi          fi
         dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`          dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
        if test "$linkmode,$pass" = "lib,link" ||        if test lib,link = "$linkmode,$pass" ||
           test "$linkmode,$pass" = "prog,scan" ||           test prog,scan = "$linkmode,$pass" ||
           { test "$linkmode" != prog && test "$linkmode" != lib; }; then           { test prog != "$linkmode" && test lib != "$linkmode"; }; then
           test -n "$dlopen" && func_append dlfiles " $dlopen"            test -n "$dlopen" && func_append dlfiles " $dlopen"
           test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"            test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
         fi          fi
   
        if test "$pass" = conv; then        if test conv = "$pass"; then
           # Only check for convenience libraries            # Only check for convenience libraries
           deplibs="$lib $deplibs"            deplibs="$lib $deplibs"
           if test -z "$libdir"; then            if test -z "$libdir"; then
             if test -z "$old_library"; then              if test -z "$old_library"; then
              func_fatal_error "cannot find name of link library for \`$lib'"              func_fatal_error "cannot find name of link library for '$lib'"
             fi              fi
             # It is a libtool convenience library, so add in its objects.              # It is a libtool convenience library, so add in its objects.
             func_append convenience " $ladir/$objdir/$old_library"              func_append convenience " $ladir/$objdir/$old_library"
             func_append old_convenience " $ladir/$objdir/$old_library"              func_append old_convenience " $ladir/$objdir/$old_library"
          elif test "$linkmode" != prog && test "$linkmode" != lib; then          elif test prog != "$linkmode" && test lib != "$linkmode"; then
            func_fatal_error "\`$lib' is not a convenience library"            func_fatal_error "'$lib' is not a convenience library"
           fi            fi
           tmp_libs=            tmp_libs=
           for deplib in $dependency_libs; do            for deplib in $dependency_libs; do
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
            if $opt_preserve_dup_deps ; then            if $opt_preserve_dup_deps; then
               case "$tmp_libs " in                case "$tmp_libs " in
               *" $deplib "*) func_append specialdeplibs " $deplib" ;;                *" $deplib "*) func_append specialdeplibs " $deplib" ;;
               esac                esac
Line 6464  func_mode_link () Line 7731  func_mode_link ()
         # Get the name of the library we link against.          # Get the name of the library we link against.
         linklib=          linklib=
         if test -n "$old_library" &&          if test -n "$old_library" &&
           { test "$prefer_static_libs" = yes ||           { test yes = "$prefer_static_libs" ||
             test "$prefer_static_libs,$installed" = "built,no"; }; then             test built,no = "$prefer_static_libs,$installed"; }; then
           linklib=$old_library            linklib=$old_library
         else          else
           for l in $old_library $library_names; do            for l in $old_library $library_names; do
            linklib="$l"            linklib=$l
           done            done
         fi          fi
         if test -z "$linklib"; then          if test -z "$linklib"; then
          func_fatal_error "cannot find name of link library for \`$lib'"          func_fatal_error "cannot find name of link library for '$lib'"
         fi          fi
   
         # This library was specified with -dlopen.          # This library was specified with -dlopen.
        if test "$pass" = dlopen; then        if test dlopen = "$pass"; then
          if test -z "$libdir"; then          test -z "$libdir" \
            func_fatal_error "cannot -dlopen a convenience library: \`$lib'"            && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
          fi 
           if test -z "$dlname" ||            if test -z "$dlname" ||
             test "$dlopen_support" != yes ||             test yes != "$dlopen_support" ||
             test "$build_libtool_libs" = no; then             test no = "$build_libtool_libs"
           then
             # If there is no dlname, no dlopen support or we're linking              # If there is no dlname, no dlopen support or we're linking
             # statically, we need to preload.  We also need to preload any              # statically, we need to preload.  We also need to preload any
             # dependent libraries so libltdl's deplib preloader doesn't              # dependent libraries so libltdl's deplib preloader doesn't
Line 6497  func_mode_link () Line 7764  func_mode_link ()
   
         # We need an absolute path.          # We need an absolute path.
         case $ladir in          case $ladir in
        [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;        [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
         *)          *)
           abs_ladir=`cd "$ladir" && pwd`            abs_ladir=`cd "$ladir" && pwd`
           if test -z "$abs_ladir"; then            if test -z "$abs_ladir"; then
            func_warning "cannot determine absolute directory name of \`$ladir'"            func_warning "cannot determine absolute directory name of '$ladir'"
             func_warning "passing it literally to the linker, although it might fail"              func_warning "passing it literally to the linker, although it might fail"
            abs_ladir="$ladir"            abs_ladir=$ladir
           fi            fi
           ;;            ;;
         esac          esac
         func_basename "$lib"          func_basename "$lib"
        laname="$func_basename_result"        laname=$func_basename_result
   
         # Find the relevant object directory and library name.          # Find the relevant object directory and library name.
        if test "X$installed" = Xyes; then        if test yes = "$installed"; then
           if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then            if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
            func_warning "library \`$lib' was moved."            func_warning "library '$lib' was moved."
            dir="$ladir"            dir=$ladir
            absdir="$abs_ladir"            absdir=$abs_ladir
            libdir="$abs_ladir"            libdir=$abs_ladir
           else            else
            dir="$lt_sysroot$libdir"            dir=$lt_sysroot$libdir
            absdir="$lt_sysroot$libdir"            absdir=$lt_sysroot$libdir
           fi            fi
          test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes          test yes = "$hardcode_automatic" && avoidtemprpath=yes
         else          else
           if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then            if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
            dir="$ladir"            dir=$ladir
            absdir="$abs_ladir"            absdir=$abs_ladir
             # Remove this search path later              # Remove this search path later
             func_append notinst_path " $abs_ladir"              func_append notinst_path " $abs_ladir"
           else            else
            dir="$ladir/$objdir"            dir=$ladir/$objdir
            absdir="$abs_ladir/$objdir"            absdir=$abs_ladir/$objdir
             # Remove this search path later              # Remove this search path later
             func_append notinst_path " $abs_ladir"              func_append notinst_path " $abs_ladir"
           fi            fi
Line 6539  func_mode_link () Line 7806  func_mode_link ()
         name=$func_stripname_result          name=$func_stripname_result
   
         # This library was specified with -dlpreopen.          # This library was specified with -dlpreopen.
        if test "$pass" = dlpreopen; then        if test dlpreopen = "$pass"; then
          if test -z "$libdir" && test "$linkmode" = prog; then          if test -z "$libdir" && test prog = "$linkmode"; then
            func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"            func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
           fi            fi
          case "$host" in          case $host in
             # special handling for platforms with PE-DLLs.              # special handling for platforms with PE-DLLs.
             *cygwin* | *mingw* | *cegcc* )              *cygwin* | *mingw* | *cegcc* )
               # Linker will automatically link against shared library if both                # Linker will automatically link against shared library if both
Line 6587  func_mode_link () Line 7854  func_mode_link ()
   
         if test -z "$libdir"; then          if test -z "$libdir"; then
           # Link the convenience library            # Link the convenience library
          if test "$linkmode" = lib; then          if test lib = "$linkmode"; then
             deplibs="$dir/$old_library $deplibs"              deplibs="$dir/$old_library $deplibs"
          elif test "$linkmode,$pass" = "prog,link"; then          elif test prog,link = "$linkmode,$pass"; then
             compile_deplibs="$dir/$old_library $compile_deplibs"              compile_deplibs="$dir/$old_library $compile_deplibs"
             finalize_deplibs="$dir/$old_library $finalize_deplibs"              finalize_deplibs="$dir/$old_library $finalize_deplibs"
           else            else
Line 6599  func_mode_link () Line 7866  func_mode_link ()
         fi          fi
   
   
        if test "$linkmode" = prog && test "$pass" != link; then        if test prog = "$linkmode" && test link != "$pass"; then
           func_append newlib_search_path " $ladir"            func_append newlib_search_path " $ladir"
           deplibs="$lib $deplibs"            deplibs="$lib $deplibs"
   
          linkalldeplibs=no          linkalldeplibs=false
          if test "$link_all_deplibs" != no || test -z "$library_names" ||          if test no != "$link_all_deplibs" || test -z "$library_names" ||
             test "$build_libtool_libs" = no; then             test no = "$build_libtool_libs"; then
            linkalldeplibs=yes            linkalldeplibs=:
           fi            fi
   
           tmp_libs=            tmp_libs=
Line 6618  func_mode_link () Line 7885  func_mode_link ()
                  ;;                   ;;
             esac              esac
             # Need to link against all dependency_libs?              # Need to link against all dependency_libs?
            if test "$linkalldeplibs" = yes; then            if $linkalldeplibs; then
               deplibs="$deplib $deplibs"                deplibs="$deplib $deplibs"
             else              else
               # Need to hardcode shared library paths                # Need to hardcode shared library paths
               # or/and link against static libraries                # or/and link against static libraries
               newdependency_libs="$deplib $newdependency_libs"                newdependency_libs="$deplib $newdependency_libs"
             fi              fi
            if $opt_preserve_dup_deps ; then            if $opt_preserve_dup_deps; then
               case "$tmp_libs " in                case "$tmp_libs " in
               *" $deplib "*) func_append specialdeplibs " $deplib" ;;                *" $deplib "*) func_append specialdeplibs " $deplib" ;;
               esac                esac
Line 6635  func_mode_link () Line 7902  func_mode_link ()
           continue            continue
         fi # $linkmode = prog...          fi # $linkmode = prog...
   
        if test "$linkmode,$pass" = "prog,link"; then        if test prog,link = "$linkmode,$pass"; then
           if test -n "$library_names" &&            if test -n "$library_names" &&
             { { test "$prefer_static_libs" = no ||             { { test no = "$prefer_static_libs" ||
                 test "$prefer_static_libs,$installed" = "built,yes"; } ||                 test built,yes = "$prefer_static_libs,$installed"; } ||
                test -z "$old_library"; }; then                 test -z "$old_library"; }; then
             # We need to hardcode the library path              # We need to hardcode the library path
            if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then            if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
               # Make sure the rpath contains only unique directories.                # Make sure the rpath contains only unique directories.
              case "$temp_rpath:" in              case $temp_rpath: in
               *"$absdir:"*) ;;                *"$absdir:"*) ;;
               *) func_append temp_rpath "$absdir:" ;;                *) func_append temp_rpath "$absdir:" ;;
               esac                esac
Line 6672  func_mode_link () Line 7939  func_mode_link ()
             esac              esac
           fi # $linkmode,$pass = prog,link...            fi # $linkmode,$pass = prog,link...
   
          if test "$alldeplibs" = yes &&          if $alldeplibs &&
             { test "$deplibs_check_method" = pass_all ||             { test pass_all = "$deplibs_check_method" ||
               { test "$build_libtool_libs" = yes &&               { test yes = "$build_libtool_libs" &&
                  test -n "$library_names"; }; }; then                   test -n "$library_names"; }; }; then
             # We only need to search for static libraries              # We only need to search for static libraries
             continue              continue
Line 6683  func_mode_link () Line 7950  func_mode_link ()
   
         link_static=no # Whether the deplib will be linked statically          link_static=no # Whether the deplib will be linked statically
         use_static_libs=$prefer_static_libs          use_static_libs=$prefer_static_libs
        if test "$use_static_libs" = built && test "$installed" = yes; then        if test built = "$use_static_libs" && test yes = "$installed"; then
           use_static_libs=no            use_static_libs=no
         fi          fi
         if test -n "$library_names" &&          if test -n "$library_names" &&
           { test "$use_static_libs" = no || test -z "$old_library"; }; then           { test no = "$use_static_libs" || test -z "$old_library"; }; then
           case $host in            case $host in
           *cygwin* | *mingw* | *cegcc*)            *cygwin* | *mingw* | *cegcc*)
               # No point in relinking DLLs because paths are not encoded                # No point in relinking DLLs because paths are not encoded
Line 6695  func_mode_link () Line 7962  func_mode_link ()
               need_relink=no                need_relink=no
             ;;              ;;
           *)            *)
            if test "$installed" = no; then            if test no = "$installed"; then
               func_append notinst_deplibs " $lib"                func_append notinst_deplibs " $lib"
               need_relink=yes                need_relink=yes
             fi              fi
Line 6705  func_mode_link () Line 7972  func_mode_link ()
   
           # Warn about portability, can't link against -module's on some            # Warn about portability, can't link against -module's on some
           # systems (darwin).  Don't bleat about dlopened modules though!            # systems (darwin).  Don't bleat about dlopened modules though!
          dlopenmodule=""          dlopenmodule=
           for dlpremoduletest in $dlprefiles; do            for dlpremoduletest in $dlprefiles; do
             if test "X$dlpremoduletest" = "X$lib"; then              if test "X$dlpremoduletest" = "X$lib"; then
              dlopenmodule="$dlpremoduletest"              dlopenmodule=$dlpremoduletest
               break                break
             fi              fi
           done            done
          if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then          if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
             echo              echo
            if test "$linkmode" = prog; then            if test prog = "$linkmode"; then
               $ECHO "*** Warning: Linking the executable $output against the loadable module"                $ECHO "*** Warning: Linking the executable $output against the loadable module"
             else              else
               $ECHO "*** Warning: Linking the shared library $output against the loadable module"                $ECHO "*** Warning: Linking the shared library $output against the loadable module"
             fi              fi
             $ECHO "*** $linklib is not portable!"              $ECHO "*** $linklib is not portable!"
           fi            fi
          if test "$linkmode" = lib &&          if test lib = "$linkmode" &&
             test "$hardcode_into_libs" = yes; then             test yes = "$hardcode_into_libs"; then
             # Hardcode the library path.              # Hardcode the library path.
             # Skip directories that are in the system default run-time              # Skip directories that are in the system default run-time
             # search path.              # search path.
Line 6750  func_mode_link () Line 8017  func_mode_link ()
             # figure out the soname              # figure out the soname
             set dummy $library_names              set dummy $library_names
             shift              shift
            realname="$1"            realname=$1
             shift              shift
             libname=`eval "\\$ECHO \"$libname_spec\""`              libname=`eval "\\$ECHO \"$libname_spec\""`
             # use dlname if we got it. it's perfectly good, no?              # use dlname if we got it. it's perfectly good, no?
             if test -n "$dlname"; then              if test -n "$dlname"; then
              soname="$dlname"              soname=$dlname
             elif test -n "$soname_spec"; then              elif test -n "$soname_spec"; then
               # bleh windows                # bleh windows
               case $host in                case $host in
               *cygwin* | mingw* | *cegcc*)                *cygwin* | mingw* | *cegcc*)
                 func_arith $current - $age                  func_arith $current - $age
                 major=$func_arith_result                  major=$func_arith_result
                versuffix="-$major"                versuffix=-$major
                 ;;                  ;;
               esac                esac
               eval soname=\"$soname_spec\"                eval soname=\"$soname_spec\"
             else              else
              soname="$realname"              soname=$realname
             fi              fi
   
             # Make a new name for the extract_expsyms_cmds to use              # Make a new name for the extract_expsyms_cmds to use
            soroot="$soname"            soroot=$soname
             func_basename "$soroot"              func_basename "$soroot"
            soname="$func_basename_result"            soname=$func_basename_result
             func_stripname 'lib' '.dll' "$soname"              func_stripname 'lib' '.dll' "$soname"
             newlib=libimp-$func_stripname_result.a              newlib=libimp-$func_stripname_result.a
   
             # If the library has no export list, then create one now              # If the library has no export list, then create one now
             if test -f "$output_objdir/$soname-def"; then :              if test -f "$output_objdir/$soname-def"; then :
             else              else
              func_verbose "extracting exported symbol list from \`$soname'"              func_verbose "extracting exported symbol list from '$soname'"
               func_execute_cmds "$extract_expsyms_cmds" 'exit $?'                func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
             fi              fi
   
             # Create $newlib              # Create $newlib
             if test -f "$output_objdir/$newlib"; then :; else              if test -f "$output_objdir/$newlib"; then :; else
              func_verbose "generating import library for \`$soname'"              func_verbose "generating import library for '$soname'"
               func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'                func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
             fi              fi
             # make sure the library variables are pointing to the new library              # make sure the library variables are pointing to the new library
Line 6794  func_mode_link () Line 8061  func_mode_link ()
             linklib=$newlib              linklib=$newlib
           fi # test -n "$old_archive_from_expsyms_cmds"            fi # test -n "$old_archive_from_expsyms_cmds"
   
          if test "$linkmode" = prog || test "$opt_mode" != relink; then          if test prog = "$linkmode" || test relink != "$opt_mode"; then
             add_shlibpath=              add_shlibpath=
             add_dir=              add_dir=
             add=              add=
             lib_linked=yes              lib_linked=yes
             case $hardcode_action in              case $hardcode_action in
             immediate | unsupported)              immediate | unsupported)
              if test "$hardcode_direct" = no; then              if test no = "$hardcode_direct"; then
                add="$dir/$linklib"                add=$dir/$linklib
                 case $host in                  case $host in
                  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;                  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
                  *-*-sysv4*uw2*) add_dir="-L$dir" ;;                  *-*-sysv4*uw2*) add_dir=-L$dir ;;
                   *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \                    *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
                    *-*-unixware7*) add_dir="-L$dir" ;;                    *-*-unixware7*) add_dir=-L$dir ;;
                   *-*-darwin* )                    *-*-darwin* )
                    # if the lib is a (non-dlopened) module then we can not                    # if the lib is a (non-dlopened) module then we cannot
                     # link against it, someone is ignoring the earlier warnings                      # link against it, someone is ignoring the earlier warnings
                     if /usr/bin/file -L $add 2> /dev/null |                      if /usr/bin/file -L $add 2> /dev/null |
                         $GREP ": [^:]* bundle" >/dev/null ; then                         $GREP ": [^:]* bundle" >/dev/null; then
                       if test "X$dlopenmodule" != "X$lib"; then                        if test "X$dlopenmodule" != "X$lib"; then
                         $ECHO "*** Warning: lib $linklib is a module, not a shared library"                          $ECHO "*** Warning: lib $linklib is a module, not a shared library"
                        if test -z "$old_library" ; then                        if test -z "$old_library"; then
                           echo                            echo
                           echo "*** And there doesn't seem to be a static archive available"                            echo "*** And there doesn't seem to be a static archive available"
                           echo "*** The link will probably fail, sorry"                            echo "*** The link will probably fail, sorry"
                         else                          else
                          add="$dir/$old_library"                          add=$dir/$old_library
                         fi                          fi
                       elif test -n "$old_library"; then                        elif test -n "$old_library"; then
                        add="$dir/$old_library"                        add=$dir/$old_library
                       fi                        fi
                     fi                      fi
                 esac                  esac
              elif test "$hardcode_minus_L" = no; then              elif test no = "$hardcode_minus_L"; then
                 case $host in                  case $host in
                *-*-sunos*) add_shlibpath="$dir" ;;                *-*-sunos*) add_shlibpath=$dir ;;
                 esac                  esac
                add_dir="-L$dir"                add_dir=-L$dir
                add="-l$name"                add=-l$name
              elif test "$hardcode_shlibpath_var" = no; then              elif test no = "$hardcode_shlibpath_var"; then
                add_shlibpath="$dir"                add_shlibpath=$dir
                add="-l$name"                add=-l$name
               else                else
                 lib_linked=no                  lib_linked=no
               fi                fi
               ;;                ;;
             relink)              relink)
              if test "$hardcode_direct" = yes &&              if test yes = "$hardcode_direct" &&
                 test "$hardcode_direct_absolute" = no; then                 test no = "$hardcode_direct_absolute"; then
                add="$dir/$linklib"                add=$dir/$linklib
              elif test "$hardcode_minus_L" = yes; then              elif test yes = "$hardcode_minus_L"; then
                add_dir="-L$absdir"                add_dir=-L$absdir
                 # Try looking first in the location we're being installed to.                  # Try looking first in the location we're being installed to.
                 if test -n "$inst_prefix_dir"; then                  if test -n "$inst_prefix_dir"; then
                   case $libdir in                    case $libdir in
Line 6854  func_mode_link () Line 8121  func_mode_link ()
                       ;;                        ;;
                   esac                    esac
                 fi                  fi
                add="-l$name"                add=-l$name
              elif test "$hardcode_shlibpath_var" = yes; then              elif test yes = "$hardcode_shlibpath_var"; then
                add_shlibpath="$dir"                add_shlibpath=$dir
                add="-l$name"                add=-l$name
               else                else
                 lib_linked=no                  lib_linked=no
               fi                fi
Line 6865  func_mode_link () Line 8132  func_mode_link ()
             *) lib_linked=no ;;              *) lib_linked=no ;;
             esac              esac
   
            if test "$lib_linked" != yes; then            if test yes != "$lib_linked"; then
               func_fatal_configuration "unsupported hardcode properties"                func_fatal_configuration "unsupported hardcode properties"
             fi              fi
   
Line 6875  func_mode_link () Line 8142  func_mode_link ()
               *) func_append compile_shlibpath "$add_shlibpath:" ;;                *) func_append compile_shlibpath "$add_shlibpath:" ;;
               esac                esac
             fi              fi
            if test "$linkmode" = prog; then            if test prog = "$linkmode"; then
               test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"                test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
               test -n "$add" && compile_deplibs="$add $compile_deplibs"                test -n "$add" && compile_deplibs="$add $compile_deplibs"
             else              else
               test -n "$add_dir" && deplibs="$add_dir $deplibs"                test -n "$add_dir" && deplibs="$add_dir $deplibs"
               test -n "$add" && deplibs="$add $deplibs"                test -n "$add" && deplibs="$add $deplibs"
              if test "$hardcode_direct" != yes &&              if test yes != "$hardcode_direct" &&
                 test "$hardcode_minus_L" != yes &&                 test yes != "$hardcode_minus_L" &&
                 test "$hardcode_shlibpath_var" = yes; then                 test yes = "$hardcode_shlibpath_var"; then
                 case :$finalize_shlibpath: in                  case :$finalize_shlibpath: in
                 *":$libdir:"*) ;;                  *":$libdir:"*) ;;
                 *) func_append finalize_shlibpath "$libdir:" ;;                  *) func_append finalize_shlibpath "$libdir:" ;;
Line 6892  func_mode_link () Line 8159  func_mode_link ()
             fi              fi
           fi            fi
   
          if test "$linkmode" = prog || test "$opt_mode" = relink; then          if test prog = "$linkmode" || test relink = "$opt_mode"; then
             add_shlibpath=              add_shlibpath=
             add_dir=              add_dir=
             add=              add=
             # Finalize command for both is simple: just hardcode it.              # Finalize command for both is simple: just hardcode it.
            if test "$hardcode_direct" = yes &&            if test yes = "$hardcode_direct" &&
               test "$hardcode_direct_absolute" = no; then               test no = "$hardcode_direct_absolute"; then
              add="$libdir/$linklib"              add=$libdir/$linklib
            elif test "$hardcode_minus_L" = yes; then            elif test yes = "$hardcode_minus_L"; then
              add_dir="-L$libdir"              add_dir=-L$libdir
              add="-l$name"              add=-l$name
            elif test "$hardcode_shlibpath_var" = yes; then            elif test yes = "$hardcode_shlibpath_var"; then
               case :$finalize_shlibpath: in                case :$finalize_shlibpath: in
               *":$libdir:"*) ;;                *":$libdir:"*) ;;
               *) func_append finalize_shlibpath "$libdir:" ;;                *) func_append finalize_shlibpath "$libdir:" ;;
               esac                esac
              add="-l$name"              add=-l$name
            elif test "$hardcode_automatic" = yes; then            elif test yes = "$hardcode_automatic"; then
               if test -n "$inst_prefix_dir" &&                if test -n "$inst_prefix_dir" &&
                 test -f "$inst_prefix_dir$libdir/$linklib" ; then                 test -f "$inst_prefix_dir$libdir/$linklib"; then
                add="$inst_prefix_dir$libdir/$linklib"                add=$inst_prefix_dir$libdir/$linklib
               else                else
                add="$libdir/$linklib"                add=$libdir/$linklib
               fi                fi
             else              else
               # We cannot seem to hardcode it, guess we'll fake it.                # We cannot seem to hardcode it, guess we'll fake it.
              add_dir="-L$libdir"              add_dir=-L$libdir
               # Try looking first in the location we're being installed to.                # Try looking first in the location we're being installed to.
               if test -n "$inst_prefix_dir"; then                if test -n "$inst_prefix_dir"; then
                 case $libdir in                  case $libdir in
Line 6927  func_mode_link () Line 8194  func_mode_link ()
                     ;;                      ;;
                 esac                  esac
               fi                fi
              add="-l$name"              add=-l$name
             fi              fi
   
            if test "$linkmode" = prog; then            if test prog = "$linkmode"; then
               test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"                test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
               test -n "$add" && finalize_deplibs="$add $finalize_deplibs"                test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
             else              else
Line 6938  func_mode_link () Line 8205  func_mode_link ()
               test -n "$add" && deplibs="$add $deplibs"                test -n "$add" && deplibs="$add $deplibs"
             fi              fi
           fi            fi
        elif test "$linkmode" = prog; then        elif test prog = "$linkmode"; then
           # Here we assume that one of hardcode_direct or hardcode_minus_L            # Here we assume that one of hardcode_direct or hardcode_minus_L
           # is not unsupported.  This is valid on all known static and            # is not unsupported.  This is valid on all known static and
           # shared platforms.            # shared platforms.
          if test "$hardcode_direct" != unsupported; then          if test unsupported != "$hardcode_direct"; then
            test -n "$old_library" && linklib="$old_library"            test -n "$old_library" && linklib=$old_library
             compile_deplibs="$dir/$linklib $compile_deplibs"              compile_deplibs="$dir/$linklib $compile_deplibs"
             finalize_deplibs="$dir/$linklib $finalize_deplibs"              finalize_deplibs="$dir/$linklib $finalize_deplibs"
           else            else
             compile_deplibs="-l$name -L$dir $compile_deplibs"              compile_deplibs="-l$name -L$dir $compile_deplibs"
             finalize_deplibs="-l$name -L$dir $finalize_deplibs"              finalize_deplibs="-l$name -L$dir $finalize_deplibs"
           fi            fi
        elif test "$build_libtool_libs" = yes; then        elif test yes = "$build_libtool_libs"; then
           # Not a shared library            # Not a shared library
          if test "$deplibs_check_method" != pass_all; then          if test pass_all != "$deplibs_check_method"; then
             # We're trying link a shared library against a static one              # We're trying link a shared library against a static one
             # but the system doesn't support it.              # but the system doesn't support it.
   
             # Just print a warning and add the library to dependency_libs so              # Just print a warning and add the library to dependency_libs so
             # that the program can be linked against the static library.              # that the program can be linked against the static library.
             echo              echo
            $ECHO "*** Warning: This system can not link to static lib archive $lib."            $ECHO "*** Warning: This system cannot link to static lib archive $lib."
             echo "*** I have the capability to make that library automatically link in when"              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 "*** 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 "*** shared version of the library, which you do not appear to have."
            if test "$module" = yes; then            if test yes = "$module"; then
               echo "*** But as you try to build a module library, libtool will still create "                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 "*** 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 "*** is linked with the -dlopen flag to resolve symbols at runtime."
               if test -z "$global_symbol_pipe"; then                if test -z "$global_symbol_pipe"; then
                 echo                  echo
                 echo "*** However, this would only work if libtool was able to extract symbol"                  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 "*** lists from a program, using 'nm' or equivalent, but libtool could"
                 echo "*** not find such a program.  So, this module is probably useless."                  echo "*** not find such a program.  So, this module is probably useless."
                echo "*** \`nm' from GNU binutils and a full rebuild may help."                echo "*** 'nm' from GNU binutils and a full rebuild may help."
               fi                fi
              if test "$build_old_libs" = no; then              if test no = "$build_old_libs"; then
                 build_libtool_libs=module                  build_libtool_libs=module
                 build_old_libs=yes                  build_old_libs=yes
               else                else
Line 6987  func_mode_link () Line 8254  func_mode_link ()
           fi            fi
         fi # link shared/static library?          fi # link shared/static library?
   
        if test "$linkmode" = lib; then        if test lib = "$linkmode"; then
           if test -n "$dependency_libs" &&            if test -n "$dependency_libs" &&
             { test "$hardcode_into_libs" != yes ||             { test yes != "$hardcode_into_libs" ||
               test "$build_old_libs" = yes ||               test yes = "$build_old_libs" ||
               test "$link_static" = yes; }; then               test yes = "$link_static"; }; then
             # Extract -R from dependency_libs              # Extract -R from dependency_libs
             temp_deplibs=              temp_deplibs=
             for libdir in $dependency_libs; do              for libdir in $dependency_libs; do
Line 7005  func_mode_link () Line 8272  func_mode_link ()
               *) func_append temp_deplibs " $libdir";;                *) func_append temp_deplibs " $libdir";;
               esac                esac
             done              done
            dependency_libs="$temp_deplibs"            dependency_libs=$temp_deplibs
           fi            fi
   
           func_append newlib_search_path " $absdir"            func_append newlib_search_path " $absdir"
           # Link against this library            # Link against this library
          test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"          test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
           # ... and its dependency_libs            # ... and its dependency_libs
           tmp_libs=            tmp_libs=
           for deplib in $dependency_libs; do            for deplib in $dependency_libs; do
Line 7020  func_mode_link () Line 8287  func_mode_link ()
                    func_resolve_sysroot "$func_stripname_result";;                     func_resolve_sysroot "$func_stripname_result";;
               *) func_resolve_sysroot "$deplib" ;;                *) func_resolve_sysroot "$deplib" ;;
             esac              esac
            if $opt_preserve_dup_deps ; then            if $opt_preserve_dup_deps; then
               case "$tmp_libs " in                case "$tmp_libs " in
               *" $func_resolve_sysroot_result "*)                *" $func_resolve_sysroot_result "*)
                 func_append specialdeplibs " $func_resolve_sysroot_result" ;;                  func_append specialdeplibs " $func_resolve_sysroot_result" ;;
Line 7029  func_mode_link () Line 8296  func_mode_link ()
             func_append tmp_libs " $func_resolve_sysroot_result"              func_append tmp_libs " $func_resolve_sysroot_result"
           done            done
   
          if test "$link_all_deplibs" != no; then          if test no != "$link_all_deplibs"; then
             # Add the search paths of all dependency libraries              # Add the search paths of all dependency libraries
             for deplib in $dependency_libs; do              for deplib in $dependency_libs; do
               path=                path=
               case $deplib in                case $deplib in
              -L*) path="$deplib" ;;              -L*) path=$deplib ;;
               *.la)                *.la)
                 func_resolve_sysroot "$deplib"                  func_resolve_sysroot "$deplib"
                 deplib=$func_resolve_sysroot_result                  deplib=$func_resolve_sysroot_result
Line 7042  func_mode_link () Line 8309  func_mode_link ()
                 dir=$func_dirname_result                  dir=$func_dirname_result
                 # We need an absolute path.                  # We need an absolute path.
                 case $dir in                  case $dir in
                [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;                [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
                 *)                  *)
                   absdir=`cd "$dir" && pwd`                    absdir=`cd "$dir" && pwd`
                   if test -z "$absdir"; then                    if test -z "$absdir"; then
                    func_warning "cannot determine absolute directory name of \`$dir'"                    func_warning "cannot determine absolute directory name of '$dir'"
                    absdir="$dir"                    absdir=$dir
                   fi                    fi
                   ;;                    ;;
                 esac                  esac
Line 7055  func_mode_link () Line 8322  func_mode_link ()
                 case $host in                  case $host in
                 *-*-darwin*)                  *-*-darwin*)
                   depdepl=                    depdepl=
                  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`                  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
                  if test -n "$deplibrary_names" ; then                  if test -n "$deplibrary_names"; then
                    for tmp in $deplibrary_names ; do                    for tmp in $deplibrary_names; do
                       depdepl=$tmp                        depdepl=$tmp
                     done                      done
                    if test -f "$absdir/$objdir/$depdepl" ; then                    if test -f "$absdir/$objdir/$depdepl"; then
                      depdepl="$absdir/$objdir/$depdepl"                      depdepl=$absdir/$objdir/$depdepl
                      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`                      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                       if test -z "$darwin_install_name"; then                        if test -z "$darwin_install_name"; then
                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi                        fi
                      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"                      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
                      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"                      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
                       path=                        path=
                     fi                      fi
                   fi                    fi
                   ;;                    ;;
                 *)                  *)
                  path="-L$absdir/$objdir"                  path=-L$absdir/$objdir
                   ;;                    ;;
                 esac                  esac
                 else                  else
                  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`                  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
                   test -z "$libdir" && \                    test -z "$libdir" && \
                    func_fatal_error "\`$deplib' is not a valid libtool archive"                    func_fatal_error "'$deplib' is not a valid libtool archive"
                   test "$absdir" != "$libdir" && \                    test "$absdir" != "$libdir" && \
                    func_warning "\`$deplib' seems to be moved"                    func_warning "'$deplib' seems to be moved"
   
                  path="-L$absdir"                  path=-L$absdir
                 fi                  fi
                 ;;                  ;;
               esac                esac
Line 7095  func_mode_link () Line 8362  func_mode_link ()
           fi # link_all_deplibs != no            fi # link_all_deplibs != no
         fi # linkmode = lib          fi # linkmode = lib
       done # for deplib in $libs        done # for deplib in $libs
      if test "$pass" = link; then      if test link = "$pass"; then
        if test "$linkmode" = "prog"; then        if test prog = "$linkmode"; then
           compile_deplibs="$new_inherited_linker_flags $compile_deplibs"            compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
           finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"            finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
         else          else
           compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`            compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
         fi          fi
       fi        fi
      dependency_libs="$newdependency_libs"      dependency_libs=$newdependency_libs
      if test "$pass" = dlpreopen; then      if test dlpreopen = "$pass"; then
         # Link the dlpreopened libraries before other libraries          # Link the dlpreopened libraries before other libraries
         for deplib in $save_deplibs; do          for deplib in $save_deplibs; do
           deplibs="$deplib $deplibs"            deplibs="$deplib $deplibs"
         done          done
       fi        fi
      if test "$pass" != dlopen; then      if test dlopen != "$pass"; then
        if test "$pass" != conv; then        test conv = "$pass" || {
           # Make sure lib_search_path contains only unique directories.            # Make sure lib_search_path contains only unique directories.
           lib_search_path=            lib_search_path=
           for dir in $newlib_search_path; do            for dir in $newlib_search_path; do
Line 7121  func_mode_link () Line 8388  func_mode_link ()
             esac              esac
           done            done
           newlib_search_path=            newlib_search_path=
        fi        }
   
        if test "$linkmode,$pass" != "prog,link"; then        if test prog,link = "$linkmode,$pass"; then
          vars="deplibs" 
        else 
           vars="compile_deplibs finalize_deplibs"            vars="compile_deplibs finalize_deplibs"
           else
             vars=deplibs
         fi          fi
         for var in $vars dependency_libs; do          for var in $vars dependency_libs; do
           # Add libraries to $var in reverse order            # Add libraries to $var in reverse order
Line 7187  func_mode_link () Line 8454  func_mode_link ()
       # Last step: remove runtime libs from dependency_libs        # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)        # (they stay in deplibs)
       tmp_libs=        tmp_libs=
      for i in $dependency_libs ; do      for i in $dependency_libs; do
         case " $predeps $postdeps $compiler_lib_search_path " in          case " $predeps $postdeps $compiler_lib_search_path " in
         *" $i "*)          *" $i "*)
          i=""          i=
           ;;            ;;
         esac          esac
        if test -n "$i" ; then        if test -n "$i"; then
           func_append tmp_libs " $i"            func_append tmp_libs " $i"
         fi          fi
       done        done
       dependency_libs=$tmp_libs        dependency_libs=$tmp_libs
     done # for pass      done # for pass
    if test "$linkmode" = prog; then    if test prog = "$linkmode"; then
      dlfiles="$newdlfiles"      dlfiles=$newdlfiles
     fi      fi
    if test "$linkmode" = prog || test "$linkmode" = lib; then    if test prog = "$linkmode" || test lib = "$linkmode"; then
      dlprefiles="$newdlprefiles"      dlprefiles=$newdlprefiles
     fi      fi
   
     case $linkmode in      case $linkmode in
     oldlib)      oldlib)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
        func_warning "\`-dlopen' is ignored for archives"        func_warning "'-dlopen' is ignored for archives"
       fi        fi
   
       case " $deplibs" in        case " $deplibs" in
       *\ -l* | *\ -L*)        *\ -l* | *\ -L*)
        func_warning "\`-l' and \`-L' are ignored for archives" ;;        func_warning "'-l' and '-L' are ignored for archives" ;;
       esac        esac
   
       test -n "$rpath" && \        test -n "$rpath" && \
        func_warning "\`-rpath' is ignored for archives"        func_warning "'-rpath' is ignored for archives"
   
       test -n "$xrpath" && \        test -n "$xrpath" && \
        func_warning "\`-R' is ignored for archives"        func_warning "'-R' is ignored for archives"
   
       test -n "$vinfo" && \        test -n "$vinfo" && \
        func_warning "\`-version-info/-version-number' is ignored for archives"        func_warning "'-version-info/-version-number' is ignored for archives"
   
       test -n "$release" && \        test -n "$release" && \
        func_warning "\`-release' is ignored for archives"        func_warning "'-release' is ignored for archives"
   
       test -n "$export_symbols$export_symbols_regex" && \        test -n "$export_symbols$export_symbols_regex" && \
        func_warning "\`-export-symbols' is ignored for archives"        func_warning "'-export-symbols' is ignored for archives"
   
       # Now set the variables for building old libraries.        # Now set the variables for building old libraries.
       build_libtool_libs=no        build_libtool_libs=no
      oldlibs="$output"      oldlibs=$output
       func_append objs "$old_deplibs"        func_append objs "$old_deplibs"
       ;;        ;;
   
     lib)      lib)
      # Make sure we only generate libraries of the form `libNAME.la'.      # Make sure we only generate libraries of the form 'libNAME.la'.
       case $outputname in        case $outputname in
       lib*)        lib*)
         func_stripname 'lib' '.la' "$outputname"          func_stripname 'lib' '.la' "$outputname"
Line 7248  func_mode_link () Line 8515  func_mode_link ()
         eval libname=\"$libname_spec\"          eval libname=\"$libname_spec\"
         ;;          ;;
       *)        *)
        test "$module" = no && \        test no = "$module" \
          func_fatal_help "libtool library \`$output' must begin with \`lib'"          && func_fatal_help "libtool library '$output' must begin with 'lib'"
   
        if test "$need_lib_prefix" != no; then        if test no != "$need_lib_prefix"; then
           # Add the "lib" prefix for modules if required            # Add the "lib" prefix for modules if required
           func_stripname '' '.la' "$outputname"            func_stripname '' '.la' "$outputname"
           name=$func_stripname_result            name=$func_stripname_result
Line 7265  func_mode_link () Line 8532  func_mode_link ()
       esac        esac
   
       if test -n "$objs"; then        if test -n "$objs"; then
        if test "$deplibs_check_method" != pass_all; then        if test pass_all != "$deplibs_check_method"; then
          func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"          func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
         else          else
           echo            echo
           $ECHO "*** Warning: Linking the shared library $output against the non-libtool"            $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
Line 7275  func_mode_link () Line 8542  func_mode_link ()
         fi          fi
       fi        fi
   
      test "$dlself" != no && \      test no = "$dlself" \
        func_warning "\`-dlopen self' is ignored for libtool libraries"        || func_warning "'-dlopen self' is ignored for libtool libraries"
   
       set dummy $rpath        set dummy $rpath
       shift        shift
      test "$#" -gt 1 && \      test 1 -lt "$#" \
        func_warning "ignoring multiple \`-rpath's for a libtool library"        && func_warning "ignoring multiple '-rpath's for a libtool library"
   
      install_libdir="$1"      install_libdir=$1
   
       oldlibs=        oldlibs=
       if test -z "$rpath"; then        if test -z "$rpath"; then
        if test "$build_libtool_libs" = yes; then        if test yes = "$build_libtool_libs"; then
           # Building a libtool convenience library.            # Building a libtool convenience library.
          # Some compilers have problems with a `.al' extension so          # Some compilers have problems with a '.al' extension so
           # convenience libraries should have the same extension an            # convenience libraries should have the same extension an
           # archive normally would.            # archive normally would.
           oldlibs="$output_objdir/$libname.$libext $oldlibs"            oldlibs="$output_objdir/$libname.$libext $oldlibs"
Line 7298  func_mode_link () Line 8565  func_mode_link ()
         fi          fi
   
         test -n "$vinfo" && \          test -n "$vinfo" && \
          func_warning "\`-version-info/-version-number' is ignored for convenience libraries"          func_warning "'-version-info/-version-number' is ignored for convenience libraries"
   
         test -n "$release" && \          test -n "$release" && \
          func_warning "\`-release' is ignored for convenience libraries"          func_warning "'-release' is ignored for convenience libraries"
       else        else
   
         # Parse the version information argument.          # Parse the version information argument.
        save_ifs="$IFS"; IFS=':'        save_ifs=$IFS; IFS=:
         set dummy $vinfo 0 0 0          set dummy $vinfo 0 0 0
         shift          shift
        IFS="$save_ifs"        IFS=$save_ifs
   
         test -n "$7" && \          test -n "$7" && \
          func_fatal_help "too many parameters to \`-version-info'"          func_fatal_help "too many parameters to '-version-info'"
   
         # convert absolute version numbers to libtool ages          # convert absolute version numbers to libtool ages
         # this retains compatibility with .la files and attempts          # this retains compatibility with .la files and attempts
Line 7319  func_mode_link () Line 8586  func_mode_link ()
   
         case $vinfo_number in          case $vinfo_number in
         yes)          yes)
          number_major="$1"          number_major=$1
          number_minor="$2"          number_minor=$2
          number_revision="$3"          number_revision=$3
           #            #
           # There are really only two kinds -- those that            # There are really only two kinds -- those that
           # use the current revision as the major version            # use the current revision as the major version
           # and those that subtract age and use age as            # and those that subtract age and use age as
           # a minor version.  But, then there is irix            # a minor version.  But, then there is irix
          # which has an extra 1 added just for fun          # that has an extra 1 added just for fun
           #            #
           case $version_type in            case $version_type in
           # correct linux to gnu/linux during the next big refactor            # correct linux to gnu/linux during the next big refactor
           darwin|linux|osf|windows|none)            darwin|linux|osf|windows|none)
             func_arith $number_major + $number_minor              func_arith $number_major + $number_minor
             current=$func_arith_result              current=$func_arith_result
            age="$number_minor"            age=$number_minor
            revision="$number_revision"            revision=$number_revision
             ;;              ;;
           freebsd-aout|freebsd-elf|qnx|sunos)            freebsd-aout|freebsd-elf|qnx|sunos)
            current="$number_major"            current=$number_major
            revision="$number_minor"            revision=$number_minor
            age="0"            age=0
             ;;              ;;
           irix|nonstopux)            irix|nonstopux)
             func_arith $number_major + $number_minor              func_arith $number_major + $number_minor
             current=$func_arith_result              current=$func_arith_result
            age="$number_minor"            age=$number_minor
            revision="$number_minor"            revision=$number_minor
             lt_irix_increment=no              lt_irix_increment=no
             ;;              ;;
           esac            esac
           ;;            ;;
         no)          no)
          current="$1"          current=$1
          revision="$2"          revision=$2
          age="$3"          age=$3
           ;;            ;;
         esac          esac
   
Line 7362  func_mode_link () Line 8629  func_mode_link ()
         case $current in          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]) ;;          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_error "CURRENT '$current' must be a nonnegative integer"
          func_fatal_error "\`$vinfo' is not valid version information"          func_fatal_error "'$vinfo' is not valid version information"
           ;;            ;;
         esac          esac
   
         case $revision in          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]) ;;          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_error "REVISION '$revision' must be a nonnegative integer"
          func_fatal_error "\`$vinfo' is not valid version information"          func_fatal_error "'$vinfo' is not valid version information"
           ;;            ;;
         esac          esac
   
         case $age in          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]) ;;          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_error "AGE '$age' must be a nonnegative integer"
          func_fatal_error "\`$vinfo' is not valid version information"          func_fatal_error "'$vinfo' is not valid version information"
           ;;            ;;
         esac          esac
   
         if test "$age" -gt "$current"; then          if test "$age" -gt "$current"; then
          func_error "AGE \`$age' is greater than the current interface number \`$current'"          func_error "AGE '$age' is greater than the current interface number '$current'"
          func_fatal_error "\`$vinfo' is not valid version information"          func_fatal_error "'$vinfo' is not valid version information"
         fi          fi
   
         # Calculate the version variables.          # Calculate the version variables.
Line 7400  func_mode_link () Line 8667  func_mode_link ()
           # verstring for coding it into the library header            # verstring for coding it into the library header
           func_arith $current - $age            func_arith $current - $age
           major=.$func_arith_result            major=.$func_arith_result
          versuffix="$major.$age.$revision"          versuffix=$major.$age.$revision
           # Darwin ld doesn't like 0 for these options...            # Darwin ld doesn't like 0 for these options...
           func_arith $current + 1            func_arith $current + 1
           minor_current=$func_arith_result            minor_current=$func_arith_result
          xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"          xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
           verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"            verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
             # On Darwin other compilers
             case $CC in
                 nagfor*)
                     verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
                     ;;
                 *)
                     verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
                     ;;
             esac
           ;;            ;;
   
         freebsd-aout)          freebsd-aout)
          major=".$current"          major=.$current
          versuffix=".$current.$revision";          versuffix=.$current.$revision
           ;;            ;;
   
         freebsd-elf)          freebsd-elf)
          major=".$current"          major=.$current
          versuffix=".$current"          versuffix=.$current
           ;;            ;;
   
         irix | nonstopux)          irix | nonstopux)
          if test "X$lt_irix_increment" = "Xno"; then          if test no = "$lt_irix_increment"; then
             func_arith $current - $age              func_arith $current - $age
           else            else
             func_arith $current - $age + 1              func_arith $current - $age + 1
Line 7430  func_mode_link () Line 8706  func_mode_link ()
             nonstopux) verstring_prefix=nonstopux ;;              nonstopux) verstring_prefix=nonstopux ;;
             *)         verstring_prefix=sgi ;;              *)         verstring_prefix=sgi ;;
           esac            esac
          verstring="$verstring_prefix$major.$revision"          verstring=$verstring_prefix$major.$revision
   
           # Add in all the interfaces that we are compatible with.            # Add in all the interfaces that we are compatible with.
           loop=$revision            loop=$revision
          while test "$loop" -ne 0; do          while test 0 -ne "$loop"; do
             func_arith $revision - $loop              func_arith $revision - $loop
             iface=$func_arith_result              iface=$func_arith_result
             func_arith $loop - 1              func_arith $loop - 1
             loop=$func_arith_result              loop=$func_arith_result
            verstring="$verstring_prefix$major.$iface:$verstring"            verstring=$verstring_prefix$major.$iface:$verstring
           done            done
   
          # Before this point, $major must not contain `.'.          # Before this point, $major must not contain '.'.
           major=.$major            major=.$major
          versuffix="$major.$revision"          versuffix=$major.$revision
           ;;            ;;
   
         linux) # correct to gnu/linux during the next big refactor          linux) # correct to gnu/linux during the next big refactor
           func_arith $current - $age            func_arith $current - $age
           major=.$func_arith_result            major=.$func_arith_result
          versuffix="$major.$age.$revision"          versuffix=$major.$age.$revision
           ;;            ;;
   
         osf)          osf)
           func_arith $current - $age            func_arith $current - $age
           major=.$func_arith_result            major=.$func_arith_result
          versuffix=".$current.$age.$revision"          versuffix=.$current.$age.$revision
          verstring="$current.$age.$revision"          verstring=$current.$age.$revision
   
           # Add in all the interfaces that we are compatible with.            # Add in all the interfaces that we are compatible with.
           loop=$age            loop=$age
          while test "$loop" -ne 0; do          while test 0 -ne "$loop"; do
             func_arith $current - $loop              func_arith $current - $loop
             iface=$func_arith_result              iface=$func_arith_result
             func_arith $loop - 1              func_arith $loop - 1
             loop=$func_arith_result              loop=$func_arith_result
            verstring="$verstring:${iface}.0"            verstring=$verstring:$iface.0
           done            done
   
           # Make executables depend on our current version.            # Make executables depend on our current version.
          func_append verstring ":${current}.0"          func_append verstring ":$current.0"
           ;;            ;;
   
         qnx)          qnx)
          major=".$current"          major=.$current
          versuffix=".$current"          versuffix=.$current
           ;;            ;;
   
         sunos)          sunos)
          major=".$current"          major=.$current
          versuffix=".$current.$revision"          versuffix=.$current.$revision
           ;;            ;;
   
         windows)          windows)
           # Use '-' rather than '.', since we only want one            # Use '-' rather than '.', since we only want one
          # extension on DOS 8.3 filesystems.          # extension on DOS 8.3 file systems.
           func_arith $current - $age            func_arith $current - $age
           major=$func_arith_result            major=$func_arith_result
          versuffix="-$major"          versuffix=-$major
           ;;            ;;
   
         *)          *)
          func_fatal_configuration "unknown library version type \`$version_type'"          func_fatal_configuration "unknown library version type '$version_type'"
           ;;            ;;
         esac          esac
   
Line 7506  func_mode_link () Line 8782  func_mode_link ()
             verstring=              verstring=
             ;;              ;;
           *)            *)
            verstring="0.0"            verstring=0.0
             ;;              ;;
           esac            esac
          if test "$need_version" = no; then          if test no = "$need_version"; then
             versuffix=              versuffix=
           else            else
            versuffix=".0.0"            versuffix=.0.0
           fi            fi
         fi          fi
   
         # Remove version info from name if versioning should be avoided          # Remove version info from name if versioning should be avoided
        if test "$avoid_version" = yes && test "$need_version" = no; then        if test yes,no = "$avoid_version,$need_version"; then
           major=            major=
           versuffix=            versuffix=
          verstring=""          verstring=
         fi          fi
   
         # Check to see if the archive will have undefined symbols.          # Check to see if the archive will have undefined symbols.
        if test "$allow_undefined" = yes; then        if test yes = "$allow_undefined"; then
          if test "$allow_undefined_flag" = unsupported; then          if test unsupported = "$allow_undefined_flag"; then
            func_warning "undefined symbols not allowed in $host shared libraries"            if test yes = "$build_old_libs"; then
            build_libtool_libs=no              func_warning "undefined symbols not allowed in $host shared libraries; building static only"
            build_old_libs=yes              build_libtool_libs=no
             else
               func_fatal_error "can't build $host shared library unless -no-undefined is specified"
             fi
           fi            fi
         else          else
           # Don't allow undefined symbols.            # Don't allow undefined symbols.
          allow_undefined_flag="$no_undefined_flag"          allow_undefined_flag=$no_undefined_flag
         fi          fi
   
       fi        fi
   
      func_generate_dlsyms "$libname" "$libname" "yes"      func_generate_dlsyms "$libname" "$libname" :
       func_append libobjs " $symfileobj"        func_append libobjs " $symfileobj"
      test "X$libobjs" = "X " && libobjs=      test " " = "$libobjs" && libobjs=
   
      if test "$opt_mode" != relink; then      if test relink != "$opt_mode"; then
         # Remove our outputs, but don't remove object files since they          # Remove our outputs, but don't remove object files since they
         # may have been created when compiling PIC objects.          # may have been created when compiling PIC objects.
         removelist=          removelist=
Line 7550  func_mode_link () Line 8829  func_mode_link ()
           case $p in            case $p in
             *.$objext | *.gcno)              *.$objext | *.gcno)
                ;;                 ;;
            $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)            $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
               if test "X$precious_files_regex" != "X"; then               if test -n "$precious_files_regex"; then
                  if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1                   if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
                  then                   then
                    continue                     continue
Line 7567  func_mode_link () Line 8846  func_mode_link ()
       fi        fi
   
       # Now set the variables for building old libraries.        # Now set the variables for building old libraries.
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
         func_append oldlibs " $output_objdir/$libname.$libext"          func_append oldlibs " $output_objdir/$libname.$libext"
   
         # Transform .lo files to .o files.          # Transform .lo files to .o files.
        oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`        oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
       fi        fi
   
       # Eliminate all temporary directories.        # Eliminate all temporary directories.
Line 7592  func_mode_link () Line 8871  func_mode_link ()
           *) func_append finalize_rpath " $libdir" ;;            *) func_append finalize_rpath " $libdir" ;;
           esac            esac
         done          done
        if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then        if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
           dependency_libs="$temp_xrpath $dependency_libs"            dependency_libs="$temp_xrpath $dependency_libs"
         fi          fi
       fi        fi
   
       # Make sure dlfiles contains only unique files that won't be dlpreopened        # Make sure dlfiles contains only unique files that won't be dlpreopened
      old_dlfiles="$dlfiles"      old_dlfiles=$dlfiles
       dlfiles=        dlfiles=
       for lib in $old_dlfiles; do        for lib in $old_dlfiles; do
         case " $dlprefiles $dlfiles " in          case " $dlprefiles $dlfiles " in
Line 7608  func_mode_link () Line 8887  func_mode_link ()
       done        done
   
       # Make sure dlprefiles contains only unique files        # Make sure dlprefiles contains only unique files
      old_dlprefiles="$dlprefiles"      old_dlprefiles=$dlprefiles
       dlprefiles=        dlprefiles=
       for lib in $old_dlprefiles; do        for lib in $old_dlprefiles; do
         case "$dlprefiles " in          case "$dlprefiles " in
Line 7617  func_mode_link () Line 8896  func_mode_link ()
         esac          esac
       done        done
   
      if test "$build_libtool_libs" = yes; then      if test yes = "$build_libtool_libs"; then
         if test -n "$rpath"; then          if test -n "$rpath"; then
           case $host in            case $host in
           *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)            *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
Line 7641  func_mode_link () Line 8920  func_mode_link ()
             ;;              ;;
           *)            *)
             # Add libc to deplibs on all other systems if necessary.              # Add libc to deplibs on all other systems if necessary.
            if test "$build_libtool_need_lc" = "yes"; then            if test yes = "$build_libtool_need_lc"; then
               func_append deplibs " -lc"                func_append deplibs " -lc"
             fi              fi
             ;;              ;;
Line 7657  func_mode_link () Line 8936  func_mode_link ()
         # I'm not sure if I'm treating the release correctly.  I think          # I'm not sure if I'm treating the release correctly.  I think
         # release should show up in the -l (ie -lgmp5) so we don't want to          # release should show up in the -l (ie -lgmp5) so we don't want to
         # add it in twice.  Is that correct?          # add it in twice.  Is that correct?
        release=""        release=
        versuffix=""        versuffix=
        major=""        major=
         newdeplibs=          newdeplibs=
         droppeddeps=no          droppeddeps=no
         case $deplibs_check_method in          case $deplibs_check_method in
Line 7688  EOF Line 8967  EOF
               -l*)                -l*)
                 func_stripname -l '' "$i"                  func_stripname -l '' "$i"
                 name=$func_stripname_result                  name=$func_stripname_result
                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                   case " $predeps $postdeps " in                    case " $predeps $postdeps " in
                   *" $i "*)                    *" $i "*)
                     func_append newdeplibs " $i"                      func_append newdeplibs " $i"
                    i=""                    i=
                     ;;                      ;;
                   esac                    esac
                 fi                  fi
                if test -n "$i" ; then                if test -n "$i"; then
                   libname=`eval "\\$ECHO \"$libname_spec\""`                    libname=`eval "\\$ECHO \"$libname_spec\""`
                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`                    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                   set dummy $deplib_matches; shift                    set dummy $deplib_matches; shift
                   deplib_match=$1                    deplib_match=$1
                  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then                  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                     func_append newdeplibs " $i"                      func_append newdeplibs " $i"
                   else                    else
                     droppeddeps=yes                      droppeddeps=yes
Line 7731  EOF Line 9010  EOF
                 $opt_dry_run || $RM conftest                  $opt_dry_run || $RM conftest
                 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then                  if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
                   ldd_output=`ldd conftest`                    ldd_output=`ldd conftest`
                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                     case " $predeps $postdeps " in                      case " $predeps $postdeps " in
                     *" $i "*)                      *" $i "*)
                       func_append newdeplibs " $i"                        func_append newdeplibs " $i"
                      i=""                      i=
                       ;;                        ;;
                     esac                      esac
                   fi                    fi
                  if test -n "$i" ; then                  if test -n "$i"; then
                     libname=`eval "\\$ECHO \"$libname_spec\""`                      libname=`eval "\\$ECHO \"$libname_spec\""`
                     deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`                      deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
                     set dummy $deplib_matches; shift                      set dummy $deplib_matches; shift
                     deplib_match=$1                      deplib_match=$1
                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
                       func_append newdeplibs " $i"                        func_append newdeplibs " $i"
                     else                      else
                       droppeddeps=yes                        droppeddeps=yes
Line 7781  EOF Line 9060  EOF
             -l*)              -l*)
               func_stripname -l '' "$a_deplib"                func_stripname -l '' "$a_deplib"
               name=$func_stripname_result                name=$func_stripname_result
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then              if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                 case " $predeps $postdeps " in                  case " $predeps $postdeps " in
                 *" $a_deplib "*)                  *" $a_deplib "*)
                   func_append newdeplibs " $a_deplib"                    func_append newdeplibs " $a_deplib"
                  a_deplib=""                  a_deplib=
                   ;;                    ;;
                 esac                  esac
               fi                fi
              if test -n "$a_deplib" ; then              if test -n "$a_deplib"; then
                 libname=`eval "\\$ECHO \"$libname_spec\""`                  libname=`eval "\\$ECHO \"$libname_spec\""`
                 if test -n "$file_magic_glob"; then                  if test -n "$file_magic_glob"; then
                   libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`                    libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
                 else                  else
                   libnameglob=$libname                    libnameglob=$libname
                 fi                  fi
                test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`                test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
                 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do                  for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                  if test "$want_nocaseglob" = yes; then                  if test yes = "$want_nocaseglob"; then
                     shopt -s nocaseglob                      shopt -s nocaseglob
                     potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`                      potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
                     $nocaseglob                      $nocaseglob
Line 7816  EOF Line 9095  EOF
                       # We might still enter an endless loop, since a link                        # We might still enter an endless loop, since a link
                       # loop can be closed while we follow links,                        # loop can be closed while we follow links,
                       # but so what?                        # but so what?
                      potlib="$potent_lib"                      potlib=$potent_lib
                       while test -h "$potlib" 2>/dev/null; do                        while test -h "$potlib" 2>/dev/null; do
                        potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`                        potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
                         case $potliblink in                          case $potliblink in
                        [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;                        [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
                        *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;                        *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
                         esac                          esac
                       done                        done
                       if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |                        if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
                          $SED -e 10q |                           $SED -e 10q |
                          $EGREP "$file_magic_regex" > /dev/null; then                           $EGREP "$file_magic_regex" > /dev/null; then
                         func_append newdeplibs " $a_deplib"                          func_append newdeplibs " $a_deplib"
                        a_deplib=""                        a_deplib=
                         break 2                          break 2
                       fi                        fi
                   done                    done
                 done                  done
               fi                fi
              if test -n "$a_deplib" ; then              if test -n "$a_deplib"; then
                 droppeddeps=yes                  droppeddeps=yes
                 echo                  echo
                 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."                  $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
Line 7842  EOF Line 9121  EOF
                 echo "*** you link to this library.  But I can only do this if you have a"                  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 "*** 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 "*** because I did check the linker path looking for a file starting"
                if test -z "$potlib" ; then                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                  else
                   $ECHO "*** with $libname and none of the candidates passed a file format test"                    $ECHO "*** with $libname and none of the candidates passed a file format test"
Line 7865  EOF Line 9144  EOF
             -l*)              -l*)
               func_stripname -l '' "$a_deplib"                func_stripname -l '' "$a_deplib"
               name=$func_stripname_result                name=$func_stripname_result
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then              if test yes = "$allow_libtool_libs_with_static_runtimes"; then
                 case " $predeps $postdeps " in                  case " $predeps $postdeps " in
                 *" $a_deplib "*)                  *" $a_deplib "*)
                   func_append newdeplibs " $a_deplib"                    func_append newdeplibs " $a_deplib"
                  a_deplib=""                  a_deplib=
                   ;;                    ;;
                 esac                  esac
               fi                fi
              if test -n "$a_deplib" ; then              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                  for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
                   potential_libs=`ls $i/$libname[.-]* 2>/dev/null`                    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
                   for potent_lib in $potential_libs; do                    for potent_lib in $potential_libs; do
                    potlib="$potent_lib" # see symlink-check above in file_magic test                    potlib=$potent_lib # see symlink-check above in file_magic test
                     if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \                      if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
                        $EGREP "$match_pattern_regex" > /dev/null; then                         $EGREP "$match_pattern_regex" > /dev/null; then
                       func_append newdeplibs " $a_deplib"                        func_append newdeplibs " $a_deplib"
                      a_deplib=""                      a_deplib=
                       break 2                        break 2
                     fi                      fi
                   done                    done
                 done                  done
               fi                fi
              if test -n "$a_deplib" ; then              if test -n "$a_deplib"; then
                 droppeddeps=yes                  droppeddeps=yes
                 echo                  echo
                 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."                  $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
Line 7896  EOF Line 9175  EOF
                 echo "*** you link to this library.  But I can only do this if you have a"                  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 "*** 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 "*** because I did check the linker path looking for a file starting"
                if test -z "$potlib" ; then                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                  else
                   $ECHO "*** with $libname and none of the candidates passed a file format test"                    $ECHO "*** with $libname and none of the candidates passed a file format test"
Line 7912  EOF Line 9191  EOF
           done # Gone through all deplibs.            done # Gone through all deplibs.
           ;;            ;;
         none | unknown | *)          none | unknown | *)
          newdeplibs=""          newdeplibs=
           tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`            tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
          if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then          if test yes = "$allow_libtool_libs_with_static_runtimes"; then
            for i in $predeps $postdeps ; do            for i in $predeps $postdeps; do
               # can't use Xsed below, because $i might contain '/'                # can't use Xsed below, because $i might contain '/'
              tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`              tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
             done              done
           fi            fi
           case $tmp_deplibs in            case $tmp_deplibs in
           *[!\  \ ]*)            *[!\  \ ]*)
             echo              echo
            if test "X$deplibs_check_method" = "Xnone"; then            if test none = "$deplibs_check_method"; then
               echo "*** Warning: inter-library dependencies are not supported in this platform."                echo "*** Warning: inter-library dependencies are not supported in this platform."
             else              else
               echo "*** Warning: inter-library dependencies are not known to be supported."                echo "*** Warning: inter-library dependencies are not known to be supported."
Line 7947  EOF Line 9226  EOF
           ;;            ;;
         esac          esac
   
        if test "$droppeddeps" = yes; then        if test yes = "$droppeddeps"; then
          if test "$module" = yes; then          if test yes = "$module"; then
             echo              echo
             echo "*** Warning: libtool could not satisfy all declared inter-library"              echo "*** Warning: libtool could not satisfy all declared inter-library"
             $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"              $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
Line 7957  EOF Line 9236  EOF
             if test -z "$global_symbol_pipe"; then              if test -z "$global_symbol_pipe"; then
               echo                echo
               echo "*** However, this would only work if libtool was able to extract symbol"                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 "*** lists from a program, using 'nm' or equivalent, but libtool could"
               echo "*** not find such a program.  So, this module is probably useless."                echo "*** not find such a program.  So, this module is probably useless."
              echo "*** \`nm' from GNU binutils and a full rebuild may help."              echo "*** 'nm' from GNU binutils and a full rebuild may help."
             fi              fi
            if test "$build_old_libs" = no; then            if test no = "$build_old_libs"; then
              oldlibs="$output_objdir/$libname.$libext"              oldlibs=$output_objdir/$libname.$libext
               build_libtool_libs=module                build_libtool_libs=module
               build_old_libs=yes                build_old_libs=yes
             else              else
Line 7973  EOF Line 9252  EOF
             echo "*** automatically added whenever a program is linked with this library"              echo "*** automatically added whenever a program is linked with this library"
             echo "*** or is declared to -dlopen it."              echo "*** or is declared to -dlopen it."
   
            if test "$allow_undefined" = no; then            if test no = "$allow_undefined"; then
               echo                echo
               echo "*** Since this library must not contain undefined symbols,"                echo "*** Since this library must not contain undefined symbols,"
               echo "*** because either the platform does not support them or"                echo "*** because either the platform does not support them or"
               echo "*** it was explicitly requested with -no-undefined,"                echo "*** it was explicitly requested with -no-undefined,"
               echo "*** libtool will only create a static version of it."                echo "*** libtool will only create a static version of it."
              if test "$build_old_libs" = no; then              if test no = "$build_old_libs"; then
                oldlibs="$output_objdir/$libname.$libext"                oldlibs=$output_objdir/$libname.$libext
                 build_libtool_libs=module                  build_libtool_libs=module
                 build_old_libs=yes                  build_old_libs=yes
               else                else
Line 8026  EOF Line 9305  EOF
         *) func_append new_libs " $deplib" ;;          *) func_append new_libs " $deplib" ;;
         esac          esac
       done        done
      deplibs="$new_libs"      deplibs=$new_libs
   
       # All the library-specific variables (install_libdir is set above).        # All the library-specific variables (install_libdir is set above).
       library_names=        library_names=
Line 8034  EOF Line 9313  EOF
       dlname=        dlname=
   
       # Test again, we may have decided not to build it any more        # Test again, we may have decided not to build it any more
      if test "$build_libtool_libs" = yes; then      if test yes = "$build_libtool_libs"; then
        # Remove ${wl} instances when linking with ld.        # Remove $wl instances when linking with ld.
         # FIXME: should test the right _cmds variable.          # FIXME: should test the right _cmds variable.
         case $archive_cmds in          case $archive_cmds in
           *\$LD\ *) wl= ;;            *\$LD\ *) wl= ;;
         esac          esac
        if test "$hardcode_into_libs" = yes; then        if test yes = "$hardcode_into_libs"; then
           # Hardcode the library paths            # Hardcode the library paths
           hardcode_libdirs=            hardcode_libdirs=
           dep_rpath=            dep_rpath=
          rpath="$finalize_rpath"          rpath=$finalize_rpath
          test "$opt_mode" != relink && rpath="$compile_rpath$rpath"          test relink = "$opt_mode" || rpath=$compile_rpath$rpath
           for libdir in $rpath; do            for libdir in $rpath; do
             if test -n "$hardcode_libdir_flag_spec"; then              if test -n "$hardcode_libdir_flag_spec"; then
               if test -n "$hardcode_libdir_separator"; then                if test -n "$hardcode_libdir_separator"; then
                 func_replace_sysroot "$libdir"                  func_replace_sysroot "$libdir"
                 libdir=$func_replace_sysroot_result                  libdir=$func_replace_sysroot_result
                 if test -z "$hardcode_libdirs"; then                  if test -z "$hardcode_libdirs"; then
                  hardcode_libdirs="$libdir"                  hardcode_libdirs=$libdir
                 else                  else
                   # Just accumulate the unique libdirs.                    # Just accumulate the unique libdirs.
                   case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in                    case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
Line 8077  EOF Line 9356  EOF
           # Substitute the hardcoded libdirs into the rpath.            # Substitute the hardcoded libdirs into the rpath.
           if test -n "$hardcode_libdir_separator" &&            if test -n "$hardcode_libdir_separator" &&
              test -n "$hardcode_libdirs"; then               test -n "$hardcode_libdirs"; then
            libdir="$hardcode_libdirs"            libdir=$hardcode_libdirs
             eval "dep_rpath=\"$hardcode_libdir_flag_spec\""              eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
           fi            fi
           if test -n "$runpath_var" && test -n "$perm_rpath"; then            if test -n "$runpath_var" && test -n "$perm_rpath"; then
Line 8091  EOF Line 9370  EOF
           test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"            test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
         fi          fi
   
        shlibpath="$finalize_shlibpath"        shlibpath=$finalize_shlibpath
        test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"        test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
         if test -n "$shlibpath"; then          if test -n "$shlibpath"; then
           eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"            eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
         fi          fi
Line 8102  EOF Line 9381  EOF
         eval library_names=\"$library_names_spec\"          eval library_names=\"$library_names_spec\"
         set dummy $library_names          set dummy $library_names
         shift          shift
        realname="$1"        realname=$1
         shift          shift
   
         if test -n "$soname_spec"; then          if test -n "$soname_spec"; then
           eval soname=\"$soname_spec\"            eval soname=\"$soname_spec\"
         else          else
          soname="$realname"          soname=$realname
         fi          fi
         if test -z "$dlname"; then          if test -z "$dlname"; then
           dlname=$soname            dlname=$soname
         fi          fi
   
        lib="$output_objdir/$realname"        lib=$output_objdir/$realname
         linknames=          linknames=
         for link          for link
         do          do
Line 8128  EOF Line 9407  EOF
         delfiles=          delfiles=
         if test -n "$export_symbols" && test -n "$include_expsyms"; then          if test -n "$export_symbols" && test -n "$include_expsyms"; then
           $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"            $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
          export_symbols="$output_objdir/$libname.uexp"          export_symbols=$output_objdir/$libname.uexp
           func_append delfiles " $export_symbols"            func_append delfiles " $export_symbols"
         fi          fi
   
Line 8137  EOF Line 9416  EOF
         cygwin* | mingw* | cegcc*)          cygwin* | mingw* | cegcc*)
           if test -n "$export_symbols" && test -z "$export_symbols_regex"; then            if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
             # exporting using user supplied symfile              # exporting using user supplied symfile
            if test "x`$SED 1q $export_symbols`" != xEXPORTS; then            func_dll_def_p "$export_symbols" || {
               # and it's NOT already a .def file. Must figure out                # and it's NOT already a .def file. Must figure out
               # which of the given symbols are data symbols and tag                # which of the given symbols are data symbols and tag
               # them as such. So, trigger use of export_symbols_cmds.                # them as such. So, trigger use of export_symbols_cmds.
               # export_symbols gets reassigned inside the "prepare                # export_symbols gets reassigned inside the "prepare
               # the list of exported symbols" if statement, so the                # the list of exported symbols" if statement, so the
               # include_expsyms logic still works.                # include_expsyms logic still works.
              orig_export_symbols="$export_symbols"              orig_export_symbols=$export_symbols
               export_symbols=                export_symbols=
               always_export_symbols=yes                always_export_symbols=yes
            fi            }
           fi            fi
           ;;            ;;
         esac          esac
   
         # Prepare the list of exported symbols          # Prepare the list of exported symbols
         if test -z "$export_symbols"; then          if test -z "$export_symbols"; then
          if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then          if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
            func_verbose "generating symbol list for \`$libname.la'"            func_verbose "generating symbol list for '$libname.la'"
            export_symbols="$output_objdir/$libname.exp"            export_symbols=$output_objdir/$libname.exp
             $opt_dry_run || $RM $export_symbols              $opt_dry_run || $RM $export_symbols
             cmds=$export_symbols_cmds              cmds=$export_symbols_cmds
            save_ifs="$IFS"; IFS='~'            save_ifs=$IFS; IFS='~'
             for cmd1 in $cmds; do              for cmd1 in $cmds; do
              IFS="$save_ifs"              IFS=$save_ifs
               # Take the normal branch if the nm_file_list_spec branch                # Take the normal branch if the nm_file_list_spec branch
               # doesn't work or if tool conversion is not needed.                # doesn't work or if tool conversion is not needed.
               case $nm_file_list_spec~$to_tool_file_cmd in                case $nm_file_list_spec~$to_tool_file_cmd in
Line 8175  EOF Line 9454  EOF
                   try_normal_branch=no                    try_normal_branch=no
                   ;;                    ;;
               esac                esac
              if test "$try_normal_branch" = yes \              if test yes = "$try_normal_branch" \
                  && { test "$len" -lt "$max_cmd_len" \                   && { test "$len" -lt "$max_cmd_len" \
                       || test "$max_cmd_len" -le -1; }                        || test "$max_cmd_len" -le -1; }
               then                then
Line 8186  EOF Line 9465  EOF
                 output_la=$func_basename_result                  output_la=$func_basename_result
                 save_libobjs=$libobjs                  save_libobjs=$libobjs
                 save_output=$output                  save_output=$output
                output=${output_objdir}/${output_la}.nm                output=$output_objdir/$output_la.nm
                 func_to_tool_file "$output"                  func_to_tool_file "$output"
                 libobjs=$nm_file_list_spec$func_to_tool_file_result                  libobjs=$nm_file_list_spec$func_to_tool_file_result
                 func_append delfiles " $output"                  func_append delfiles " $output"
Line 8209  EOF Line 9488  EOF
                 break                  break
               fi                fi
             done              done
            IFS="$save_ifs"            IFS=$save_ifs
            if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then            if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
               func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'                func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
               func_show_eval '$MV "${export_symbols}T" "$export_symbols"'                func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
             fi              fi
Line 8218  EOF Line 9497  EOF
         fi          fi
   
         if test -n "$export_symbols" && test -n "$include_expsyms"; then          if test -n "$export_symbols" && test -n "$include_expsyms"; then
          tmp_export_symbols="$export_symbols"          tmp_export_symbols=$export_symbols
          test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"          test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
           $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'            $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
         fi          fi
   
        if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then        if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
           # The given exports_symbols file has to be filtered, so filter it.            # The given exports_symbols file has to be filtered, so filter it.
          func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"          func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
           # FIXME: $output_objdir/$libname.filter potentially contains lots of            # FIXME: $output_objdir/$libname.filter potentially contains lots of
          # 's' commands which not all seds can handle. GNU sed should be fine          # 's' commands, which not all seds can handle. GNU sed should be fine
           # though. Also, the filter scales superlinearly with the number of            # though. Also, the filter scales superlinearly with the number of
           # global variables. join(1) would be nice here, but unfortunately            # global variables. join(1) would be nice here, but unfortunately
           # isn't a blessed tool.            # isn't a blessed tool.
Line 8246  EOF Line 9525  EOF
             ;;              ;;
           esac            esac
         done          done
        deplibs="$tmp_deplibs"        deplibs=$tmp_deplibs
   
         if test -n "$convenience"; then          if test -n "$convenience"; then
           if test -n "$whole_archive_flag_spec" &&            if test -n "$whole_archive_flag_spec" &&
            test "$compiler_needs_object" = yes &&            test yes = "$compiler_needs_object" &&
             test -z "$libobjs"; then              test -z "$libobjs"; then
             # extract the archives, so we have objects to list.              # extract the archives, so we have objects to list.
             # TODO: could optimize this to just extract one archive.              # TODO: could optimize this to just extract one archive.
Line 8261  EOF Line 9540  EOF
             eval libobjs=\"\$libobjs $whole_archive_flag_spec\"              eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
             test "X$libobjs" = "X " && libobjs=              test "X$libobjs" = "X " && libobjs=
           else            else
            gentop="$output_objdir/${outputname}x"            gentop=$output_objdir/${outputname}x
             func_append generated " $gentop"              func_append generated " $gentop"
   
             func_extract_archives $gentop $convenience              func_extract_archives $gentop $convenience
Line 8270  EOF Line 9549  EOF
           fi            fi
         fi          fi
   
        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then        if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
           eval flag=\"$thread_safe_flag_spec\"            eval flag=\"$thread_safe_flag_spec\"
           func_append linker_flags " $flag"            func_append linker_flags " $flag"
         fi          fi
   
         # Make a backup of the uninstalled library when relinking          # Make a backup of the uninstalled library when relinking
        if test "$opt_mode" = relink; then        if test relink = "$opt_mode"; then
           $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?            $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
         fi          fi
   
         # Do each of the archive commands.          # Do each of the archive commands.
        if test "$module" = yes && test -n "$module_cmds" ; then        if test yes = "$module" && test -n "$module_cmds"; then
           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then            if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
             eval test_cmds=\"$module_expsym_cmds\"              eval test_cmds=\"$module_expsym_cmds\"
             cmds=$module_expsym_cmds              cmds=$module_expsym_cmds
Line 8299  EOF Line 9578  EOF
           fi            fi
         fi          fi
   
        if test "X$skipped_export" != "X:" &&        if test : != "$skipped_export" &&
            func_len " $test_cmds" &&             func_len " $test_cmds" &&
            len=$func_len_result &&             len=$func_len_result &&
            test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then             test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
Line 8332  EOF Line 9611  EOF
           last_robj=            last_robj=
           k=1            k=1
   
          if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then          if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
            output=${output_objdir}/${output_la}.lnkscript            output=$output_objdir/$output_la.lnkscript
             func_verbose "creating GNU ld script: $output"              func_verbose "creating GNU ld script: $output"
             echo 'INPUT (' > $output              echo 'INPUT (' > $output
             for obj in $save_libobjs              for obj in $save_libobjs
Line 8345  EOF Line 9624  EOF
             func_append delfiles " $output"              func_append delfiles " $output"
             func_to_tool_file "$output"              func_to_tool_file "$output"
             output=$func_to_tool_file_result              output=$func_to_tool_file_result
          elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then          elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
            output=${output_objdir}/${output_la}.lnk            output=$output_objdir/$output_la.lnk
             func_verbose "creating linker input file list: $output"              func_verbose "creating linker input file list: $output"
             : > $output              : > $output
             set x $save_libobjs              set x $save_libobjs
             shift              shift
             firstobj=              firstobj=
            if test "$compiler_needs_object" = yes; then            if test yes = "$compiler_needs_object"; then
               firstobj="$1 "                firstobj="$1 "
               shift                shift
             fi              fi
Line 8367  EOF Line 9646  EOF
           else            else
             if test -n "$save_libobjs"; then              if test -n "$save_libobjs"; then
               func_verbose "creating reloadable object files..."                func_verbose "creating reloadable object files..."
              output=$output_objdir/$output_la-${k}.$objext              output=$output_objdir/$output_la-$k.$objext
               eval test_cmds=\"$reload_cmds\"                eval test_cmds=\"$reload_cmds\"
               func_len " $test_cmds"                func_len " $test_cmds"
               len0=$func_len_result                len0=$func_len_result
Line 8379  EOF Line 9658  EOF
                 func_len " $obj"                  func_len " $obj"
                 func_arith $len + $func_len_result                  func_arith $len + $func_len_result
                 len=$func_arith_result                  len=$func_arith_result
                if test "X$objlist" = X ||                if test -z "$objlist" ||
                    test "$len" -lt "$max_cmd_len"; then                     test "$len" -lt "$max_cmd_len"; then
                   func_append objlist " $obj"                    func_append objlist " $obj"
                 else                  else
                   # The command $test_cmds is almost too long, add a                    # The command $test_cmds is almost too long, add a
                   # command to the queue.                    # command to the queue.
                  if test "$k" -eq 1 ; then                  if test 1 -eq "$k"; then
                     # The first file doesn't have a previous command to add.                      # The first file doesn't have a previous command to add.
                     reload_objs=$objlist                      reload_objs=$objlist
                     eval concat_cmds=\"$reload_cmds\"                      eval concat_cmds=\"$reload_cmds\"
Line 8395  EOF Line 9674  EOF
                     reload_objs="$objlist $last_robj"                      reload_objs="$objlist $last_robj"
                     eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"                      eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
                   fi                    fi
                  last_robj=$output_objdir/$output_la-${k}.$objext                  last_robj=$output_objdir/$output_la-$k.$objext
                   func_arith $k + 1                    func_arith $k + 1
                   k=$func_arith_result                    k=$func_arith_result
                  output=$output_objdir/$output_la-${k}.$objext                  output=$output_objdir/$output_la-$k.$objext
                   objlist=" $obj"                    objlist=" $obj"
                   func_len " $last_robj"                    func_len " $last_robj"
                   func_arith $len0 + $func_len_result                    func_arith $len0 + $func_len_result
Line 8410  EOF Line 9689  EOF
               # files will link in the last one created.                # files will link in the last one created.
               test -z "$concat_cmds" || concat_cmds=$concat_cmds~                test -z "$concat_cmds" || concat_cmds=$concat_cmds~
               reload_objs="$objlist $last_robj"                reload_objs="$objlist $last_robj"
              eval concat_cmds=\"\${concat_cmds}$reload_cmds\"              eval concat_cmds=\"\$concat_cmds$reload_cmds\"
               if test -n "$last_robj"; then                if test -n "$last_robj"; then
                eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"                eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
               fi                fi
               func_append delfiles " $output"                func_append delfiles " $output"
   
Line 8420  EOF Line 9699  EOF
               output=                output=
             fi              fi
   
            if ${skipped_export-false}; then            ${skipped_export-false} && {
              func_verbose "generating symbol list for \`$libname.la'"              func_verbose "generating symbol list for '$libname.la'"
              export_symbols="$output_objdir/$libname.exp"              export_symbols=$output_objdir/$libname.exp
               $opt_dry_run || $RM $export_symbols                $opt_dry_run || $RM $export_symbols
               libobjs=$output                libobjs=$output
               # Append the command to create the export file.                # Append the command to create the export file.
Line 8431  EOF Line 9710  EOF
               if test -n "$last_robj"; then                if test -n "$last_robj"; then
                 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"                  eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
               fi                fi
            fi            }
   
             test -n "$save_libobjs" &&              test -n "$save_libobjs" &&
               func_verbose "creating a temporary reloadable object file: $output"                func_verbose "creating a temporary reloadable object file: $output"
   
             # Loop through the commands generated above and execute them.              # Loop through the commands generated above and execute them.
            save_ifs="$IFS"; IFS='~'            save_ifs=$IFS; IFS='~'
             for cmd in $concat_cmds; do              for cmd in $concat_cmds; do
              IFS="$save_ifs"              IFS=$save_ifs
              $opt_silent || {              $opt_quiet || {
                   func_quote_for_expand "$cmd"                    func_quote_for_expand "$cmd"
                   eval "func_echo $func_quote_for_expand_result"                    eval "func_echo $func_quote_for_expand_result"
               }                }
Line 8448  EOF Line 9727  EOF
                 lt_exit=$?                  lt_exit=$?
   
                 # Restore the uninstalled library and exit                  # Restore the uninstalled library and exit
                if test "$opt_mode" = relink; then                if test relink = "$opt_mode"; then
                   ( cd "$output_objdir" && \                    ( cd "$output_objdir" && \
                     $RM "${realname}T" && \                      $RM "${realname}T" && \
                     $MV "${realname}U" "$realname" )                      $MV "${realname}U" "$realname" )
Line 8457  EOF Line 9736  EOF
                 exit $lt_exit                  exit $lt_exit
               }                }
             done              done
            IFS="$save_ifs"            IFS=$save_ifs
   
             if test -n "$export_symbols_regex" && ${skipped_export-false}; then              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 '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
Line 8465  EOF Line 9744  EOF
             fi              fi
           fi            fi
   
          if ${skipped_export-false}; then          ${skipped_export-false} && {
             if test -n "$export_symbols" && test -n "$include_expsyms"; then              if test -n "$export_symbols" && test -n "$include_expsyms"; then
              tmp_export_symbols="$export_symbols"              tmp_export_symbols=$export_symbols
              test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"              test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
               $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'                $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
             fi              fi
   
             if test -n "$orig_export_symbols"; then              if test -n "$orig_export_symbols"; then
               # The given exports_symbols file has to be filtered, so filter it.                # The given exports_symbols file has to be filtered, so filter it.
              func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"              func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
               # FIXME: $output_objdir/$libname.filter potentially contains lots of                # FIXME: $output_objdir/$libname.filter potentially contains lots of
              # 's' commands which not all seds can handle. GNU sed should be fine              # 's' commands, which not all seds can handle. GNU sed should be fine
               # though. Also, the filter scales superlinearly with the number of                # though. Also, the filter scales superlinearly with the number of
               # global variables. join(1) would be nice here, but unfortunately                # global variables. join(1) would be nice here, but unfortunately
               # isn't a blessed tool.                # isn't a blessed tool.
Line 8485  EOF Line 9764  EOF
               export_symbols=$output_objdir/$libname.def                export_symbols=$output_objdir/$libname.def
               $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols                $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
             fi              fi
          fi          }
   
           libobjs=$output            libobjs=$output
           # Restore the value of output.            # Restore the value of output.
Line 8499  EOF Line 9778  EOF
           # value of $libobjs for piecewise linking.            # value of $libobjs for piecewise linking.
   
           # Do each of the archive commands.            # Do each of the archive commands.
          if test "$module" = yes && test -n "$module_cmds" ; then          if test yes = "$module" && test -n "$module_cmds"; then
             if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then              if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
               cmds=$module_expsym_cmds                cmds=$module_expsym_cmds
             else              else
Line 8521  EOF Line 9800  EOF
   
         # Add any objects from preloaded convenience libraries          # Add any objects from preloaded convenience libraries
         if test -n "$dlprefiles"; then          if test -n "$dlprefiles"; then
          gentop="$output_objdir/${outputname}x"          gentop=$output_objdir/${outputname}x
           func_append generated " $gentop"            func_append generated " $gentop"
   
           func_extract_archives $gentop $dlprefiles            func_extract_archives $gentop $dlprefiles
Line 8529  EOF Line 9808  EOF
           test "X$libobjs" = "X " && libobjs=            test "X$libobjs" = "X " && libobjs=
         fi          fi
   
        save_ifs="$IFS"; IFS='~'        save_ifs=$IFS; IFS='~'
         for cmd in $cmds; do          for cmd in $cmds; do
          IFS="$save_ifs"          IFS=$sp$nl
           eval cmd=\"$cmd\"            eval cmd=\"$cmd\"
          $opt_silent || {          IFS=$save_ifs
           $opt_quiet || {
             func_quote_for_expand "$cmd"              func_quote_for_expand "$cmd"
             eval "func_echo $func_quote_for_expand_result"              eval "func_echo $func_quote_for_expand_result"
           }            }
Line 8541  EOF Line 9821  EOF
             lt_exit=$?              lt_exit=$?
   
             # Restore the uninstalled library and exit              # Restore the uninstalled library and exit
            if test "$opt_mode" = relink; then            if test relink = "$opt_mode"; then
               ( cd "$output_objdir" && \                ( cd "$output_objdir" && \
                 $RM "${realname}T" && \                  $RM "${realname}T" && \
                 $MV "${realname}U" "$realname" )                  $MV "${realname}U" "$realname" )
Line 8550  EOF Line 9830  EOF
             exit $lt_exit              exit $lt_exit
           }            }
         done          done
        IFS="$save_ifs"        IFS=$save_ifs
   
         # Restore the uninstalled library and exit          # Restore the uninstalled library and exit
        if test "$opt_mode" = relink; then        if test relink = "$opt_mode"; then
           $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?            $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
   
           if test -n "$convenience"; then            if test -n "$convenience"; then
Line 8573  EOF Line 9853  EOF
         done          done
   
         # If -module or -export-dynamic was specified, set the dlname.          # If -module or -export-dynamic was specified, set the dlname.
        if test "$module" = yes || test "$export_dynamic" = yes; then        if test yes = "$module" || test yes = "$export_dynamic"; then
           # On all known operating systems, these are identical.            # On all known operating systems, these are identical.
          dlname="$soname"          dlname=$soname
         fi          fi
       fi        fi
       ;;        ;;
   
     obj)      obj)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
        func_warning "\`-dlopen' is ignored for objects"        func_warning "'-dlopen' is ignored for objects"
       fi        fi
   
       case " $deplibs" in        case " $deplibs" in
       *\ -l* | *\ -L*)        *\ -l* | *\ -L*)
        func_warning "\`-l' and \`-L' are ignored for objects" ;;        func_warning "'-l' and '-L' are ignored for objects" ;;
       esac        esac
   
       test -n "$rpath" && \        test -n "$rpath" && \
        func_warning "\`-rpath' is ignored for objects"        func_warning "'-rpath' is ignored for objects"
   
       test -n "$xrpath" && \        test -n "$xrpath" && \
        func_warning "\`-R' is ignored for objects"        func_warning "'-R' is ignored for objects"
   
       test -n "$vinfo" && \        test -n "$vinfo" && \
        func_warning "\`-version-info' is ignored for objects"        func_warning "'-version-info' is ignored for objects"
   
       test -n "$release" && \        test -n "$release" && \
        func_warning "\`-release' is ignored for objects"        func_warning "'-release' is ignored for objects"
   
       case $output in        case $output in
       *.lo)        *.lo)
         test -n "$objs$old_deplibs" && \          test -n "$objs$old_deplibs" && \
          func_fatal_error "cannot build library object \`$output' from non-libtool objects"          func_fatal_error "cannot build library object '$output' from non-libtool objects"
   
         libobj=$output          libobj=$output
         func_lo2o "$libobj"          func_lo2o "$libobj"
Line 8613  EOF Line 9893  EOF
         ;;          ;;
       *)        *)
         libobj=          libobj=
        obj="$output"        obj=$output
         ;;          ;;
       esac        esac
   
Line 8636  EOF Line 9916  EOF
           eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"            eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
           reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`            reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
         else          else
          gentop="$output_objdir/${obj}x"          gentop=$output_objdir/${obj}x
           func_append generated " $gentop"            func_append generated " $gentop"
   
           func_extract_archives $gentop $convenience            func_extract_archives $gentop $convenience
Line 8645  EOF Line 9925  EOF
       fi        fi
   
       # If we're not building shared, we need to use non_pic_objs        # If we're not building shared, we need to use non_pic_objs
      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
   
       # Create the old-style object.        # Create the old-style object.
      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
   
      output="$obj"      output=$obj
       func_execute_cmds "$reload_cmds" 'exit $?'        func_execute_cmds "$reload_cmds" 'exit $?'
   
       # Exit if we aren't doing a library object file.        # Exit if we aren't doing a library object file.
Line 8662  EOF Line 9942  EOF
         exit $EXIT_SUCCESS          exit $EXIT_SUCCESS
       fi        fi
   
      if test "$build_libtool_libs" != yes; then      test yes = "$build_libtool_libs" || {
         if test -n "$gentop"; then          if test -n "$gentop"; then
           func_show_eval '${RM}r "$gentop"'            func_show_eval '${RM}r "$gentop"'
         fi          fi
Line 8672  EOF Line 9952  EOF
         # $show "echo timestamp > $libobj"          # $show "echo timestamp > $libobj"
         # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?          # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
         exit $EXIT_SUCCESS          exit $EXIT_SUCCESS
      fi      }
   
      if test -n "$pic_flag" || test "$pic_mode" != default; then      if test -n "$pic_flag" || test default != "$pic_mode"; then
         # Only do commands if we really have different PIC objects.          # Only do commands if we really have different PIC objects.
         reload_objs="$libobjs $reload_conv_objs"          reload_objs="$libobjs $reload_conv_objs"
        output="$libobj"        output=$libobj
         func_execute_cmds "$reload_cmds" 'exit $?'          func_execute_cmds "$reload_cmds" 'exit $?'
       fi        fi
   
Line 8694  EOF Line 9974  EOF
                   output=$func_stripname_result.exe;;                    output=$func_stripname_result.exe;;
       esac        esac
       test -n "$vinfo" && \        test -n "$vinfo" && \
        func_warning "\`-version-info' is ignored for programs"        func_warning "'-version-info' is ignored for programs"
   
       test -n "$release" && \        test -n "$release" && \
        func_warning "\`-release' is ignored for programs"        func_warning "'-release' is ignored for programs"
   
      test "$preload" = yes \      $preload \
        && test "$dlopen_support" = unknown \        && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
        && test "$dlopen_self" = unknown \        && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
        && test "$dlopen_self_static" = unknown && \ 
          func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." 
   
       case $host in        case $host in
       *-*-rhapsody* | *-*-darwin1.[012])        *-*-rhapsody* | *-*-darwin1.[012])
Line 8717  EOF Line 9995  EOF
       *-*-darwin*)        *-*-darwin*)
         # Don't allow lazy linking, it breaks C++ global constructors          # Don't allow lazy linking, it breaks C++ global constructors
         # But is supposedly fixed on 10.4 or later (yay!).          # But is supposedly fixed on 10.4 or later (yay!).
        if test "$tagname" = CXX ; then        if test CXX = "$tagname"; then
           case ${MACOSX_DEPLOYMENT_TARGET-10.0} in            case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
             10.[0123])              10.[0123])
              func_append compile_command " ${wl}-bind_at_load"              func_append compile_command " $wl-bind_at_load"
              func_append finalize_command " ${wl}-bind_at_load"              func_append finalize_command " $wl-bind_at_load"
             ;;              ;;
           esac            esac
         fi          fi
Line 8757  EOF Line 10035  EOF
         *) func_append new_libs " $deplib" ;;          *) func_append new_libs " $deplib" ;;
         esac          esac
       done        done
      compile_deplibs="$new_libs"      compile_deplibs=$new_libs
   
   
       func_append compile_command " $compile_deplibs"        func_append compile_command " $compile_deplibs"
Line 8781  EOF Line 10059  EOF
         if test -n "$hardcode_libdir_flag_spec"; then          if test -n "$hardcode_libdir_flag_spec"; then
           if test -n "$hardcode_libdir_separator"; then            if test -n "$hardcode_libdir_separator"; then
             if test -z "$hardcode_libdirs"; then              if test -z "$hardcode_libdirs"; then
              hardcode_libdirs="$libdir"              hardcode_libdirs=$libdir
             else              else
               # Just accumulate the unique libdirs.                # Just accumulate the unique libdirs.
               case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in                case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
Line 8804  EOF Line 10082  EOF
         fi          fi
         case $host in          case $host in
         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
          testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`          testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
           case :$dllsearchpath: in            case :$dllsearchpath: in
           *":$libdir:"*) ;;            *":$libdir:"*) ;;
           ::) dllsearchpath=$libdir;;            ::) dllsearchpath=$libdir;;
Line 8821  EOF Line 10099  EOF
       # Substitute the hardcoded libdirs into the rpath.        # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&        if test -n "$hardcode_libdir_separator" &&
          test -n "$hardcode_libdirs"; then           test -n "$hardcode_libdirs"; then
        libdir="$hardcode_libdirs"        libdir=$hardcode_libdirs
         eval rpath=\" $hardcode_libdir_flag_spec\"          eval rpath=\" $hardcode_libdir_flag_spec\"
       fi        fi
      compile_rpath="$rpath"      compile_rpath=$rpath
   
       rpath=        rpath=
       hardcode_libdirs=        hardcode_libdirs=
Line 8832  EOF Line 10110  EOF
         if test -n "$hardcode_libdir_flag_spec"; then          if test -n "$hardcode_libdir_flag_spec"; then
           if test -n "$hardcode_libdir_separator"; then            if test -n "$hardcode_libdir_separator"; then
             if test -z "$hardcode_libdirs"; then              if test -z "$hardcode_libdirs"; then
              hardcode_libdirs="$libdir"              hardcode_libdirs=$libdir
             else              else
               # Just accumulate the unique libdirs.                # Just accumulate the unique libdirs.
               case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in                case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
Line 8857  EOF Line 10135  EOF
       # Substitute the hardcoded libdirs into the rpath.        # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&        if test -n "$hardcode_libdir_separator" &&
          test -n "$hardcode_libdirs"; then           test -n "$hardcode_libdirs"; then
        libdir="$hardcode_libdirs"        libdir=$hardcode_libdirs
         eval rpath=\" $hardcode_libdir_flag_spec\"          eval rpath=\" $hardcode_libdir_flag_spec\"
       fi        fi
      finalize_rpath="$rpath"      finalize_rpath=$rpath
   
      if test -n "$libobjs" && test "$build_old_libs" = yes; then      if test -n "$libobjs" && test yes = "$build_old_libs"; then
         # Transform all the library objects into standard objects.          # Transform all the library objects into standard objects.
         compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`          compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
         finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`          finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi        fi
   
      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"      func_generate_dlsyms "$outputname" "@PROGRAM@" false
   
       # template prelinking step        # template prelinking step
       if test -n "$prelink_cmds"; then        if test -n "$prelink_cmds"; then
         func_execute_cmds "$prelink_cmds" 'exit $?'          func_execute_cmds "$prelink_cmds" 'exit $?'
       fi        fi
   
      wrappers_required=yes      wrappers_required=:
       case $host in        case $host in
       *cegcc* | *mingw32ce*)        *cegcc* | *mingw32ce*)
         # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.          # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
        wrappers_required=no        wrappers_required=false
         ;;          ;;
       *cygwin* | *mingw* )        *cygwin* | *mingw* )
        if test "$build_libtool_libs" != yes; then        test yes = "$build_libtool_libs" || wrappers_required=false
          wrappers_required=no 
        fi 
         ;;          ;;
       *)        *)
        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
          wrappers_required=no          wrappers_required=false
         fi          fi
         ;;          ;;
       esac        esac
      if test "$wrappers_required" = no; then      $wrappers_required || {
         # Replace the output file specification.          # Replace the output file specification.
         compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`          compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
        link_command="$compile_command$compile_rpath"        link_command=$compile_command$compile_rpath
   
         # We have no uninstalled library dependencies, so finalize right now.          # We have no uninstalled library dependencies, so finalize right now.
         exit_status=0          exit_status=0
Line 8908  EOF Line 10184  EOF
         fi          fi
   
         # Delete the generated files.          # Delete the generated files.
        if test -f "$output_objdir/${outputname}S.${objext}"; then        if test -f "$output_objdir/${outputname}S.$objext"; then
          func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'          func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
         fi          fi
   
         exit $exit_status          exit $exit_status
      fi      }
   
       if test -n "$compile_shlibpath$finalize_shlibpath"; then        if test -n "$compile_shlibpath$finalize_shlibpath"; then
         compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"          compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
Line 8943  EOF Line 10219  EOF
         fi          fi
       fi        fi
   
      if test "$no_install" = yes; then      if test yes = "$no_install"; then
         # We don't need to create a wrapper script.          # We don't need to create a wrapper script.
        link_command="$compile_var$compile_command$compile_rpath"        link_command=$compile_var$compile_command$compile_rpath
         # Replace the output file specification.          # Replace the output file specification.
         link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`          link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
         # Delete the old output file.          # Delete the old output file.
Line 8962  EOF Line 10238  EOF
         exit $EXIT_SUCCESS          exit $EXIT_SUCCESS
       fi        fi
   
      if test "$hardcode_action" = relink; then      case $hardcode_action,$fast_install in
        # Fast installation is not supported        relink,*)
        link_command="$compile_var$compile_command$compile_rpath"          # Fast installation is not supported
        relink_command="$finalize_var$finalize_command$finalize_rpath"          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 "this platform does not like uninstalled shared libraries"
        func_warning "\`$output' will be relinked during installation"          func_warning "'$output' will be relinked during installation"
      else          ;;
        if test "$fast_install" != no; then        *,yes)
          link_command="$finalize_var$compile_command$finalize_rpath"          link_command=$finalize_var$compile_command$finalize_rpath
          if test "$fast_install" = yes; then          relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
            relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`          ;;
          else        *,no)
            # fast_install is set to needless          link_command=$compile_var$compile_command$compile_rpath
            relink_command=          relink_command=$finalize_var$finalize_command$finalize_rpath
          fi          ;;
        else        *,needless)
          link_command="$compile_var$compile_command$compile_rpath"          link_command=$finalize_var$compile_command$finalize_rpath
          relink_command="$finalize_var$finalize_command$finalize_rpath"          relink_command=
        fi          ;;
      fi      esac
   
       # Replace the output file specification.        # Replace the output file specification.
       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`        link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
Line 9039  EOF Line 10316  EOF
             func_dirname_and_basename "$output" "" "."              func_dirname_and_basename "$output" "" "."
             output_name=$func_basename_result              output_name=$func_basename_result
             output_path=$func_dirname_result              output_path=$func_dirname_result
            cwrappersource="$output_path/$objdir/lt-$output_name.c"            cwrappersource=$output_path/$objdir/lt-$output_name.c
            cwrapper="$output_path/$output_name.exe"            cwrapper=$output_path/$output_name.exe
             $RM $cwrappersource $cwrapper              $RM $cwrappersource $cwrapper
             trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15              trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
   
Line 9061  EOF Line 10338  EOF
             trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15              trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
             $opt_dry_run || {              $opt_dry_run || {
               # note: this script will not be executed, so do not chmod.                # note: this script will not be executed, so do not chmod.
              if test "x$build" = "x$host" ; then              if test "x$build" = "x$host"; then
                 $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result                  $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
               else                else
                 func_emit_wrapper no > $func_ltwrapper_scriptname_result                  func_emit_wrapper no > $func_ltwrapper_scriptname_result
Line 9084  EOF Line 10361  EOF
     # See if we need to build an old-fashioned archive.      # See if we need to build an old-fashioned archive.
     for oldlib in $oldlibs; do      for oldlib in $oldlibs; do
   
      if test "$build_libtool_libs" = convenience; then      case $build_libtool_libs in
        oldobjs="$libobjs_save $symfileobj"        convenience)
        addlibs="$convenience"          oldobjs="$libobjs_save $symfileobj"
        build_libtool_libs=no          addlibs=$convenience
      else 
        if test "$build_libtool_libs" = module; then 
          oldobjs="$libobjs_save" 
           build_libtool_libs=no            build_libtool_libs=no
        else          ;;
         module)
           oldobjs=$libobjs_save
           addlibs=$old_convenience
           build_libtool_libs=no
           ;;
         *)
           oldobjs="$old_deplibs $non_pic_objects"            oldobjs="$old_deplibs $non_pic_objects"
          if test "$preload" = yes && test -f "$symfileobj"; then          $preload && test -f "$symfileobj" \
            func_append oldobjs " $symfileobj"            && func_append oldobjs " $symfileobj"
          fi          addlibs=$old_convenience
        fi          ;;
        addlibs="$old_convenience"      esac
      fi 
   
       if test -n "$addlibs"; then        if test -n "$addlibs"; then
        gentop="$output_objdir/${outputname}x"        gentop=$output_objdir/${outputname}x
         func_append generated " $gentop"          func_append generated " $gentop"
   
         func_extract_archives $gentop $addlibs          func_extract_archives $gentop $addlibs
Line 9110  EOF Line 10389  EOF
       fi        fi
   
       # Do each command in the archive commands.        # Do each command in the archive commands.
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
         cmds=$old_archive_from_new_cmds          cmds=$old_archive_from_new_cmds
       else        else
   
         # Add any objects from preloaded convenience libraries          # Add any objects from preloaded convenience libraries
         if test -n "$dlprefiles"; then          if test -n "$dlprefiles"; then
          gentop="$output_objdir/${outputname}x"          gentop=$output_objdir/${outputname}x
           func_append generated " $gentop"            func_append generated " $gentop"
   
           func_extract_archives $gentop $dlprefiles            func_extract_archives $gentop $dlprefiles
Line 9137  EOF Line 10416  EOF
           :            :
         else          else
           echo "copying selected object files to avoid basename conflicts..."            echo "copying selected object files to avoid basename conflicts..."
          gentop="$output_objdir/${outputname}x"          gentop=$output_objdir/${outputname}x
           func_append generated " $gentop"            func_append generated " $gentop"
           func_mkdir_p "$gentop"            func_mkdir_p "$gentop"
           save_oldobjs=$oldobjs            save_oldobjs=$oldobjs
Line 9146  EOF Line 10425  EOF
           for obj in $save_oldobjs            for obj in $save_oldobjs
           do            do
             func_basename "$obj"              func_basename "$obj"
            objbase="$func_basename_result"            objbase=$func_basename_result
             case " $oldobjs " in              case " $oldobjs " in
             " ") oldobjs=$obj ;;              " ") oldobjs=$obj ;;
             *[\ /]"$objbase "*)              *[\ /]"$objbase "*)
Line 9215  EOF Line 10494  EOF
             else              else
               # the above command should be used before it gets too long                # the above command should be used before it gets too long
               oldobjs=$objlist                oldobjs=$objlist
              if test "$obj" = "$last_oldobj" ; then              if test "$obj" = "$last_oldobj"; then
                 RANLIB=$save_RANLIB                  RANLIB=$save_RANLIB
               fi                fi
               test -z "$concat_cmds" || concat_cmds=$concat_cmds~                test -z "$concat_cmds" || concat_cmds=$concat_cmds~
              eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"              eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
               objlist=                objlist=
               len=$len0                len=$len0
             fi              fi
           done            done
           RANLIB=$save_RANLIB            RANLIB=$save_RANLIB
           oldobjs=$objlist            oldobjs=$objlist
          if test "X$oldobjs" = "X" ; then          if test -z "$oldobjs"; then
             eval cmds=\"\$concat_cmds\"              eval cmds=\"\$concat_cmds\"
           else            else
             eval cmds=\"\$concat_cmds~\$old_archive_cmds\"              eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
Line 9243  EOF Line 10522  EOF
     case $output in      case $output in
     *.la)      *.la)
       old_library=        old_library=
      test "$build_old_libs" = yes && old_library="$libname.$libext"      test yes = "$build_old_libs" && old_library=$libname.$libext
       func_verbose "creating $output"        func_verbose "creating $output"
   
       # Preserve any variables that may affect compiler behavior        # Preserve any variables that may affect compiler behavior
Line 9258  EOF Line 10537  EOF
         fi          fi
       done        done
       # Quote the link command for shipping.        # Quote the link command for shipping.
      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`        relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
      if test "$hardcode_automatic" = yes ; then      if test yes = "$hardcode_automatic"; then
         relink_command=          relink_command=
       fi        fi
   
       # Only create the output if not a dry run.        # Only create the output if not a dry run.
       $opt_dry_run || {        $opt_dry_run || {
         for installed in no yes; do          for installed in no yes; do
          if test "$installed" = yes; then          if test yes = "$installed"; then
             if test -z "$install_libdir"; then              if test -z "$install_libdir"; then
               break                break
             fi              fi
            output="$output_objdir/$outputname"i            output=$output_objdir/${outputname}i
             # Replace all uninstalled libtool libraries with the installed ones              # Replace all uninstalled libtool libraries with the installed ones
             newdependency_libs=              newdependency_libs=
             for deplib in $dependency_libs; do              for deplib in $dependency_libs; do
               case $deplib in                case $deplib in
               *.la)                *.la)
                 func_basename "$deplib"                  func_basename "$deplib"
                name="$func_basename_result"                name=$func_basename_result
                 func_resolve_sysroot "$deplib"                  func_resolve_sysroot "$deplib"
                eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`                eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
                 test -z "$libdir" && \                  test -z "$libdir" && \
                  func_fatal_error "\`$deplib' is not a valid libtool archive"                  func_fatal_error "'$deplib' is not a valid libtool archive"
                 func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"                  func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
               -L*)                -L*)
Line 9298  EOF Line 10577  EOF
               *) func_append newdependency_libs " $deplib" ;;                *) func_append newdependency_libs " $deplib" ;;
               esac                esac
             done              done
            dependency_libs="$newdependency_libs"            dependency_libs=$newdependency_libs
             newdlfiles=              newdlfiles=
   
             for lib in $dlfiles; do              for lib in $dlfiles; do
               case $lib in                case $lib in
               *.la)                *.la)
                 func_basename "$lib"                  func_basename "$lib"
                name="$func_basename_result"                name=$func_basename_result
                eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`                eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                 test -z "$libdir" && \                  test -z "$libdir" && \
                  func_fatal_error "\`$lib' is not a valid libtool archive"                  func_fatal_error "'$lib' is not a valid libtool archive"
                 func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"                  func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
               *) func_append newdlfiles " $lib" ;;                *) func_append newdlfiles " $lib" ;;
               esac                esac
             done              done
            dlfiles="$newdlfiles"            dlfiles=$newdlfiles
             newdlprefiles=              newdlprefiles=
             for lib in $dlprefiles; do              for lib in $dlprefiles; do
               case $lib in                case $lib in
Line 9324  EOF Line 10603  EOF
                 # didn't already link the preopened objects directly into                  # didn't already link the preopened objects directly into
                 # the library:                  # the library:
                 func_basename "$lib"                  func_basename "$lib"
                name="$func_basename_result"                name=$func_basename_result
                eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`                eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
                 test -z "$libdir" && \                  test -z "$libdir" && \
                  func_fatal_error "\`$lib' is not a valid libtool archive"                  func_fatal_error "'$lib' is not a valid libtool archive"
                 func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"                  func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
               esac                esac
             done              done
            dlprefiles="$newdlprefiles"            dlprefiles=$newdlprefiles
           else            else
             newdlfiles=              newdlfiles=
             for lib in $dlfiles; do              for lib in $dlfiles; do
               case $lib in                case $lib in
                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;                [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                 *) abs=`pwd`"/$lib" ;;                  *) abs=`pwd`"/$lib" ;;
               esac                esac
               func_append newdlfiles " $abs"                func_append newdlfiles " $abs"
             done              done
            dlfiles="$newdlfiles"            dlfiles=$newdlfiles
             newdlprefiles=              newdlprefiles=
             for lib in $dlprefiles; do              for lib in $dlprefiles; do
               case $lib in                case $lib in
                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;                [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
                 *) abs=`pwd`"/$lib" ;;                  *) abs=`pwd`"/$lib" ;;
               esac                esac
               func_append newdlprefiles " $abs"                func_append newdlprefiles " $abs"
             done              done
            dlprefiles="$newdlprefiles"            dlprefiles=$newdlprefiles
           fi            fi
           $RM $output            $RM $output
           # place dlname in correct position for cygwin            # place dlname in correct position for cygwin
Line 9367  EOF Line 10646  EOF
           case $host,$output,$installed,$module,$dlname in            case $host,$output,$installed,$module,$dlname in
             *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)              *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
               # If a -bindir argument was supplied, place the dll there.                # If a -bindir argument was supplied, place the dll there.
              if test "x$bindir" != x ;              if test -n "$bindir"; then
              then 
                 func_relative_path "$install_libdir" "$bindir"                  func_relative_path "$install_libdir" "$bindir"
                tdlname=$func_relative_path_result$dlname                tdlname=$func_relative_path_result/$dlname
               else                else
                 # Otherwise fall back on heuristic.                  # Otherwise fall back on heuristic.
                 tdlname=../bin/$dlname                  tdlname=../bin/$dlname
Line 9379  EOF Line 10657  EOF
           esac            esac
           $ECHO > $output "\            $ECHO > $output "\
 # $outputname - a libtool library file  # $outputname - a libtool library file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #  #
 # Please DO NOT delete this file!  # Please DO NOT delete this file!
 # It is necessary for linking the library.  # It is necessary for linking the library.
Line 9393  library_names='$library_names' Line 10671  library_names='$library_names'
 # The name of the static archive.  # The name of the static archive.
 old_library='$old_library'  old_library='$old_library'
   
# Linker flags that can not go in dependency_libs.# Linker flags that cannot go in dependency_libs.
 inherited_linker_flags='$new_inherited_linker_flags'  inherited_linker_flags='$new_inherited_linker_flags'
   
 # Libraries that this one depends upon.  # Libraries that this one depends upon.
Line 9419  dlpreopen='$dlprefiles' Line 10697  dlpreopen='$dlprefiles'
   
 # Directory that this library needs to be installed in:  # Directory that this library needs to be installed in:
 libdir='$install_libdir'"  libdir='$install_libdir'"
          if test "$installed" = no && test "$need_relink" = yes; then          if test no,yes = "$installed,$need_relink"; then
             $ECHO >> $output "\              $ECHO >> $output "\
 relink_command=\"$relink_command\""  relink_command=\"$relink_command\""
           fi            fi
Line 9434  relink_command=\"$relink_command\"" Line 10712  relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS      exit $EXIT_SUCCESS
 }  }
   
{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&if test link = "$opt_mode" || test relink = "$opt_mode"; then
    func_mode_link ${1+"$@"}  func_mode_link ${1+"$@"}
 fi
   
   
 # func_mode_uninstall arg...  # func_mode_uninstall arg...
 func_mode_uninstall ()  func_mode_uninstall ()
 {  {
    $opt_debug    $debug_cmd
    RM="$nonopt"
     RM=$nonopt
     files=      files=
    rmforce=    rmforce=false
     exit_status=0      exit_status=0
   
     # This variable tells wrapper scripts just to set variables rather      # This variable tells wrapper scripts just to set variables rather
     # than running their programs.      # than running their programs.
    libtool_install_magic="$magic"    libtool_install_magic=$magic
   
     for arg      for arg
     do      do
       case $arg in        case $arg in
      -f) func_append RM " $arg"; rmforce=yes ;;      -f) func_append RM " $arg"; rmforce=: ;;
       -*) func_append RM " $arg" ;;        -*) func_append RM " $arg" ;;
       *) func_append files " $arg" ;;        *) func_append files " $arg" ;;
       esac        esac
Line 9467  func_mode_uninstall () Line 10747  func_mode_uninstall ()
   
     for file in $files; do      for file in $files; do
       func_dirname "$file" "" "."        func_dirname "$file" "" "."
      dir="$func_dirname_result"      dir=$func_dirname_result
      if test "X$dir" = X.; then      if test . = "$dir"; then
        odir="$objdir"        odir=$objdir
       else        else
        odir="$dir/$objdir"        odir=$dir/$objdir
       fi        fi
       func_basename "$file"        func_basename "$file"
      name="$func_basename_result"      name=$func_basename_result
      test "$opt_mode" = uninstall && odir="$dir"      test uninstall = "$opt_mode" && odir=$dir
   
       # Remember odir for removal later, being careful to avoid duplicates        # Remember odir for removal later, being careful to avoid duplicates
      if test "$opt_mode" = clean; then      if test clean = "$opt_mode"; then
         case " $rmdirs " in          case " $rmdirs " in
           *" $odir "*) ;;            *" $odir "*) ;;
           *) func_append rmdirs " $odir" ;;            *) func_append rmdirs " $odir" ;;
Line 9493  func_mode_uninstall () Line 10773  func_mode_uninstall ()
       elif test -d "$file"; then        elif test -d "$file"; then
         exit_status=1          exit_status=1
         continue          continue
      elif test "$rmforce" = yes; then      elif $rmforce; then
         continue          continue
       fi        fi
   
      rmfiles="$file"      rmfiles=$file
   
       case $name in        case $name in
       *.la)        *.la)
Line 9511  func_mode_uninstall () Line 10791  func_mode_uninstall ()
           done            done
           test -n "$old_library" && func_append rmfiles " $odir/$old_library"            test -n "$old_library" && func_append rmfiles " $odir/$old_library"
   
          case "$opt_mode" in          case $opt_mode in
           clean)            clean)
             case " $library_names " in              case " $library_names " in
             *" $dlname "*) ;;              *" $dlname "*) ;;
Line 9522  func_mode_uninstall () Line 10802  func_mode_uninstall ()
           uninstall)            uninstall)
             if test -n "$library_names"; then              if test -n "$library_names"; then
               # Do each command in the postuninstall commands.                # Do each command in the postuninstall commands.
              func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'              func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
             fi              fi
   
             if test -n "$old_library"; then              if test -n "$old_library"; then
               # Do each command in the old_postuninstall commands.                # Do each command in the old_postuninstall commands.
              func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'              func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
             fi              fi
             # FIXME: should reinstall the best remaining shared library.              # FIXME: should reinstall the best remaining shared library.
             ;;              ;;
Line 9543  func_mode_uninstall () Line 10823  func_mode_uninstall ()
           func_source $dir/$name            func_source $dir/$name
   
           # Add PIC object to the list of files to remove.            # Add PIC object to the list of files to remove.
          if test -n "$pic_object" &&          if test -n "$pic_object" && test none != "$pic_object"; then
             test "$pic_object" != none; then 
             func_append rmfiles " $dir/$pic_object"              func_append rmfiles " $dir/$pic_object"
           fi            fi
   
           # Add non-PIC object to the list of files to remove.            # Add non-PIC object to the list of files to remove.
          if test -n "$non_pic_object" &&          if test -n "$non_pic_object" && test none != "$non_pic_object"; then
             test "$non_pic_object" != none; then 
             func_append rmfiles " $dir/$non_pic_object"              func_append rmfiles " $dir/$non_pic_object"
           fi            fi
         fi          fi
         ;;          ;;
   
       *)        *)
        if test "$opt_mode" = clean ; then        if test clean = "$opt_mode"; then
           noexename=$name            noexename=$name
           case $file in            case $file in
           *.exe)            *.exe)
Line 9584  func_mode_uninstall () Line 10862  func_mode_uninstall ()
   
             # note $name still contains .exe if it was in $file originally              # note $name still contains .exe if it was in $file originally
             # as does the version of $file that was added into $rmfiles              # as does the version of $file that was added into $rmfiles
            func_append rmfiles " $odir/$name $odir/${name}S.${objext}"            func_append rmfiles " $odir/$name $odir/${name}S.$objext"
            if test "$fast_install" = yes && test -n "$relink_command"; then            if test yes = "$fast_install" && test -n "$relink_command"; then
               func_append rmfiles " $odir/lt-$name"                func_append rmfiles " $odir/lt-$name"
             fi              fi
            if test "X$noexename" != "X$name" ; then            if test "X$noexename" != "X$name"; then
              func_append rmfiles " $odir/lt-${noexename}.c"              func_append rmfiles " $odir/lt-$noexename.c"
             fi              fi
           fi            fi
         fi          fi
Line 9598  func_mode_uninstall () Line 10876  func_mode_uninstall ()
       func_show_eval "$RM $rmfiles" 'exit_status=1'        func_show_eval "$RM $rmfiles" 'exit_status=1'
     done      done
   
    # Try to remove the ${objdir}s in the directories where we deleted files    # Try to remove the $objdir's in the directories where we deleted files
     for dir in $rmdirs; do      for dir in $rmdirs; do
       if test -d "$dir"; then        if test -d "$dir"; then
         func_show_eval "rmdir $dir >/dev/null 2>&1"          func_show_eval "rmdir $dir >/dev/null 2>&1"
Line 9608  func_mode_uninstall () Line 10886  func_mode_uninstall ()
     exit $exit_status      exit $exit_status
 }  }
   
{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
    func_mode_uninstall ${1+"$@"}  func_mode_uninstall ${1+"$@"}
 fi
   
 test -z "$opt_mode" && {  test -z "$opt_mode" && {
  help="$generic_help"  help=$generic_help
   func_fatal_help "you must specify a MODE"    func_fatal_help "you must specify a MODE"
 }  }
   
 test -z "$exec_cmd" && \  test -z "$exec_cmd" && \
  func_fatal_help "invalid operation mode \`$opt_mode'"  func_fatal_help "invalid operation mode '$opt_mode'"
   
 if test -n "$exec_cmd"; then  if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"    eval exec "$exec_cmd"
Line 9628  exit $exit_status Line 10907  exit $exit_status
   
   
 # The TAGs below are defined such that we never get into a situation  # The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries.  Given conflicting# where we disable both kinds of libraries.  Given conflicting
 # choices, we go for a static library, that is the most portable,  # choices, we go for a static library, that is the most portable,
 # since we can't tell whether shared libraries were disabled because  # since we can't tell whether shared libraries were disabled because
 # the user asked for that or because the platform doesn't support  # the user asked for that or because the platform doesn't support
Line 9651  build_old_libs=`case $build_libtool_libs in yes) echo  Line 10930  build_old_libs=`case $build_libtool_libs in yes) echo 
 # mode:shell-script  # mode:shell-script
 # sh-indentation:2  # sh-indentation:2
 # End:  # End:
 # vi:sw=2  
   

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>