Diff for /embedaddon/libxml2/ltmain.sh between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 23:37:58 version 1.1.1.2, 2013/07/22 01:22:19
Line 1 Line 1
 # Generated from ltmain.m4sh.  
   
# libtool (GNU libtool) 2.2.10# libtool (GNU libtool) 2.4
 # 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, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
Line 70 Line 69
 #         compiler:             $LTCC  #         compiler:             $LTCC
 #         compiler flags:               $LTCFLAGS  #         compiler flags:               $LTCFLAGS
 #         linker:               $LD (gnu? $with_gnu_ld)  #         linker:               $LD (gnu? $with_gnu_ld)
#         $progname:    (GNU libtool) 2.2.10#         $progname:    (GNU libtool) 2.4
 #         automake:     $automake_version  #         automake:     $automake_version
 #         autoconf:     $autoconf_version  #         autoconf:     $autoconf_version
 #  #
 # Report bugs to <bug-libtool@gnu.org>.  # 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.2.10VERSION=2.4
 TIMESTAMP=""  TIMESTAMP=""
package_revision=1.3175package_revision=1.3293
   
 # Be Bourne compatible  # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then  if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
Line 163  IFS="  $lt_nl" Line 164  IFS="  $lt_nl"
 dirname="s,/[^/]*$,,"  dirname="s,/[^/]*$,,"
 basename="s,^.*/,,"  basename="s,^.*/,,"
   
   # func_dirname file append nondir_replacement
   # Compute the dirname of FILE.  If nonempty, add APPEND to the result,
   # 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
   
   
   # func_basename file
   func_basename ()
   {
       func_basename_result=`$ECHO "${1}" | $SED "$basename"`
   } # func_basename may be replaced by extended shell implementation
   
   
 # func_dirname_and_basename file append nondir_replacement  # func_dirname_and_basename file append nondir_replacement
 # perform func_basename and func_dirname in a single function  # perform func_basename and func_dirname in a single function
 # call:  # call:
Line 177  basename="s,^.*/,," Line 199  basename="s,^.*/,,"
 # those functions but instead duplicate the functionality here.  # those functions but instead duplicate the functionality here.
 func_dirname_and_basename ()  func_dirname_and_basename ()
 {  {
  # Extract subdirectory from the argument.    # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
  if test "X$func_dirname_result" = "X${1}"; then    if test "X$func_dirname_result" = "X${1}"; then
    func_dirname_result="${3}"      func_dirname_result="${3}"
  else    else
    func_dirname_result="$func_dirname_result${2}"      func_dirname_result="$func_dirname_result${2}"
  fi    fi
  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
}# func_dirname_and_basename may be replaced by extended shell implementation
   
 # Generated shell functions inserted here.  
   
   # func_stripname prefix suffix name
   # strip PREFIX and SUFFIX off of NAME.
   # 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).
   # func_strip_suffix prefix name
   func_stripname ()
   {
       case ${2} in
         .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
         *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
       esac
   } # func_stripname may be replaced by extended shell implementation
   
   
 # These SED scripts presuppose an absolute path with a trailing slash.  # These SED scripts presuppose an absolute path with a trailing slash.
 pathcar='s,^/\([^/]*\).*$,\1,'  pathcar='s,^/\([^/]*\).*$,\1,'
 pathcdr='s,^/[^/]*,,'  pathcdr='s,^/[^/]*,,'
Line 370  sed_quote_subst='s/\([`"$\\]\)/\\\1/g' Line 406  sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
 # Same as above, but do not quote variable references.  # Same as above, but do not quote variable references.
 double_quote_subst='s/\(["`\\]\)/\\\1/g'  double_quote_subst='s/\(["`\\]\)/\\\1/g'
   
   # Sed substitution that turns a string into a regex matching for the
   # string literally.
   sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
   
   # 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  # Re-`\' parameter expansions in output of double_quote_subst that were
 # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'  # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
 # in input to double_quote_subst, that '$' was protected from expansion.  # in input to double_quote_subst, that '$' was protected from expansion.
Line 398  opt_warning=: Line 443  opt_warning=:
 # name if it has been set yet.  # name if it has been set yet.
 func_echo ()  func_echo ()
 {  {
    $ECHO "$progname${mode+: }$mode: $*"    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
 }  }
   
 # func_verbose arg...  # func_verbose arg...
Line 424  func_echo_all () Line 469  func_echo_all ()
 # Echo program name prefixed message to standard error.  # Echo program name prefixed message to standard error.
 func_error ()  func_error ()
 {  {
    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
 }  }
   
 # func_warning arg...  # func_warning arg...
 # Echo program name prefixed warning message to standard error.  # Echo program name prefixed warning message to standard error.
 func_warning ()  func_warning ()
 {  {
    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
   
     # bash bug again:      # bash bug again:
     :      :
Line 650  func_show_eval_locale () Line 695  func_show_eval_locale ()
     fi      fi
 }  }
   
   # func_tr_sh
   # Turn $1 into a string suitable for a shell variable name.
   # Result is stored in $func_tr_sh_result.  All characters
   # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
   # if $1 begins with a digit, a '_' is prepended as well.
   func_tr_sh ()
   {
     case $1 in
     [0-9]* | *[!a-zA-Z0-9_]*)
       func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
       ;;
     * )
       func_tr_sh_result=$1
       ;;
     esac
   }
   
   
 # func_version  # func_version
 # Echo version message to standard output and exit.  # Echo version message to standard output and exit.
 func_version ()  func_version ()
 {  {
       $opt_debug
   
     $SED -n '/(C)/!b go      $SED -n '/(C)/!b go
         :more          :more
         /\./!{          /\./!{
Line 676  func_version () Line 740  func_version ()
 # Echo short help message to standard output and exit.  # Echo short help message to standard output and exit.
 func_usage ()  func_usage ()
 {  {
       $opt_debug
   
     $SED -n '/^# Usage:/,/^#  *.*--help/ {      $SED -n '/^# Usage:/,/^#  *.*--help/ {
         s/^# //          s/^# //
         s/^# *$//          s/^# *$//
Line 692  func_usage () Line 758  func_usage ()
 # unless 'noexit' is passed as argument.  # unless 'noexit' is passed as argument.
 func_help ()  func_help ()
 {  {
       $opt_debug
   
     $SED -n '/^# Usage:/,/# Report bugs to/ {      $SED -n '/^# Usage:/,/# Report bugs to/ {
           :print
         s/^# //          s/^# //
         s/^# *$//          s/^# *$//
         s*\$progname*'$progname'*          s*\$progname*'$progname'*
Line 705  func_help () Line 774  func_help ()
         s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/          s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
         s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/          s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
         p          p
     }' < "$progpath"        d
      }
      /^# .* home page:/b print
      /^# General help using/b print
      ' < "$progpath"
     ret=$?      ret=$?
     if test -z "$1"; then      if test -z "$1"; then
       exit $ret        exit $ret
Line 717  func_help () Line 790  func_help ()
 # exit_cmd.  # exit_cmd.
 func_missing_arg ()  func_missing_arg ()
 {  {
       $opt_debug
   
     func_error "missing argument for $1."      func_error "missing argument for $1."
     exit_cmd=exit      exit_cmd=exit
 }  }
   
 exit_cmd=:  
   
   # func_split_short_opt shortopt
   # Set func_split_short_opt_name and func_split_short_opt_arg shell
   # variables after splitting SHORTOPT after the 2nd character.
   func_split_short_opt ()
   {
       my_sed_short_opt='1s/^\(..\).*$/\1/;q'
       my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
   
       func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
       func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
   } # func_split_short_opt may be replaced by extended shell implementation
   
   
   # func_split_long_opt longopt
   # Set func_split_long_opt_name and func_split_long_opt_arg shell
   # variables after splitting LONGOPT at the `=' sign.
   func_split_long_opt ()
   {
       my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
       my_sed_long_arg='1s/^--[^=]*=//'
   
       func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
       func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
   } # func_split_long_opt may be replaced by extended shell implementation
   
   exit_cmd=:
   
   
   
   
   
 magic="%%%MAGIC variable%%%"  magic="%%%MAGIC variable%%%"
 magic_exe="%%%MAGIC EXE variable%%%"  magic_exe="%%%MAGIC EXE variable%%%"
   
 # Global variables.  # Global variables.
 # $mode is unset  
 nonopt=  nonopt=
 execute_dlfiles=  
 preserve_args=  preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"  lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"  o2lo="s/\\.${objext}\$/.lo/"
 extracted_archives=  extracted_archives=
 extracted_serial=0  extracted_serial=0
   
 opt_dry_run=false  
 opt_duplicate_deps=false  
 opt_silent=false  
 opt_debug=:  
   
 # If this variable is set in any of the actions, the command in it  # 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  # will be execed at the end.  This prevents here-documents from being
 # left over by shells.  # left over by shells.
 exec_cmd=  exec_cmd=
   
   # func_append var value
   # Append VALUE to the end of shell variable VAR.
   func_append ()
   {
       eval "${1}=\$${1}\${2}"
   } # func_append may be replaced by extended shell implementation
   
   # func_append_quoted var value
   # 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_arith arithmetic-term...
   func_arith ()
   {
       func_arith_result=`expr "${@}"`
   } # func_arith may be replaced by extended shell implementation
   
   
   # 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
   
   
   # func_lo2o object
   func_lo2o ()
   {
       func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
   } # func_lo2o may be replaced by extended shell implementation
   
   
   # func_xform libobj-or-source
   func_xform ()
   {
       func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
   } # func_xform may be replaced by extended shell implementation
   
   
 # func_fatal_configuration arg...  # 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.
Line 840  func_enable_tag () Line 979  func_enable_tag ()
   esac    esac
 }  }
   
# Parse options once, thoroughly.  This comes as soon as possible in# func_check_version_match
# the script to make things like `libtool --version' happen quickly.# Ensure that we are using m4 macros, and libtool script from the same
 # release of libtool.
 func_check_version_match ()
 {  {
     if test "$package_revision" != "$macro_revision"; then
       if test "$VERSION" != "$macro_version"; then
         if test -z "$macro_version"; then
           cat >&2 <<_LT_EOF
   $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   $progname: definition of this LT_INIT comes from an older release.
   $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   $progname: and run autoconf again.
   _LT_EOF
         else
           cat >&2 <<_LT_EOF
   $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
   $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
   $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
   $progname: and run autoconf again.
   _LT_EOF
         fi
       else
         cat >&2 <<_LT_EOF
   $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
   $progname: but the definition of this LT_INIT comes from revision $macro_revision.
   $progname: You should recreate aclocal.m4 with macros from revision $package_revision
   $progname: of $PACKAGE $VERSION and run autoconf again.
   _LT_EOF
       fi
   
  # Shorthand for --mode=foo, only valid as the first argument    exit $EXIT_MISMATCH
  case $1 in  fi
  clean|clea|cle|cl)}
    shift; set dummy --mode clean ${1+"$@"}; shift 
    ;; 
  compile|compil|compi|comp|com|co|c) 
    shift; set dummy --mode compile ${1+"$@"}; shift 
    ;; 
  execute|execut|execu|exec|exe|ex|e) 
    shift; set dummy --mode execute ${1+"$@"}; shift 
    ;; 
  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 
   
  # Parse non-mode specific arguments:
  while test "$#" -gt 0; do# Shorthand for --mode=foo, only valid as the first argument
 case $1 in
 clean|clea|cle|cl)
   shift; set dummy --mode clean ${1+"$@"}; shift
   ;;
 compile|compil|compi|comp|com|co|c)
   shift; set dummy --mode compile ${1+"$@"}; shift
   ;;
 execute|execut|execu|exec|exe|ex|e)
   shift; set dummy --mode execute ${1+"$@"}; shift
   ;;
 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_debug=:
 opt_dry_run=false
 opt_config=false
 opt_preserve_dup_deps=false
 opt_features=false
 opt_finish=false
 opt_help=false
 opt_help_all=false
 opt_silent=:
 opt_verbose=:
 opt_silent=false
 opt_verbose=false
 
 
 # Parse options once, thoroughly.  This comes as soon as possible in the
 # script to make things like `--version' happen as quickly as we can.
 {
   # this just eases exit handling
   while test $# -gt 0; do
     opt="$1"      opt="$1"
     shift      shift
   
     case $opt in      case $opt in
      --config)         func_config                                     ;;      --debug|-x)    opt_debug='set -x'
 
      --debug)               preserve_args="$preserve_args $opt" 
                         func_echo "enabling shell trace mode"                          func_echo "enabling shell trace mode"
                         opt_debug='set -x'  
                         $opt_debug                          $opt_debug
                         ;;                          ;;
      --dry-run|--dryrun|-n)
      -dlopen)          test "$#" -eq 0 && func_missing_arg "$opt" && break                        opt_dry_run=:
                        execute_dlfiles="$execute_dlfiles $1" 
                        shift 
                         ;;                          ;;
      --config)
      --dry-run | -n)        opt_dry_run=:                                       ;;                        opt_config=:
      --features)       func_features                                        ;;func_config
      --finish)         mode="finish"                                   ;;                        ;;
      --dlopen|-dlopen)
      --mode)           test "$#" -eq 0 && func_missing_arg "$opt" && break                        optarg="$1"
                        case $1 in                        opt_dlopen="${opt_dlopen+$opt_dlopen
                          # Valid mode arguments:}$optarg"
                          clean)        ;; 
                          compile)      ;; 
                          execute)      ;; 
                          finish)       ;; 
                          install)      ;; 
                          link)         ;; 
                          relink)       ;; 
                          uninstall)    ;; 
 
                          # Catch anything else as an error 
                          *) func_error "invalid argument for $opt" 
                             exit_cmd=exit 
                             break 
                             ;; 
                        esac 
 
                        mode="$1" 
                         shift                          shift
                         ;;                          ;;
   
       --preserve-dup-deps)        --preserve-dup-deps)
                        opt_duplicate_deps=:                                ;;                        opt_preserve_dup_deps=:
 
      --quiet|--silent)        preserve_args="$preserve_args $opt" 
                        opt_silent=: 
                        opt_verbose=false 
                         ;;                          ;;
      --features)
      --no-quiet|--no-silent)                        opt_features=:
                        preserve_args="$preserve_args $opt"func_features
                        opt_silent=false 
                         ;;                          ;;
         --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) ;;
   
      --verbose| -v)    preserve_args="$preserve_args $opt"  # Catch anything else as an error
   *) func_error "invalid argument for $opt"
      exit_cmd=exit
      break
      ;;
 esac
                         shift
                         ;;
       --no-silent|--no-quiet)
                         opt_silent=false                          opt_silent=false
                        opt_verbose=:func_append preserve_args " $opt"
                         ;;                          ;;
      --no-verbose)
      --no-verbose)     preserve_args="$preserve_args $opt" 
                         opt_verbose=false                          opt_verbose=false
   func_append preserve_args " $opt"
                         ;;                          ;;
      --silent|--quiet)
      --tag)            test "$#" -eq 0 && func_missing_arg "$opt" && break                        opt_silent=:
                        preserve_args="$preserve_args $opt $1"func_append preserve_args " $opt"
                        func_enable_tag "$1"      # tagname is set here        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                          shift
                         ;;                          ;;
   
         -\?|-h)           func_usage                              ;;
         --help)           func_help                               ;;
         --version)        func_version                            ;;
   
       # Separate optargs to long options:        # Separate optargs to long options:
      -dlopen=*|--mode=*|--tag=*)      --*=*)
                        func_opt_split "$opt"                        func_split_long_opt "$opt"
                        set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}                        set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
                         shift                          shift
                         ;;                          ;;
   
      -\?|-h)           func_usage                                      ;;      # Separate non-argument short options:
      --help)           opt_help=:                                      ;;      -\?*|-h*|-n*|-v*)
      --help-all)       opt_help=': help-all'                           ;;                        func_split_short_opt "$opt"
      --version)        func_version                                    ;;                        set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
                        shift
      -*)               func_fatal_help "unrecognized option \`$opt'"        ;; 
 
      *)                nonopt="$opt" 
                        break 
                         ;;                          ;;
   
         --)               break                                   ;;
         -*)               func_fatal_help "unrecognized option \`$opt'" ;;
         *)                set dummy "$opt" ${1+"$@"};     shift; break  ;;
     esac      esac
   done    done
   
     # Validate options:
   
     # save first non-option argument
     if test "$#" -gt 0; then
       nonopt="$opt"
       shift
     fi
   
     # preserve --debug
     test "$opt_debug" = : || func_append preserve_args " --debug"
   
   case $host in    case $host in
     *cygwin* | *mingw* | *pw32* | *cegcc*)      *cygwin* | *mingw* | *pw32* | *cegcc*)
       # don't eliminate duplications in $postdeps and $predeps        # don't eliminate duplications in $postdeps and $predeps
       opt_duplicate_compiler_generated_deps=:        opt_duplicate_compiler_generated_deps=:
       ;;        ;;
     *)      *)
      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
       ;;        ;;
   esac    esac
   
  # Having warned about all mis-specified options, bail out if  $opt_help || {
  # anything was wrong.    # Sanity checks first:
  $exit_cmd $EXIT_FAILURE    func_check_version_match
} 
   
# func_check_version_match    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
# Ensure that we are using m4 macros, and libtool script from the same      func_fatal_configuration "not configured to build any kind of library"
# release of libtool. 
func_check_version_match () 
{ 
  if test "$package_revision" != "$macro_revision"; then 
    if test "$VERSION" != "$macro_version"; then 
      if test -z "$macro_version"; then 
        cat >&2 <<_LT_EOF 
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the 
$progname: definition of this LT_INIT comes from an older release. 
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION 
$progname: and run autoconf again. 
_LT_EOF 
      else 
        cat >&2 <<_LT_EOF 
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the 
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. 
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION 
$progname: and run autoconf again. 
_LT_EOF 
      fi 
    else 
      cat >&2 <<_LT_EOF 
$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision, 
$progname: but the definition of this LT_INIT comes from revision $macro_revision. 
$progname: You should recreate aclocal.m4 with macros from revision $package_revision 
$progname: of $PACKAGE $VERSION and run autoconf again. 
_LT_EOF 
     fi      fi
   
    exit $EXIT_MISMATCH    # Darwin sucks
  fi    eval std_shrext=\"$shrext_cmds\"
} 
   
       # Only execute mode is allowed to have -dlopen flags.
       if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
         func_error "unrecognized option \`-dlopen'"
         $ECHO "$help" 1>&2
         exit $EXIT_FAILURE
       fi
   
## ----------- ##    # Change the help message to a mode-specific one.
##    Main.    ##    generic_help="$help"
## ----------- ##    help="Try \`$progname --help --mode=$opt_mode' for more information."
   }
   
 $opt_help || {  
   # Sanity checks first:  
   func_check_version_match  
   
  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then  # Bail if the options were screwed
    func_fatal_configuration "not configured to build any kind of library"  $exit_cmd $EXIT_FAILURE
  fi}
   
   test -z "$mode" && func_fatal_error "error: you must specify a MODE."  
   
   
   # Darwin sucks  
   eval std_shrext=\"$shrext_cmds\"  
   
   ## ----------- ##
   ##    Main.    ##
   ## ----------- ##
   
   # Only execute mode is allowed to have -dlopen flags.  
   if test -n "$execute_dlfiles" && test "$mode" != execute; then  
     func_error "unrecognized option \`-dlopen'"  
     $ECHO "$help" 1>&2  
     exit $EXIT_FAILURE  
   fi  
   
   # Change the help message to a mode-specific one.  
   generic_help="$help"  
   help="Try \`$progname --help --mode=$mode' for more information."  
 }  
   
   
 # func_lalib_p file  # 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
Line 1110  func_ltwrapper_executable_p () Line 1286  func_ltwrapper_executable_p ()
 # temporary ltwrapper_script.  # temporary ltwrapper_script.
 func_ltwrapper_scriptname ()  func_ltwrapper_scriptname ()
 {  {
    func_ltwrapper_scriptname_result=""    func_dirname_and_basename "$1" "" "."
    if func_ltwrapper_executable_p "$1"; then    func_stripname '' '.exe' "$func_basename_result"
        func_dirname_and_basename "$1" "" "."    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
        func_stripname '' '.exe' "$func_basename_result" 
        func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" 
    fi 
 }  }
   
 # func_ltwrapper_p file  # func_ltwrapper_p file
Line 1161  func_source () Line 1334  func_source ()
 }  }
   
   
   # func_resolve_sysroot PATH
   # Replace a leading = in PATH with a sysroot.  Store the result into
   # func_resolve_sysroot_result
   func_resolve_sysroot ()
   {
     func_resolve_sysroot_result=$1
     case $func_resolve_sysroot_result in
     =*)
       func_stripname '=' '' "$func_resolve_sysroot_result"
       func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
       ;;
     esac
   }
   
   # func_replace_sysroot PATH
   # If PATH begins with the sysroot, replace it with = and
   # store the result into func_replace_sysroot_result.
   func_replace_sysroot ()
   {
     case "$lt_sysroot:$1" in
     ?*:"$lt_sysroot"*)
       func_stripname "$lt_sysroot" '' "$1"
       func_replace_sysroot_result="=$func_stripname_result"
       ;;
     *)
       # Including no sysroot.
       func_replace_sysroot_result=$1
       ;;
     esac
   }
   
 # func_infer_tag arg  # func_infer_tag arg
 # Infer tagged configuration to use if any are available and  # Infer tagged configuration to use if any are available and
 # if one wasn't chosen via the "--tag" command line option.  # if one wasn't chosen via the "--tag" command line option.
Line 1173  func_infer_tag () Line 1377  func_infer_tag ()
     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
        func_quote_for_eval "$arg"        func_append_quoted CC_quoted "$arg"
        CC_quoted="$CC_quoted $func_quote_for_eval_result" 
       done        done
       CC_expanded=`func_echo_all $CC`        CC_expanded=`func_echo_all $CC`
       CC_quoted_expanded=`func_echo_all $CC_quoted`        CC_quoted_expanded=`func_echo_all $CC_quoted`
Line 1193  func_infer_tag () Line 1396  func_infer_tag ()
             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.
              func_quote_for_eval "$arg"              func_append_quoted CC_quoted "$arg"
              CC_quoted="$CC_quoted $func_quote_for_eval_result" 
             done              done
             CC_expanded=`func_echo_all $CC`              CC_expanded=`func_echo_all $CC`
             CC_quoted_expanded=`func_echo_all $CC_quoted`              CC_quoted_expanded=`func_echo_all $CC_quoted`
Line 1263  EOF Line 1465  EOF
     }      }
 }  }
   
   
   ##################################################
   # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
   ##################################################
   
   # func_convert_core_file_wine_to_w32 ARG
   # Helper function used by file name conversion functions when $build is *nix,
   # and $host is mingw, cygwin, or some other w32 environment. Relies on a
   # correctly configured wine environment available, with the winepath program
   # in $build's $PATH.
   #
   # ARG is the $build file name to be converted to w32 format.
   # Result is available in $func_convert_core_file_wine_to_w32_result, and will
   # be empty on error (or when ARG is empty)
   func_convert_core_file_wine_to_w32 ()
   {
     $opt_debug
     func_convert_core_file_wine_to_w32_result="$1"
     if test -n "$1"; then
       # 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
       # command is not found, the shell will set an exit code of 127 and print
       # *an error message* to stdout. So we must check for both error code of
       # zero AND non-empty stdout, which explains the odd construction:
       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
         func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
           $SED -e "$lt_sed_naive_backslashify"`
       else
         func_convert_core_file_wine_to_w32_result=
       fi
     fi
   }
   # end: func_convert_core_file_wine_to_w32
   
   
   # func_convert_core_path_wine_to_w32 ARG
   # Helper function used by path conversion functions when $build is *nix, and
   # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
   # configured wine environment available, with the winepath program in $build's
   # $PATH. Assumes ARG has no leading or trailing path separator characters.
   #
   # ARG is path to be converted from $build format to win32.
   # Result is available in $func_convert_core_path_wine_to_w32_result.
   # Unconvertible file (directory) names in ARG are skipped; if no directory names
   # are convertible, then the result may be empty.
   func_convert_core_path_wine_to_w32 ()
   {
     $opt_debug
     # unfortunately, winepath doesn't convert paths, only file names
     func_convert_core_path_wine_to_w32_result=""
     if test -n "$1"; then
       oldIFS=$IFS
       IFS=:
       for func_convert_core_path_wine_to_w32_f in $1; do
         IFS=$oldIFS
         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 -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"
           else
             func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
           fi
         fi
       done
       IFS=$oldIFS
     fi
   }
   # end: func_convert_core_path_wine_to_w32
   
   
   # func_cygpath ARGS...
   # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
   # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
   # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
   # (2), returns the Cygwin file name or path in func_cygpath_result (input
   # file name or path is assumed to be in w32 format, as previously converted
   # from $build's *nix or MSYS format). In case (3), returns the w32 file name
   # or path in func_cygpath_result (input file name or path is assumed to be in
   # Cygwin format). Returns an empty string on error.
   #
   # ARGS are passed to cygpath, with the last one being the file name or path to
   # be converted.
   #
   # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
   # environment variable; do not put it in $PATH.
   func_cygpath ()
   {
     $opt_debug
     if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
       func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
       if test "$?" -ne 0; then
         # on failure, ensure result is empty
         func_cygpath_result=
       fi
     else
       func_cygpath_result=
       func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
     fi
   }
   #end: func_cygpath
   
   
   # func_convert_core_msys_to_w32 ARG
   # Convert file name or path ARG from MSYS format to w32 format.  Return
   # result in func_convert_core_msys_to_w32_result.
   func_convert_core_msys_to_w32 ()
   {
     $opt_debug
     # awkward: cmd appends spaces to result
     func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
       $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
   }
   #end: func_convert_core_msys_to_w32
   
   
   # func_convert_file_check ARG1 ARG2
   # Verify that ARG1 (a file name in $build format) was converted to $host
   # format in ARG2. Otherwise, emit an error message, but continue (resetting
   # func_to_host_file_result to ARG1).
   func_convert_file_check ()
   {
     $opt_debug
     if test -z "$2" && test -n "$1" ; then
       func_error "Could not determine host file name corresponding to"
       func_error "  \`$1'"
       func_error "Continuing, but uninstalled executables may not work."
       # Fallback:
       func_to_host_file_result="$1"
     fi
   }
   # end func_convert_file_check
   
   
   # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
   # Verify that FROM_PATH (a path in $build format) was converted to $host
   # format in TO_PATH. Otherwise, emit an error message, but continue, resetting
   # func_to_host_file_result to a simplistic fallback value (see below).
   func_convert_path_check ()
   {
     $opt_debug
     if test -z "$4" && test -n "$3"; then
       func_error "Could not determine the host path corresponding to"
       func_error "  \`$3'"
       func_error "Continuing, but uninstalled executables may not work."
       # Fallback.  This is a deliberately simplistic "conversion" and
       # should not be "improved".  See libtool.info.
       if test "x$1" != "x$2"; then
         lt_replace_pathsep_chars="s|$1|$2|g"
         func_to_host_path_result=`echo "$3" |
           $SED -e "$lt_replace_pathsep_chars"`
       else
         func_to_host_path_result="$3"
       fi
     fi
   }
   # end func_convert_path_check
   
   
   # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
   # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
   # and appending REPL if ORIG matches BACKPAT.
   func_convert_path_front_back_pathsep ()
   {
     $opt_debug
     case $4 in
     $1 ) func_to_host_path_result="$3$func_to_host_path_result"
       ;;
     esac
     case $4 in
     $2 ) func_append func_to_host_path_result "$3"
       ;;
     esac
   }
   # end func_convert_path_front_back_pathsep
   
   
   ##################################################
   # $build to $host FILE NAME CONVERSION FUNCTIONS #
   ##################################################
   # invoked via `$to_host_file_cmd ARG'
   #
   # 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.
   
   
   # func_to_host_file ARG
   # Converts the file name ARG from $build format to $host format. Return result
   # in func_to_host_file_result.
   func_to_host_file ()
   {
     $opt_debug
     $to_host_file_cmd "$1"
   }
   # end func_to_host_file
   
   
   # func_to_tool_file ARG LAZY
   # converts the file name ARG from $build format to toolchain format. Return
   # result in func_to_tool_file_result.  If the conversion in use is listed
   # in (the comma separated) LAZY, no conversion takes place.
   func_to_tool_file ()
   {
     $opt_debug
     case ,$2, in
       *,"$to_tool_file_cmd",*)
         func_to_tool_file_result=$1
         ;;
       *)
         $to_tool_file_cmd "$1"
         func_to_tool_file_result=$func_to_host_file_result
         ;;
     esac
   }
   # end func_to_tool_file
   
   
   # func_convert_file_noop ARG
   # Copy ARG to func_to_host_file_result.
   func_convert_file_noop ()
   {
     func_to_host_file_result="$1"
   }
   # end func_convert_file_noop
   
   
   # func_convert_file_msys_to_w32 ARG
   # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
   # conversion to w32 is not available inside the cwrapper.  Returns result in
   # func_to_host_file_result.
   func_convert_file_msys_to_w32 ()
   {
     $opt_debug
     func_to_host_file_result="$1"
     if test -n "$1"; then
       func_convert_core_msys_to_w32 "$1"
       func_to_host_file_result="$func_convert_core_msys_to_w32_result"
     fi
     func_convert_file_check "$1" "$func_to_host_file_result"
   }
   # end func_convert_file_msys_to_w32
   
   
   # func_convert_file_cygwin_to_w32 ARG
   # Convert file name ARG from Cygwin to w32 format.  Returns result in
   # func_to_host_file_result.
   func_convert_file_cygwin_to_w32 ()
   {
     $opt_debug
     func_to_host_file_result="$1"
     if test -n "$1"; then
       # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
       # LT_CYGPATH in this case.
       func_to_host_file_result=`cygpath -m "$1"`
     fi
     func_convert_file_check "$1" "$func_to_host_file_result"
   }
   # end func_convert_file_cygwin_to_w32
   
   
   # func_convert_file_nix_to_w32 ARG
   # Convert file name ARG from *nix to w32 format.  Requires a wine environment
   # and a working winepath. Returns result in func_to_host_file_result.
   func_convert_file_nix_to_w32 ()
   {
     $opt_debug
     func_to_host_file_result="$1"
     if test -n "$1"; then
       func_convert_core_file_wine_to_w32 "$1"
       func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
     fi
     func_convert_file_check "$1" "$func_to_host_file_result"
   }
   # end func_convert_file_nix_to_w32
   
   
   # func_convert_file_msys_to_cygwin ARG
   # Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
   # Returns result in func_to_host_file_result.
   func_convert_file_msys_to_cygwin ()
   {
     $opt_debug
     func_to_host_file_result="$1"
     if test -n "$1"; then
       func_convert_core_msys_to_w32 "$1"
       func_cygpath -u "$func_convert_core_msys_to_w32_result"
       func_to_host_file_result="$func_cygpath_result"
     fi
     func_convert_file_check "$1" "$func_to_host_file_result"
   }
   # end func_convert_file_msys_to_cygwin
   
   
   # func_convert_file_nix_to_cygwin ARG
   # Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
   # in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
   # in func_to_host_file_result.
   func_convert_file_nix_to_cygwin ()
   {
     $opt_debug
     func_to_host_file_result="$1"
     if test -n "$1"; then
       # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
       func_convert_core_file_wine_to_w32 "$1"
       func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
       func_to_host_file_result="$func_cygpath_result"
     fi
     func_convert_file_check "$1" "$func_to_host_file_result"
   }
   # end func_convert_file_nix_to_cygwin
   
   
   #############################################
   # $build to $host PATH CONVERSION FUNCTIONS #
   #############################################
   # invoked via `$to_host_path_cmd ARG'
   #
   # 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.
   #
   # Path separators are also converted from $build format to $host format.  If
   # ARG begins or ends with a path separator character, it is preserved (but
   # converted to $host format) on output.
   #
   # All path conversion functions are named using the following convention:
   #   file name conversion function    : func_convert_file_X_to_Y ()
   #   path conversion function         : func_convert_path_X_to_Y ()
   # where, for any given $build/$host combination the 'X_to_Y' value is the
   # same.  If conversion functions are added for new $build/$host combinations,
   # the two new functions must follow this pattern, or func_init_to_host_path_cmd
   # will break.
   
   
   # func_init_to_host_path_cmd
   # Ensures that function "pointer" variable $to_host_path_cmd is set to the
   # appropriate value, based on the value of $to_host_file_cmd.
   to_host_path_cmd=
   func_init_to_host_path_cmd ()
   {
     $opt_debug
     if test -z "$to_host_path_cmd"; then
       func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
       to_host_path_cmd="func_convert_path_${func_stripname_result}"
     fi
   }
   
   
   # func_to_host_path ARG
   # Converts the path ARG from $build format to $host format. Return result
   # in func_to_host_path_result.
   func_to_host_path ()
   {
     $opt_debug
     func_init_to_host_path_cmd
     $to_host_path_cmd "$1"
   }
   # end func_to_host_path
   
   
   # func_convert_path_noop ARG
   # Copy ARG to func_to_host_path_result.
   func_convert_path_noop ()
   {
     func_to_host_path_result="$1"
   }
   # end func_convert_path_noop
   
   
   # func_convert_path_msys_to_w32 ARG
   # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
   # conversion to w32 is not available inside the cwrapper.  Returns result in
   # func_to_host_path_result.
   func_convert_path_msys_to_w32 ()
   {
     $opt_debug
     func_to_host_path_result="$1"
     if test -n "$1"; then
       # Remove leading and trailing path separator characters from ARG.  MSYS
       # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
       # and winepath ignores them completely.
       func_stripname : : "$1"
       func_to_host_path_tmp1=$func_stripname_result
       func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
       func_to_host_path_result="$func_convert_core_msys_to_w32_result"
       func_convert_path_check : ";" \
         "$func_to_host_path_tmp1" "$func_to_host_path_result"
       func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
     fi
   }
   # end func_convert_path_msys_to_w32
   
   
   # func_convert_path_cygwin_to_w32 ARG
   # Convert path ARG from Cygwin to w32 format.  Returns result in
   # func_to_host_file_result.
   func_convert_path_cygwin_to_w32 ()
   {
     $opt_debug
     func_to_host_path_result="$1"
     if test -n "$1"; then
       # See func_convert_path_msys_to_w32:
       func_stripname : : "$1"
       func_to_host_path_tmp1=$func_stripname_result
       func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
       func_convert_path_check : ";" \
         "$func_to_host_path_tmp1" "$func_to_host_path_result"
       func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
     fi
   }
   # end func_convert_path_cygwin_to_w32
   
   
   # func_convert_path_nix_to_w32 ARG
   # Convert path ARG from *nix to w32 format.  Requires a wine environment and
   # a working winepath.  Returns result in func_to_host_file_result.
   func_convert_path_nix_to_w32 ()
   {
     $opt_debug
     func_to_host_path_result="$1"
     if test -n "$1"; then
       # See func_convert_path_msys_to_w32:
       func_stripname : : "$1"
       func_to_host_path_tmp1=$func_stripname_result
       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_convert_path_check : ";" \
         "$func_to_host_path_tmp1" "$func_to_host_path_result"
       func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
     fi
   }
   # end func_convert_path_nix_to_w32
   
   
   # func_convert_path_msys_to_cygwin ARG
   # Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
   # Returns result in func_to_host_file_result.
   func_convert_path_msys_to_cygwin ()
   {
     $opt_debug
     func_to_host_path_result="$1"
     if test -n "$1"; then
       # See func_convert_path_msys_to_w32:
       func_stripname : : "$1"
       func_to_host_path_tmp1=$func_stripname_result
       func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
       func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
       func_to_host_path_result="$func_cygpath_result"
       func_convert_path_check : : \
         "$func_to_host_path_tmp1" "$func_to_host_path_result"
       func_convert_path_front_back_pathsep ":*" "*:" : "$1"
     fi
   }
   # end func_convert_path_msys_to_cygwin
   
   
   # func_convert_path_nix_to_cygwin ARG
   # Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
   # a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
   # func_to_host_file_result.
   func_convert_path_nix_to_cygwin ()
   {
     $opt_debug
     func_to_host_path_result="$1"
     if test -n "$1"; then
       # Remove leading and trailing path separator characters from
       # ARG. msys behavior is inconsistent here, cygpath turns them
       # into '.;' and ';.', and winepath ignores them completely.
       func_stripname : : "$1"
       func_to_host_path_tmp1=$func_stripname_result
       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_to_host_path_result="$func_cygpath_result"
       func_convert_path_check : : \
         "$func_to_host_path_tmp1" "$func_to_host_path_result"
       func_convert_path_front_back_pathsep ":*" "*:" : "$1"
     fi
   }
   # end func_convert_path_nix_to_cygwin
   
   
 # func_mode_compile arg...  # func_mode_compile arg...
 func_mode_compile ()  func_mode_compile ()
 {  {
Line 1303  func_mode_compile () Line 1985  func_mode_compile ()
           ;;            ;;
   
         -pie | -fpie | -fPIE)          -pie | -fpie | -fPIE)
          pie_flag="$pie_flag $arg"          func_append pie_flag " $arg"
           continue            continue
           ;;            ;;
   
         -shared | -static | -prefer-pic | -prefer-non-pic)          -shared | -static | -prefer-pic | -prefer-non-pic)
          later="$later $arg"          func_append later " $arg"
           continue            continue
           ;;            ;;
   
Line 1329  func_mode_compile () Line 2011  func_mode_compile ()
           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_quote_for_eval "$arg"            func_append_quoted lastarg "$arg"
            lastarg="$lastarg $func_quote_for_eval_result" 
           done            done
           IFS="$save_ifs"            IFS="$save_ifs"
           func_stripname ' ' '' "$lastarg"            func_stripname ' ' '' "$lastarg"
           lastarg=$func_stripname_result            lastarg=$func_stripname_result
   
           # Add the arguments to base_compile.            # Add the arguments to base_compile.
          base_compile="$base_compile $lastarg"          func_append base_compile " $lastarg"
           continue            continue
           ;;            ;;
   
Line 1353  func_mode_compile () Line 2034  func_mode_compile ()
       esac    #  case $arg_mode        esac    #  case $arg_mode
   
       # Aesthetically quote the previous argument.        # Aesthetically quote the previous argument.
      func_quote_for_eval "$lastarg"      func_append_quoted base_compile "$lastarg"
      base_compile="$base_compile $func_quote_for_eval_result" 
     done # for arg      done # for arg
   
     case $arg_mode in      case $arg_mode in
Line 1485  compiler." Line 2165  compiler."
         $opt_dry_run || $RM $removelist          $opt_dry_run || $RM $removelist
         exit $EXIT_FAILURE          exit $EXIT_FAILURE
       fi        fi
      removelist="$removelist $output_obj"      func_append removelist " $output_obj"
       $ECHO "$srcfile" > "$lockfile"        $ECHO "$srcfile" > "$lockfile"
     fi      fi
   
     $opt_dry_run || $RM $removelist      $opt_dry_run || $RM $removelist
    removelist="$removelist $lockfile"    func_append removelist " $lockfile"
     trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15      trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
   
    if test -n "$fix_srcfile_path"; then    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
      eval srcfile=\"$fix_srcfile_path\"    srcfile=$func_to_tool_file_result
    fi 
     func_quote_for_eval "$srcfile"      func_quote_for_eval "$srcfile"
     qsrcfile=$func_quote_for_eval_result      qsrcfile=$func_quote_for_eval_result
   
Line 1515  compiler." Line 2194  compiler."
   
       if test -z "$output_obj"; then        if test -z "$output_obj"; then
         # Place PIC objects in $objdir          # Place PIC objects in $objdir
        command="$command -o $lobj"        func_append command " -o $lobj"
       fi        fi
   
       func_show_eval_locale "$command"  \        func_show_eval_locale "$command"  \
Line 1562  compiler." Line 2241  compiler."
         command="$base_compile $qsrcfile $pic_flag"          command="$base_compile $qsrcfile $pic_flag"
       fi        fi
       if test "$compiler_c_o" = yes; then        if test "$compiler_c_o" = yes; then
        command="$command -o $obj"        func_append command " -o $obj"
       fi        fi
   
       # Suppress compiler output if we already did a PIC compilation.        # Suppress compiler output if we already did a PIC compilation.
      command="$command$suppress_output"      func_append command "$suppress_output"
       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'
   
Line 1611  compiler." Line 2290  compiler."
 }  }
   
 $opt_help || {  $opt_help || {
  test "$mode" = compile && func_mode_compile ${1+"$@"}  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
 }  }
   
 func_mode_help ()  func_mode_help ()
 {  {
     # We need to display help for each of the modes.      # We need to display help for each of the modes.
    case $mode in    case $opt_mode in
       "")        "")
         # Generic help is extracted from the usage comments          # Generic help is extracted from the usage comments
         # at the start of this file.          # at the start of this file.
Line 1793  Otherwise, only FILE itself is deleted using RM." Line 2472  Otherwise, only FILE itself is deleted using RM."
         ;;          ;;
   
       *)        *)
        func_fatal_help "invalid operation mode \`$mode'"        func_fatal_help "invalid operation mode \`$opt_mode'"
         ;;          ;;
     esac      esac
   
Line 1808  if $opt_help; then Line 2487  if $opt_help; then
   else    else
     {      {
       func_help noexit        func_help noexit
      for mode in compile link execute install finish uninstall clean; do      for opt_mode in compile link execute install finish uninstall clean; do
         func_mode_help          func_mode_help
       done        done
     } | sed -n '1p; 2,$s/^Usage:/  or: /p'      } | sed -n '1p; 2,$s/^Usage:/  or: /p'
     {      {
       func_help noexit        func_help noexit
      for mode in compile link execute install finish uninstall clean; do      for opt_mode in compile link execute install finish uninstall clean; do
         echo          echo
         func_mode_help          func_mode_help
       done        done
Line 1843  func_mode_execute () Line 2522  func_mode_execute ()
       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 $execute_dlfiles; 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
       *.la)        *.la)
           func_resolve_sysroot "$file"
           file=$func_resolve_sysroot_result
   
         # 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"
Line 1871  func_mode_execute () Line 2553  func_mode_execute ()
         dir="$func_dirname_result"          dir="$func_dirname_result"
   
         if test -f "$dir/$objdir/$dlname"; then          if test -f "$dir/$objdir/$dlname"; then
          dir="$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'"
Line 1928  func_mode_execute () Line 2610  func_mode_execute ()
         ;;          ;;
       esac        esac
       # Quote arguments (to preserve shell metacharacters).        # Quote arguments (to preserve shell metacharacters).
      func_quote_for_eval "$file"      func_append_quoted args "$file"
      args="$args $func_quote_for_eval_result" 
     done      done
   
     if test "X$opt_dry_run" = Xfalse; then      if test "X$opt_dry_run" = Xfalse; then
Line 1961  func_mode_execute () Line 2642  func_mode_execute ()
     fi      fi
 }  }
   
test "$mode" = execute && func_mode_execute ${1+"$@"}test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
   
   
 # func_mode_finish arg...  # func_mode_finish arg...
 func_mode_finish ()  func_mode_finish ()
 {  {
     $opt_debug      $opt_debug
    libdirs="$nonopt"    libs=
     libdirs=
     admincmds=      admincmds=
   
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then    for opt in "$nonopt" ${1+"$@"}
      for dir    do
      do      if test -d "$opt"; then
        libdirs="$libdirs $dir"        func_append libdirs " $opt"
      done 
   
         elif test -f "$opt"; then
           if func_lalib_unsafe_p "$opt"; then
             func_append libs " $opt"
           else
             func_warning "\`$opt' is not a valid libtool archive"
           fi
   
         else
           func_fatal_error "invalid argument \`$opt'"
         fi
       done
   
       if test -n "$libs"; then
         if test -n "$lt_sysroot"; then
           sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
           sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
         else
           sysroot_cmd=
         fi
   
         # Remove sysroot references
         if $opt_dry_run; then
           for lib in $libs; do
             echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
           done
         else
           tmpdir=`func_mktempdir`
           for lib in $libs; do
             sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
               > $tmpdir/tmp-la
             mv -f $tmpdir/tmp-la $lib
           done
           ${RM}r "$tmpdir"
         fi
       fi
   
       if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       for libdir in $libdirs; do        for libdir in $libdirs; do
         if test -n "$finish_cmds"; then          if test -n "$finish_cmds"; then
           # Do each command in the finish commands.            # Do each command in the finish commands.
Line 1986  func_mode_finish () Line 2704  func_mode_finish ()
         if test -n "$finish_eval"; then          if test -n "$finish_eval"; then
           # Do the single finish_eval.            # Do the single finish_eval.
           eval cmds=\"$finish_eval\"            eval cmds=\"$finish_eval\"
          $opt_dry_run || eval "$cmds" || admincmds="$admincmds          $opt_dry_run || eval "$cmds" || func_append admincmds "
        $cmds"         $cmds"
         fi          fi
       done        done
Line 1995  func_mode_finish () Line 2713  func_mode_finish ()
     # Exit here if they wanted silent mode.      # Exit here if they wanted silent mode.
     $opt_silent && exit $EXIT_SUCCESS      $opt_silent && exit $EXIT_SUCCESS
   
    echo "----------------------------------------------------------------------"    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
    echo "Libraries have been installed in:"      echo "----------------------------------------------------------------------"
    for libdir in $libdirs; do      echo "Libraries have been installed in:"
      $ECHO "   $libdir"      for libdir in $libdirs; do
    done        $ECHO "   $libdir"
    echo      done
    echo "If you ever happen to want to link against installed libraries"      echo
    echo "in a given directory, LIBDIR, you must either use libtool, and"      echo "If you ever happen to want to link against installed libraries"
    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"      echo "in a given directory, LIBDIR, you must either use libtool, and"
    echo "flag during linking and do at least one of the following:"      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
    if test -n "$shlibpath_var"; then      echo "flag during linking and do at least one of the following:"
      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"      if test -n "$shlibpath_var"; then
      echo "     during execution"        echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
    fi        echo "     during execution"
    if test -n "$runpath_var"; then      fi
      echo "   - add LIBDIR to the \`$runpath_var' environment variable"      if test -n "$runpath_var"; then
      echo "     during linking"        echo "   - add LIBDIR to the \`$runpath_var' environment variable"
    fi        echo "     during linking"
    if test -n "$hardcode_libdir_flag_spec"; then      fi
      libdir=LIBDIR      if test -n "$hardcode_libdir_flag_spec"; then
      eval flag=\"$hardcode_libdir_flag_spec\"        libdir=LIBDIR
         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
   
    echo "See any operating system documentation about shared libraries for"      echo "See any operating system documentation about shared libraries for"
    case $host in      case $host in
      solaris2.[6789]|solaris2.1[0-9])        solaris2.[6789]|solaris2.1[0-9])
        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"          echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
        echo "pages."          echo "pages."
        ;;          ;;
      *)        *)
        echo "more information, such as the ld(1) and ld.so(8) manual pages."          echo "more information, such as the ld(1) and ld.so(8) manual pages."
        ;;          ;;
    esac      esac
    echo "----------------------------------------------------------------------"      echo "----------------------------------------------------------------------"
     fi
     exit $EXIT_SUCCESS      exit $EXIT_SUCCESS
 }  }
   
test "$mode" = finish && func_mode_finish ${1+"$@"}test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
   
   
 # func_mode_install arg...  # func_mode_install arg...
Line 2066  func_mode_install () Line 2786  func_mode_install ()
     # The real first argument should be the name of the installation program.      # The real first argument should be the name of the installation program.
     # Aesthetically quote it.      # Aesthetically quote it.
     func_quote_for_eval "$arg"      func_quote_for_eval "$arg"
    install_prog="$install_prog$func_quote_for_eval_result"    func_append install_prog "$func_quote_for_eval_result"
     install_shared_prog=$install_prog      install_shared_prog=$install_prog
     case " $install_prog " in      case " $install_prog " in
       *[\\\ /]cp\ *) install_cp=: ;;        *[\\\ /]cp\ *) install_cp=: ;;
Line 2086  func_mode_install () Line 2806  func_mode_install ()
     do      do
       arg2=        arg2=
       if test -n "$dest"; then        if test -n "$dest"; then
        files="$files $dest"        func_append files " $dest"
         dest=$arg          dest=$arg
         continue          continue
       fi        fi
Line 2124  func_mode_install () Line 2844  func_mode_install ()
   
       # Aesthetically quote the argument.        # Aesthetically quote the argument.
       func_quote_for_eval "$arg"        func_quote_for_eval "$arg"
      install_prog="$install_prog $func_quote_for_eval_result"      func_append install_prog " $func_quote_for_eval_result"
       if test -n "$arg2"; then        if test -n "$arg2"; then
         func_quote_for_eval "$arg2"          func_quote_for_eval "$arg2"
       fi        fi
      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"      func_append install_shared_prog " $func_quote_for_eval_result"
     done      done
   
     test -z "$install_prog" && \      test -z "$install_prog" && \
Line 2140  func_mode_install () Line 2860  func_mode_install ()
     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
         func_quote_for_eval "$install_override_mode"          func_quote_for_eval "$install_override_mode"
        install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"        func_append install_shared_prog " -m $func_quote_for_eval_result"
       fi        fi
     fi      fi
   
Line 2198  func_mode_install () Line 2918  func_mode_install ()
       case $file in        case $file in
       *.$libext)        *.$libext)
         # Do the static libraries later.          # Do the static libraries later.
        staticlibs="$staticlibs $file"        func_append staticlibs " $file"
         ;;          ;;
   
       *.la)        *.la)
           func_resolve_sysroot "$file"
           file=$func_resolve_sysroot_result
   
         # 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"
Line 2215  func_mode_install () Line 2938  func_mode_install ()
         if test "X$destdir" = "X$libdir"; then          if test "X$destdir" = "X$libdir"; then
           case "$current_libdirs " in            case "$current_libdirs " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) current_libdirs="$current_libdirs $libdir" ;;          *) func_append current_libdirs " $libdir" ;;
           esac            esac
         else          else
           # Note the libdir as a future libdir.            # Note the libdir as a future libdir.
           case "$future_libdirs " in            case "$future_libdirs " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) future_libdirs="$future_libdirs $libdir" ;;          *) func_append future_libdirs " $libdir" ;;
           esac            esac
         fi          fi
   
         func_dirname "$file" "/" ""          func_dirname "$file" "/" ""
         dir="$func_dirname_result"          dir="$func_dirname_result"
        dir="$dir$objdir"        func_append dir "$objdir"
   
         if test -n "$relink_command"; then          if test -n "$relink_command"; then
           # Determine the prefix the user has applied to our future dir.            # Determine the prefix the user has applied to our future dir.
Line 2304  func_mode_install () Line 3027  func_mode_install ()
         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.
        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"        test -n "$old_library" && func_append staticlibs " $dir/$old_library"
         ;;          ;;
   
       *.lo)        *.lo)
Line 2501  func_mode_install () Line 3224  func_mode_install ()
     fi      fi
 }  }
   
test "$mode" = install && func_mode_install ${1+"$@"}test "$opt_mode" = install && func_mode_install ${1+"$@"}
   
   
 # func_generate_dlsyms outputname originator pic_p  # func_generate_dlsyms outputname originator pic_p
Line 2548  extern \"C\" { Line 3271  extern \"C\" {
 #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.  */
   #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
   /* DATA imports from DLLs on WIN32 con't be const, because runtime
      relocations are performed -- see ld's documentation on pseudo-relocs.  */
   # define LT_DLSYM_CONST
   #elif defined(__osf__)
   /* This system does not cope well with relocations in const data.  */
   # define LT_DLSYM_CONST
   #else
   # define LT_DLSYM_CONST const
   #endif
   
 /* External symbol declarations for the compiler. */\  /* External symbol declarations for the compiler. */\
 "  "
   
Line 2559  extern \"C\" { Line 3294  extern \"C\" {
           # Add our own program objects to the symbol list.            # Add our own program objects to the symbol list.
           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_verbose "extracting global C symbols from \`$progfile'"            func_to_tool_file "$progfile" func_convert_file_msys_to_w32
            $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"            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'"
           done            done
   
           if test -n "$exclude_expsyms"; then            if test -n "$exclude_expsyms"; then
Line 2609  extern \"C\" { Line 3345  extern \"C\" {
           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"
          $opt_dry_run || {          case $host in
            eval '$ECHO ": $name " >> "$nlist"'            *cygwin* | *mingw* | *cegcc* )
            eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"              # if an import library, we need to obtain dlname
          }              if func_win32_import_lib_p "$dlprefile"; then
                 func_tr_sh "$dlprefile"
                 eval "curr_lafile=\$libfile_$func_tr_sh_result"
                 dlprefile_dlbasename=""
                 if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
                   # Use subshell, to avoid clobbering current variable values
                   dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
                   if test -n "$dlprefile_dlname" ; then
                     func_basename "$dlprefile_dlname"
                     dlprefile_dlbasename="$func_basename_result"
                   else
                     # no lafile. user explicitly requested -dlpreopen <import library>.
                     $sharedlib_from_linklib_cmd "$dlprefile"
                     dlprefile_dlbasename=$sharedlib_from_linklib_result
                   fi
                 fi
                 $opt_dry_run || {
                   if test -n "$dlprefile_dlbasename" ; then
                     eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
                   else
                     func_warning "Could not compute DLL name from $name"
                     eval '$ECHO ": $name " >> "$nlist"'
                   fi
                   func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
                   eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
                     $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
                 }
               else # not an import lib
                 $opt_dry_run || {
                   eval '$ECHO ": $name " >> "$nlist"'
                   func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
                   eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
                 }
               fi
             ;;
             *)
               $opt_dry_run || {
                 eval '$ECHO ": $name " >> "$nlist"'
                 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
                 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
               }
             ;;
           esac
         done          done
   
         $opt_dry_run || {          $opt_dry_run || {
Line 2650  typedef struct { Line 3428  typedef struct {
   const char *name;    const char *name;
   void *address;    void *address;
 } lt_dlsymlist;  } lt_dlsymlist;
"extern LT_DLSYM_CONST lt_dlsymlist
          case $host in 
          *cygwin* | *mingw* | *cegcc* ) 
            echo >> "$output_objdir/$my_dlsyms" "\ 
/* DATA imports from DLLs on WIN32 con't be const, because 
   runtime relocations are performed -- see ld's documentation 
   on pseudo-relocs.  */" 
            lt_dlsym_const= ;; 
          *osf5*) 
            echo >> "$output_objdir/$my_dlsyms" "\ 
/* This system does not cope well with relocations in const data */" 
            lt_dlsym_const= ;; 
          *) 
            lt_dlsym_const=const ;; 
          esac 
 
          echo >> "$output_objdir/$my_dlsyms" "\ 
extern $lt_dlsym_const lt_dlsymlist 
 lt_${my_prefix}_LTX_preloaded_symbols[];  lt_${my_prefix}_LTX_preloaded_symbols[];
$lt_dlsym_const lt_dlsymlistLT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =  lt_${my_prefix}_LTX_preloaded_symbols[] =
 {\  {\
   { \"$my_originator\", (void *) 0 },"    { \"$my_originator\", (void *) 0 },"
Line 2725  static const void *lt_preloaded_setup() { Line 3486  static const void *lt_preloaded_setup() {
         for arg in $LTCFLAGS; do          for arg in $LTCFLAGS; do
           case $arg in            case $arg in
           -pie | -fpie | -fPIE) ;;            -pie | -fpie | -fPIE) ;;
          *) symtab_cflags="$symtab_cflags $arg" ;;          *) func_append symtab_cflags " $arg" ;;
           esac            esac
         done          done
   
Line 2788  func_win32_libid () Line 3549  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
      win32_nmres=`eval $NM -f posix -A $1 |      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 '          $SED -n -e '
             1,100{              1,100{
                 / I /{                  / I /{
Line 2817  func_win32_libid () Line 3579  func_win32_libid ()
   $ECHO "$win32_libid_type"    $ECHO "$win32_libid_type"
 }  }
   
   # func_cygming_dll_for_implib ARG
   #
   # Platform-specific function to extract the
   # name of the DLL associated with the specified
   # import library ARG.
   # Invoked by eval'ing the libtool variable
   #    $sharedlib_from_linklib_cmd
   # Result is available in the variable
   #    $sharedlib_from_linklib_result
   func_cygming_dll_for_implib ()
   {
     $opt_debug
     sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
   }
   
   # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
   #
   # The is the core of a fallback implementation of a
   # platform-specific function to extract the name of the
   # DLL associated with the specified import library LIBNAME.
   #
   # SECTION_NAME is either .idata$6 or .idata$7, depending
   # on the platform and compiler that created the implib.
   #
   # Echos the name of the DLL associated with the
   # specified import library.
   func_cygming_dll_for_implib_fallback_core ()
   {
     $opt_debug
     match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
     $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
       $SED '/^Contents of section '"$match_literal"':/{
         # Place marker at beginning of archive member dllname section
         s/.*/====MARK====/
         p
         d
       }
       # These lines can sometimes be longer than 43 characters, but
       # are always uninteresting
       /:[  ]*file format pe[i]\{,1\}-/d
       /^In archive [^:]*:/d
       # Ensure marker is printed
       /^====MARK====/p
       # Remove all lines with less than 43 characters
       /^.\{43\}/!d
       # From remaining lines, remove first 43 characters
       s/^.\{43\}//' |
       $SED -n '
         # Join marker and all lines until next marker into a single line
         /^====MARK====/ b para
         H
         $ b para
         b
         :para
         x
         s/\n//g
         # Remove the marker
         s/^====MARK====//
         # Remove trailing dots and whitespace
         s/[\. \t]*$//
         # Print
         /./p' |
       # we now have a list, one entry per line, of the stringified
       # contents of the appropriate section of all members of the
       # archive which possess that section. Heuristic: eliminate
       # all those which have a first or second character that is
       # a '.' (that is, objdump's representation of an unprintable
       # character.) This should work for all archives with less than
       # 0x302f exports -- but will fail for DLLs whose name actually
       # begins with a literal '.' or a single character followed by
       # a '.'.
       #
       # Of those that remain, print the first one.
       $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
   # Platform-specific function to extract the
   # name of the DLL associated with the specified
   # import library ARG.
   #
   # This fallback implementation is for use when $DLLTOOL
   # does not support the --identify-strict option.
   # Invoked by eval'ing the libtool variable
   #    $sharedlib_from_linklib_cmd
   # Result is available in the variable
   #    $sharedlib_from_linklib_result
   func_cygming_dll_for_implib_fallback ()
   {
     $opt_debug
     if func_cygming_gnu_implib_p "$1" ; then
       # binutils import library
       sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
     elif func_cygming_ms_implib_p "$1" ; then
       # ms-generated import library
       sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
     else
       # unknown
       sharedlib_from_linklib_result=""
     fi
   }
   
   
 # func_extract_an_archive dir oldlib  # func_extract_an_archive dir oldlib
 func_extract_an_archive ()  func_extract_an_archive ()
 {  {
Line 3195  func_exec_program () Line 4082  func_exec_program ()
   
   if test -f \"\$progdir/\$program\"; then"    if test -f \"\$progdir/\$program\"; then"
   
           # fixup the dll searchpath if we need to.
           #
           # Fix the DLL searchpath if we need to.  Do this before prepending
           # to shlibpath, because on Windows, both are PATH and uninstalled
           # libraries must come first.
           if test -n "$dllsearchpath"; then
             $ECHO "\
       # Add the dll search path components to the executable PATH
       PATH=$dllsearchpath:\$PATH
   "
           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 "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
           $ECHO "\            $ECHO "\
Line 3209  func_exec_program () Line 4108  func_exec_program ()
 "  "
         fi          fi
   
         # fixup the dll searchpath if we need to.  
         if test -n "$dllsearchpath"; then  
           $ECHO "\  
     # Add the dll search path components to the executable PATH  
     PATH=$dllsearchpath:\$PATH  
 "  
         fi  
   
         $ECHO "\          $ECHO "\
     if test \"\$libtool_execute_magic\" != \"$magic\"; then      if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.        # Run the actual program with our arguments.
Line 3234  fi\ Line 4125  fi\
 }  }
   
   
 # func_to_host_path arg  
 #  
 # Convert paths to host format when used with build tools.  
 # Intended for use with "native" mingw (where libtool itself  
 # is running under the msys shell), or in the following cross-  
 # build environments:  
 #    $build          $host  
 #    mingw (msys)    mingw  [e.g. native]  
 #    cygwin          mingw  
 #    *nix + wine     mingw  
 # where wine is equipped with the `winepath' executable.  
 # In the native mingw case, the (msys) shell automatically  
 # converts paths for any non-msys applications it launches,  
 # but that facility isn't available from inside the cwrapper.  
 # Similar accommodations are necessary for $host mingw and  
 # $build cygwin.  Calling this function does no harm for other  
 # $host/$build combinations not listed above.  
 #  
 # ARG is the path (on $build) that should be converted to  
 # the proper representation for $host. The result is stored  
 # in $func_to_host_path_result.  
 func_to_host_path ()  
 {  
   func_to_host_path_result="$1"  
   if test -n "$1"; then  
     case $host in  
       *mingw* )  
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'  
         case $build in  
           *mingw* ) # actually, msys  
             # awkward: cmd appends spaces to result  
             func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |  
               $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`  
             ;;  
           *cygwin* )  
             func_to_host_path_result=`cygpath -w "$1" |  
               $SED -e "$lt_sed_naive_backslashify"`  
             ;;  
           * )  
             # 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 command is not  
             # found, the shell will set an exit code of 127 and print  
             # *an error message* to stdout. So we must check for both  
             # error code of zero AND non-empty stdout, which explains  
             # the odd construction:  
             func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`  
             if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then  
               func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |  
                 $SED -e "$lt_sed_naive_backslashify"`  
             else  
               # Allow warning below.  
               func_to_host_path_result=  
             fi  
             ;;  
         esac  
         if test -z "$func_to_host_path_result" ; then  
           func_error "Could not determine host path corresponding to"  
           func_error "  \`$1'"  
           func_error "Continuing, but uninstalled executables may not work."  
           # Fallback:  
           func_to_host_path_result="$1"  
         fi  
         ;;  
     esac  
   fi  
 }  
 # end: func_to_host_path  
   
 # func_to_host_pathlist arg  
 #  
 # Convert pathlists to host format when used with build tools.  
 # See func_to_host_path(), above. This function supports the  
 # following $build/$host combinations (but does no harm for  
 # combinations not listed here):  
 #    $build          $host  
 #    mingw (msys)    mingw  [e.g. native]  
 #    cygwin          mingw  
 #    *nix + wine     mingw  
 #  
 # Path separators are also converted from $build format to  
 # $host format. If ARG begins or ends with a path separator  
 # character, it is preserved (but converted to $host format)  
 # on output.  
 #  
 # ARG is a pathlist (on $build) that should be converted to  
 # the proper representation on $host. The result is stored  
 # in $func_to_host_pathlist_result.  
 func_to_host_pathlist ()  
 {  
   func_to_host_pathlist_result="$1"  
   if test -n "$1"; then  
     case $host in  
       *mingw* )  
         lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'  
         # Remove leading and trailing path separator characters from  
         # ARG. msys behavior is inconsistent here, cygpath turns them  
         # into '.;' and ';.', and winepath ignores them completely.  
         func_stripname : : "$1"  
         func_to_host_pathlist_tmp1=$func_stripname_result  
         case $build in  
           *mingw* ) # Actually, msys.  
             # Awkward: cmd appends spaces to result.  
             func_to_host_pathlist_result=`  
               ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |  
               $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`  
             ;;  
           *cygwin* )  
             func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |  
               $SED -e "$lt_sed_naive_backslashify"`  
             ;;  
           * )  
             # unfortunately, winepath doesn't convert pathlists  
             func_to_host_pathlist_result=""  
             func_to_host_pathlist_oldIFS=$IFS  
             IFS=:  
             for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do  
               IFS=$func_to_host_pathlist_oldIFS  
               if test -n "$func_to_host_pathlist_f" ; then  
                 func_to_host_path "$func_to_host_pathlist_f"  
                 if test -n "$func_to_host_path_result" ; then  
                   if test -z "$func_to_host_pathlist_result" ; then  
                     func_to_host_pathlist_result="$func_to_host_path_result"  
                   else  
                     func_append func_to_host_pathlist_result ";$func_to_host_path_result"  
                   fi  
                 fi  
               fi  
             done  
             IFS=$func_to_host_pathlist_oldIFS  
             ;;  
         esac  
         if test -z "$func_to_host_pathlist_result"; then  
           func_error "Could not determine the host path(s) corresponding to"  
           func_error "  \`$1'"  
           func_error "Continuing, but uninstalled executables may not work."  
           # Fallback. This may break if $1 contains DOS-style drive  
           # specifications. The fix is not to complicate the expression  
           # below, but for the user to provide a working wine installation  
           # with winepath so that path translation in the cross-to-mingw  
           # case works properly.  
           lt_replace_pathsep_nix_to_dos="s|:|;|g"  
           func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\  
             $SED -e "$lt_replace_pathsep_nix_to_dos"`  
         fi  
         # Now, add the leading and trailing path separators back  
         case "$1" in  
           :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"  
             ;;  
         esac  
         case "$1" in  
           *: ) func_append func_to_host_pathlist_result ";"  
             ;;  
         esac  
         ;;  
     esac  
   fi  
 }  
 # end: func_to_host_pathlist  
   
 # func_emit_cwrapperexe_src  # func_emit_cwrapperexe_src
 # emit the source code for a wrapper executable on stdout  # emit the source code for a wrapper executable on stdout
 # Must ONLY be called from within func_mode_link because  # Must ONLY be called from within func_mode_link because
Line 3563  void lt_dump_script (FILE *f); Line 4294  void lt_dump_script (FILE *f);
 EOF  EOF
   
             cat <<EOF              cat <<EOF
const char * MAGIC_EXE = "$magic_exe";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 "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
              func_to_host_pathlist "$temp_rpath"              func_to_host_path "$temp_rpath"
               cat <<EOF                cat <<EOF
const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
 EOF  EOF
             else              else
               cat <<"EOF"                cat <<"EOF"
Line 3579  EOF Line 4310  EOF
             fi              fi
   
             if test -n "$dllsearchpath"; then              if test -n "$dllsearchpath"; then
              func_to_host_pathlist "$dllsearchpath:"              func_to_host_path "$dllsearchpath:"
               cat <<EOF                cat <<EOF
 const char * EXE_PATH_VARNAME = "PATH";  const char * EXE_PATH_VARNAME = "PATH";
const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
 EOF  EOF
             else              else
               cat <<"EOF"                cat <<"EOF"
Line 3765  EOF Line 4496  EOF
   
   lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */    lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
   lt_setenv ("DUALCASE", "1");  /* for MSK sh */    lt_setenv ("DUALCASE", "1");  /* for MSK sh */
  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
      be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
      because on Windows, both *_VARNAMEs are PATH but uninstalled
      libraries must come first. */
   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);    lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
     lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
   
   lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",    lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
                   nonnull (lt_argv_zero));                    nonnull (lt_argv_zero));
Line 4515  func_mode_link () Line 5250  func_mode_link ()
             ;;              ;;
           *)            *)
             if test "$prev" = dlfiles; then              if test "$prev" = dlfiles; then
              dlfiles="$dlfiles $arg"              func_append dlfiles " $arg"
             else              else
              dlprefiles="$dlprefiles $arg"              func_append dlprefiles " $arg"
             fi              fi
             prev=              prev=
             continue              continue
Line 4541  func_mode_link () Line 5276  func_mode_link ()
             *-*-darwin*)              *-*-darwin*)
               case "$deplibs " in                case "$deplibs " in
                 *" $qarg.ltframework "*) ;;                  *" $qarg.ltframework "*) ;;
                *) deplibs="$deplibs $qarg.ltframework" # this is fixed later                *) func_append deplibs " $qarg.ltframework" # this is fixed later
                    ;;                     ;;
               esac                esac
               ;;                ;;
Line 4560  func_mode_link () Line 5295  func_mode_link ()
             moreargs=              moreargs=
             for fil in `cat "$save_arg"`              for fil in `cat "$save_arg"`
             do              do
#             moreargs="$moreargs $fil"#             func_append moreargs " $fil"
               arg=$fil                arg=$fil
               # A libtool-controlled object.                # A libtool-controlled object.
   
Line 4589  func_mode_link () Line 5324  func_mode_link ()
   
                   if test "$prev" = dlfiles; then                    if test "$prev" = dlfiles; then
                     if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then                      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
                      dlfiles="$dlfiles $pic_object"                      func_append dlfiles " $pic_object"
                       prev=                        prev=
                       continue                        continue
                     else                      else
Line 4601  func_mode_link () Line 5336  func_mode_link ()
                   # CHECK ME:  I think I busted this.  -Ossama                    # CHECK ME:  I think I busted this.  -Ossama
                   if test "$prev" = dlprefiles; then                    if test "$prev" = dlprefiles; then
                     # Preload the old-style object.                      # Preload the old-style object.
                    dlprefiles="$dlprefiles $pic_object"                    func_append dlprefiles " $pic_object"
                     prev=                      prev=
                   fi                    fi
   
Line 4671  func_mode_link () Line 5406  func_mode_link ()
           if test "$prev" = rpath; then            if test "$prev" = rpath; then
             case "$rpath " in              case "$rpath " in
             *" $arg "*) ;;              *" $arg "*) ;;
            *) rpath="$rpath $arg" ;;            *) func_append rpath " $arg" ;;
             esac              esac
           else            else
             case "$xrpath " in              case "$xrpath " in
             *" $arg "*) ;;              *" $arg "*) ;;
            *) xrpath="$xrpath $arg" ;;            *) func_append xrpath " $arg" ;;
             esac              esac
           fi            fi
           prev=            prev=
Line 4688  func_mode_link () Line 5423  func_mode_link ()
           continue            continue
           ;;            ;;
         weak)          weak)
          weak_libs="$weak_libs $arg"          func_append weak_libs " $arg"
           prev=            prev=
           continue            continue
           ;;            ;;
         xcclinker)          xcclinker)
          linker_flags="$linker_flags $qarg"          func_append linker_flags " $qarg"
          compiler_flags="$compiler_flags $qarg"          func_append compiler_flags " $qarg"
           prev=            prev=
           func_append compile_command " $qarg"            func_append compile_command " $qarg"
           func_append finalize_command " $qarg"            func_append finalize_command " $qarg"
           continue            continue
           ;;            ;;
         xcompiler)          xcompiler)
          compiler_flags="$compiler_flags $qarg"          func_append compiler_flags " $qarg"
           prev=            prev=
           func_append compile_command " $qarg"            func_append compile_command " $qarg"
           func_append finalize_command " $qarg"            func_append finalize_command " $qarg"
           continue            continue
           ;;            ;;
         xlinker)          xlinker)
          linker_flags="$linker_flags $qarg"          func_append linker_flags " $qarg"
          compiler_flags="$compiler_flags $wl$qarg"          func_append compiler_flags " $wl$qarg"
           prev=            prev=
           func_append compile_command " $wl$qarg"            func_append compile_command " $wl$qarg"
           func_append finalize_command " $wl$qarg"            func_append finalize_command " $wl$qarg"
Line 4800  func_mode_link () Line 5535  func_mode_link ()
         ;;          ;;
   
       -L*)        -L*)
        func_stripname '-L' '' "$arg"        func_stripname "-L" '' "$arg"
        dir=$func_stripname_result        if test -z "$func_stripname_result"; then
        if test -z "$dir"; 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"
           dir=$func_resolve_sysroot_result
         # We need an absolute path.          # We need an absolute path.
         case $dir in          case $dir in
         [\\/]* | [A-Za-z]:[\\/]*) ;;          [\\/]* | [A-Za-z]:[\\/]*) ;;
Line 4820  func_mode_link () Line 5556  func_mode_link ()
           ;;            ;;
         esac          esac
         case "$deplibs " in          case "$deplibs " in
        *" -L$dir "*) ;;        *" -L$dir "* | *" $arg "*)
           # Will only happen for absolute or sysroot arguments
           ;;
         *)          *)
          deplibs="$deplibs -L$dir"          # Preserve sysroot, but never include relative directories
          lib_search_path="$lib_search_path $dir"          case $dir in
             [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
             *) func_append deplibs " -L$dir" ;;
           esac
           func_append lib_search_path " $dir"
           ;;            ;;
         esac          esac
         case $host in          case $host in
Line 4832  func_mode_link () Line 5574  func_mode_link ()
           case :$dllsearchpath: in            case :$dllsearchpath: in
           *":$dir:"*) ;;            *":$dir:"*) ;;
           ::) dllsearchpath=$dir;;            ::) dllsearchpath=$dir;;
          *) dllsearchpath="$dllsearchpath:$dir";;          *) func_append dllsearchpath ":$dir";;
           esac            esac
           case :$dllsearchpath: in            case :$dllsearchpath: in
           *":$testbindir:"*) ;;            *":$testbindir:"*) ;;
           ::) dllsearchpath=$testbindir;;            ::) dllsearchpath=$testbindir;;
          *) dllsearchpath="$dllsearchpath:$testbindir";;          *) func_append dllsearchpath ":$testbindir";;
           esac            esac
           ;;            ;;
         esac          esac
Line 4861  func_mode_link () Line 5603  func_mode_link ()
             ;;              ;;
           *-*-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
            deplibs="$deplibs System.ltframework"            func_append deplibs " System.ltframework"
             continue              continue
             ;;              ;;
           *-*-sco3.2v5* | *-*-sco5v6*)            *-*-sco3.2v5* | *-*-sco5v6*)
Line 4881  func_mode_link () Line 5623  func_mode_link ()
            ;;             ;;
          esac           esac
         fi          fi
        deplibs="$deplibs $arg"        func_append deplibs " $arg"
         continue          continue
         ;;          ;;
   
Line 4893  func_mode_link () Line 5635  func_mode_link ()
       # Tru64 UNIX uses -model [arg] to determine the layout of C++        # Tru64 UNIX uses -model [arg] to determine the layout of C++
       # classes, name mangling, and exception handling.        # classes, name mangling, and exception handling.
       # Darwin uses the -arch flag to determine output architecture.        # Darwin uses the -arch flag to determine output architecture.
      -model|-arch|-isysroot)      -model|-arch|-isysroot|--sysroot)
        compiler_flags="$compiler_flags $arg"        func_append compiler_flags " $arg"
         func_append compile_command " $arg"          func_append compile_command " $arg"
         func_append finalize_command " $arg"          func_append finalize_command " $arg"
         prev=xcompiler          prev=xcompiler
Line 4902  func_mode_link () Line 5644  func_mode_link ()
         ;;          ;;
   
       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
        compiler_flags="$compiler_flags $arg"        func_append compiler_flags " $arg"
         func_append compile_command " $arg"          func_append compile_command " $arg"
         func_append finalize_command " $arg"          func_append finalize_command " $arg"
         case "$new_inherited_linker_flags " in          case "$new_inherited_linker_flags " in
             *" $arg "*) ;;              *" $arg "*) ;;
            * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;            * ) func_append new_inherited_linker_flags " $arg" ;;
         esac          esac
         continue          continue
         ;;          ;;
Line 4974  func_mode_link () Line 5716  func_mode_link ()
         # We need an absolute path.          # We need an absolute path.
         case $dir in          case $dir in
         [\\/]* | [A-Za-z]:[\\/]*) ;;          [\\/]* | [A-Za-z]:[\\/]*) ;;
           =*)
             func_stripname '=' '' "$dir"
             dir=$lt_sysroot$func_stripname_result
             ;;
         *)          *)
           func_fatal_error "only absolute run-paths are allowed"            func_fatal_error "only absolute run-paths are allowed"
           ;;            ;;
         esac          esac
         case "$xrpath " in          case "$xrpath " in
         *" $dir "*) ;;          *" $dir "*) ;;
        *) xrpath="$xrpath $dir" ;;        *) func_append xrpath " $dir" ;;
         esac          esac
         continue          continue
         ;;          ;;
Line 5033  func_mode_link () Line 5779  func_mode_link ()
         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"
          arg="$arg $func_quote_for_eval_result"          func_append arg " $func_quote_for_eval_result"
          compiler_flags="$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"
Line 5049  func_mode_link () Line 5795  func_mode_link ()
         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"
          arg="$arg $wl$func_quote_for_eval_result"          func_append arg " $wl$func_quote_for_eval_result"
          compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"          func_append compiler_flags " $wl$func_quote_for_eval_result"
          linker_flags="$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"
Line 5090  func_mode_link () Line 5836  func_mode_link ()
       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC        # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
       # @file                GCC response files        # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection        # -tp=*                Portland pgcc target processor selection
         # --sysroot=*          for sysroot support
         # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
       -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=*)      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
       -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
         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"
        compiler_flags="$compiler_flags $arg"        func_append compiler_flags " $arg"
         continue          continue
         ;;          ;;
   
Line 5108  func_mode_link () Line 5857  func_mode_link ()
   
       *.$objext)        *.$objext)
         # A standard object.          # A standard object.
        objs="$objs $arg"        func_append objs " $arg"
         ;;          ;;
   
       *.lo)        *.lo)
Line 5139  func_mode_link () Line 5888  func_mode_link ()
   
             if test "$prev" = dlfiles; then              if test "$prev" = dlfiles; then
               if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then                if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
                dlfiles="$dlfiles $pic_object"                func_append dlfiles " $pic_object"
                 prev=                  prev=
                 continue                  continue
               else                else
Line 5151  func_mode_link () Line 5900  func_mode_link ()
             # CHECK ME:  I think I busted this.  -Ossama              # CHECK ME:  I think I busted this.  -Ossama
             if test "$prev" = dlprefiles; then              if test "$prev" = dlprefiles; then
               # Preload the old-style object.                # Preload the old-style object.
              dlprefiles="$dlprefiles $pic_object"              func_append dlprefiles " $pic_object"
               prev=                prev=
             fi              fi
   
Line 5196  func_mode_link () Line 5945  func_mode_link ()
   
       *.$libext)        *.$libext)
         # An archive.          # An archive.
        deplibs="$deplibs $arg"        func_append deplibs " $arg"
        old_deplibs="$old_deplibs $arg"        func_append old_deplibs " $arg"
         continue          continue
         ;;          ;;
   
       *.la)        *.la)
         # A libtool-controlled library.          # A libtool-controlled library.
   
           func_resolve_sysroot "$arg"
         if test "$prev" = dlfiles; then          if test "$prev" = dlfiles; then
           # This library was specified with -dlopen.            # This library was specified with -dlopen.
          dlfiles="$dlfiles $arg"          func_append dlfiles " $func_resolve_sysroot_result"
           prev=            prev=
         elif test "$prev" = dlprefiles; then          elif test "$prev" = dlprefiles; then
           # The library was specified with -dlpreopen.            # The library was specified with -dlpreopen.
          dlprefiles="$dlprefiles $arg"          func_append dlprefiles " $func_resolve_sysroot_result"
           prev=            prev=
         else          else
          deplibs="$deplibs $arg"          func_append deplibs " $func_resolve_sysroot_result"
         fi          fi
         continue          continue
         ;;          ;;
Line 5260  func_mode_link () Line 6010  func_mode_link ()
   
     func_dirname "$output" "/" ""      func_dirname "$output" "/" ""
     output_objdir="$func_dirname_result$objdir"      output_objdir="$func_dirname_result$objdir"
       func_to_tool_file "$output_objdir/"
       tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.      # Create the object directory.
     func_mkdir_p "$output_objdir"      func_mkdir_p "$output_objdir"
   
Line 5280  func_mode_link () Line 6032  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_duplicate_deps ; then      if $opt_preserve_dup_deps ; then
         case "$libs " in          case "$libs " in
        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;        *" $deplib "*) func_append specialdeplibs " $deplib" ;;
         esac          esac
       fi        fi
      libs="$libs $deplib"      func_append libs " $deplib"
     done      done
   
     if test "$linkmode" = lib; then      if test "$linkmode" = lib; then
Line 5298  func_mode_link () Line 6050  func_mode_link ()
       if $opt_duplicate_compiler_generated_deps; then        if $opt_duplicate_compiler_generated_deps; then
         for pre_post_dep in $predeps $postdeps; do          for pre_post_dep in $predeps $postdeps; do
           case "$pre_post_deps " in            case "$pre_post_deps " in
          *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;          *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
           esac            esac
          pre_post_deps="$pre_post_deps $pre_post_dep"          func_append pre_post_deps " $pre_post_dep"
         done          done
       fi        fi
       pre_post_deps=        pre_post_deps=
Line 5367  func_mode_link () Line 6119  func_mode_link ()
         for lib in $dlprefiles; do          for lib in $dlprefiles; do
           # Ignore non-libtool-libs            # Ignore non-libtool-libs
           dependency_libs=            dependency_libs=
             func_resolve_sysroot "$lib"
           case $lib in            case $lib in
          *.la) func_source "$lib" ;;          *.la) func_source "$func_resolve_sysroot_result" ;;
           esac            esac
   
           # Collect preopened libtool deplibs, except any this library            # Collect preopened libtool deplibs, except any this library
Line 5378  func_mode_link () Line 6131  func_mode_link ()
             deplib_base=$func_basename_result              deplib_base=$func_basename_result
             case " $weak_libs " in              case " $weak_libs " in
             *" $deplib_base "*) ;;              *" $deplib_base "*) ;;
            *) deplibs="$deplibs $deplib" ;;            *) func_append deplibs " $deplib" ;;
             esac              esac
           done            done
         done          done
Line 5399  func_mode_link () Line 6152  func_mode_link ()
             compile_deplibs="$deplib $compile_deplibs"              compile_deplibs="$deplib $compile_deplibs"
             finalize_deplibs="$deplib $finalize_deplibs"              finalize_deplibs="$deplib $finalize_deplibs"
           else            else
            compiler_flags="$compiler_flags $deplib"            func_append compiler_flags " $deplib"
             if test "$linkmode" = lib ; then              if test "$linkmode" = lib ; then
                 case "$new_inherited_linker_flags " in                  case "$new_inherited_linker_flags " in
                     *" $deplib "*) ;;                      *" $deplib "*) ;;
                    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;                    * ) func_append new_inherited_linker_flags " $deplib" ;;
                 esac                  esac
             fi              fi
           fi            fi
Line 5488  func_mode_link () Line 6241  func_mode_link ()
             if test "$linkmode" = lib ; then              if test "$linkmode" = lib ; then
                 case "$new_inherited_linker_flags " in                  case "$new_inherited_linker_flags " in
                     *" $deplib "*) ;;                      *" $deplib "*) ;;
                    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;                    * ) func_append new_inherited_linker_flags " $deplib" ;;
                 esac                  esac
             fi              fi
           fi            fi
Line 5501  func_mode_link () Line 6254  func_mode_link ()
             test "$pass" = conv && continue              test "$pass" = conv && continue
             newdependency_libs="$deplib $newdependency_libs"              newdependency_libs="$deplib $newdependency_libs"
             func_stripname '-L' '' "$deplib"              func_stripname '-L' '' "$deplib"
            newlib_search_path="$newlib_search_path $func_stripname_result"            func_resolve_sysroot "$func_stripname_result"
             func_append newlib_search_path " $func_resolve_sysroot_result"
             ;;              ;;
           prog)            prog)
             if test "$pass" = conv; then              if test "$pass" = conv; then
Line 5515  func_mode_link () Line 6269  func_mode_link ()
               finalize_deplibs="$deplib $finalize_deplibs"                finalize_deplibs="$deplib $finalize_deplibs"
             fi              fi
             func_stripname '-L' '' "$deplib"              func_stripname '-L' '' "$deplib"
            newlib_search_path="$newlib_search_path $func_stripname_result"            func_resolve_sysroot "$func_stripname_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"
Line 5526  func_mode_link () Line 6281  func_mode_link ()
         -R*)          -R*)
           if test "$pass" = link; then            if test "$pass" = link; then
             func_stripname '-R' '' "$deplib"              func_stripname '-R' '' "$deplib"
            dir=$func_stripname_result            func_resolve_sysroot "$func_stripname_result"
             dir=$func_resolve_sysroot_result
             # Make sure the xrpath contains only unique directories.              # Make sure the xrpath contains only unique directories.
             case "$xrpath " in              case "$xrpath " in
             *" $dir "*) ;;              *" $dir "*) ;;
            *) xrpath="$xrpath $dir" ;;            *) func_append xrpath " $dir" ;;
             esac              esac
           fi            fi
           deplibs="$deplib $deplibs"            deplibs="$deplib $deplibs"
           continue            continue
           ;;            ;;
        *.la) lib="$deplib" ;;        *.la)
           func_resolve_sysroot "$deplib"
           lib=$func_resolve_sysroot_result
           ;;
         *.$libext)          *.$libext)
           if test "$pass" = conv; then            if test "$pass" = conv; then
             deplibs="$deplib $deplibs"              deplibs="$deplib $deplibs"
Line 5599  func_mode_link () Line 6358  func_mode_link ()
             if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then              if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; 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.
              newdlprefiles="$newdlprefiles $deplib"              func_append newdlprefiles " $deplib"
               compile_deplibs="$deplib $compile_deplibs"                compile_deplibs="$deplib $compile_deplibs"
               finalize_deplibs="$deplib $finalize_deplibs"                finalize_deplibs="$deplib $finalize_deplibs"
             else              else
              newdlfiles="$newdlfiles $deplib"              func_append newdlfiles " $deplib"
             fi              fi
           fi            fi
           continue            continue
Line 5649  func_mode_link () Line 6408  func_mode_link ()
           for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do            for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
             case " $new_inherited_linker_flags " in              case " $new_inherited_linker_flags " in
               *" $tmp_inherited_linker_flag "*) ;;                *" $tmp_inherited_linker_flag "*) ;;
              *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;              *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
             esac              esac
           done            done
         fi          fi
Line 5657  func_mode_link () Line 6416  func_mode_link ()
         if test "$linkmode,$pass" = "lib,link" ||          if test "$linkmode,$pass" = "lib,link" ||
            test "$linkmode,$pass" = "prog,scan" ||             test "$linkmode,$pass" = "prog,scan" ||
            { test "$linkmode" != prog && test "$linkmode" != lib; }; then             { test "$linkmode" != prog && test "$linkmode" != lib; }; then
          test -n "$dlopen" && dlfiles="$dlfiles $dlopen"          test -n "$dlopen" && func_append dlfiles " $dlopen"
          test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"          test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
         fi          fi
   
         if test "$pass" = conv; then          if test "$pass" = conv; then
Line 5669  func_mode_link () Line 6428  func_mode_link ()
               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.
            convenience="$convenience $ladir/$objdir/$old_library"            func_append convenience " $ladir/$objdir/$old_library"
            old_convenience="$old_convenience $ladir/$objdir/$old_library"            func_append old_convenience " $ladir/$objdir/$old_library"
           elif test "$linkmode" != prog && test "$linkmode" != lib; then            elif test "$linkmode" != prog && test "$linkmode" != lib; 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_duplicate_deps ; then            if $opt_preserve_dup_deps ; then
               case "$tmp_libs " in                case "$tmp_libs " in
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;              *" $deplib "*) func_append specialdeplibs " $deplib" ;;
               esac                esac
             fi              fi
            tmp_libs="$tmp_libs $deplib"            func_append tmp_libs " $deplib"
           done            done
           continue            continue
         fi # $pass = conv          fi # $pass = conv
Line 5690  func_mode_link () Line 6449  func_mode_link ()
   
         # Get the name of the library we link against.          # Get the name of the library we link against.
         linklib=          linklib=
        for l in $old_library $library_names; do        if test -n "$old_library" &&
          linklib="$l"           { test "$prefer_static_libs" = yes ||
        done             test "$prefer_static_libs,$installed" = "built,no"; }; then
           linklib=$old_library
         else
           for l in $old_library $library_names; do
             linklib="$l"
           done
         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
Line 5709  func_mode_link () Line 6474  func_mode_link ()
             # 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
             # bomb out in the load deplibs phase.              # bomb out in the load deplibs phase.
            dlprefiles="$dlprefiles $lib $dependency_libs"            func_append dlprefiles " $lib $dependency_libs"
           else            else
            newdlfiles="$newdlfiles $lib"            func_append newdlfiles " $lib"
           fi            fi
           continue            continue
         fi # $pass = dlopen          fi # $pass = dlopen
Line 5733  func_mode_link () Line 6498  func_mode_link ()
   
         # Find the relevant object directory and library name.          # Find the relevant object directory and library name.
         if test "X$installed" = Xyes; then          if test "X$installed" = Xyes; then
          if test ! -f "$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="$libdir"            dir="$lt_sysroot$libdir"
            absdir="$libdir"            absdir="$lt_sysroot$libdir"
           fi            fi
           test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes            test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
         else          else
Line 5748  func_mode_link () Line 6513  func_mode_link ()
             dir="$ladir"              dir="$ladir"
             absdir="$abs_ladir"              absdir="$abs_ladir"
             # Remove this search path later              # Remove this search path later
            notinst_path="$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
            notinst_path="$notinst_path $abs_ladir"            func_append notinst_path " $abs_ladir"
           fi            fi
         fi # $installed = yes          fi # $installed = yes
         func_stripname 'lib' '.la' "$laname"          func_stripname 'lib' '.la' "$laname"
Line 5764  func_mode_link () Line 6529  func_mode_link ()
           if test -z "$libdir" && test "$linkmode" = prog; then            if test -z "$libdir" && test "$linkmode" = prog; 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
          # Prefer using a static library (so that no silly _DYNAMIC symbols          case "$host" in
          # are required to link).            # special handling for platforms with PE-DLLs.
          if test -n "$old_library"; then            *cygwin* | *mingw* | *cegcc* )
            newdlprefiles="$newdlprefiles $dir/$old_library"              # Linker will automatically link against shared library if both
            # Keep a list of preopened convenience libraries to check              # static and shared are present.  Therefore, ensure we extract
            # that they are being used correctly in the link pass.              # symbols from the import library if a shared library is present
            test -z "$libdir" && \              # (otherwise, the dlopen module name will be incorrect).  We do
                dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"              # this by putting the import library name into $newdlprefiles.
          # Otherwise, use the dlname, so that lt_dlopen finds it.              # We recover the dlopen module name by 'saving' the la file
          elif test -n "$dlname"; then              # name in a special purpose variable, and (later) extracting the
            newdlprefiles="$newdlprefiles $dir/$dlname"              # dlname from the la file.
          else              if test -n "$dlname"; then
            newdlprefiles="$newdlprefiles $dir/$linklib"                func_tr_sh "$dir/$linklib"
          fi                eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
                 func_append newdlprefiles " $dir/$linklib"
               else
                 func_append newdlprefiles " $dir/$old_library"
                 # Keep a list of preopened convenience libraries to check
                 # that they are being used correctly in the link pass.
                 test -z "$libdir" && \
                   func_append dlpreconveniencelibs " $dir/$old_library"
               fi
             ;;
             * )
               # Prefer using a static library (so that no silly _DYNAMIC symbols
               # are required to link).
               if test -n "$old_library"; then
                 func_append newdlprefiles " $dir/$old_library"
                 # Keep a list of preopened convenience libraries to check
                 # that they are being used correctly in the link pass.
                 test -z "$libdir" && \
                   func_append dlpreconveniencelibs " $dir/$old_library"
               # Otherwise, use the dlname, so that lt_dlopen finds it.
               elif test -n "$dlname"; then
                 func_append newdlprefiles " $dir/$dlname"
               else
                 func_append newdlprefiles " $dir/$linklib"
               fi
             ;;
           esac
         fi # $pass = dlpreopen          fi # $pass = dlpreopen
   
         if test -z "$libdir"; then          if test -z "$libdir"; then
Line 5795  func_mode_link () Line 6586  func_mode_link ()
   
   
         if test "$linkmode" = prog && test "$pass" != link; then          if test "$linkmode" = prog && test "$pass" != link; then
          newlib_search_path="$newlib_search_path $ladir"          func_append newlib_search_path " $ladir"
           deplibs="$lib $deplibs"            deplibs="$lib $deplibs"
   
           linkalldeplibs=no            linkalldeplibs=no
Line 5808  func_mode_link () Line 6599  func_mode_link ()
           for deplib in $dependency_libs; do            for deplib in $dependency_libs; do
             case $deplib in              case $deplib in
             -L*) func_stripname '-L' '' "$deplib"              -L*) func_stripname '-L' '' "$deplib"
                 newlib_search_path="$newlib_search_path $func_stripname_result"                 func_resolve_sysroot "$func_stripname_result"
                  func_append newlib_search_path " $func_resolve_sysroot_result"
                  ;;                   ;;
             esac              esac
             # Need to link against all dependency_libs?              # Need to link against all dependency_libs?
Line 5819  func_mode_link () Line 6611  func_mode_link ()
               # 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_duplicate_deps ; then            if $opt_preserve_dup_deps ; then
               case "$tmp_libs " in                case "$tmp_libs " in
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;              *" $deplib "*) func_append specialdeplibs " $deplib" ;;
               esac                esac
             fi              fi
            tmp_libs="$tmp_libs $deplib"            func_append tmp_libs " $deplib"
           done # for deplib            done # for deplib
           continue            continue
         fi # $linkmode = prog...          fi # $linkmode = prog...
Line 5839  func_mode_link () Line 6631  func_mode_link ()
               # 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:"*) ;;
              *) temp_rpath="$temp_rpath$absdir:" ;;              *) func_append temp_rpath "$absdir:" ;;
               esac                esac
             fi              fi
   
Line 5851  func_mode_link () Line 6643  func_mode_link ()
             *)              *)
               case "$compile_rpath " in                case "$compile_rpath " in
               *" $absdir "*) ;;                *" $absdir "*) ;;
              *) compile_rpath="$compile_rpath $absdir"              *) func_append compile_rpath " $absdir" ;;
               esac                esac
               ;;                ;;
             esac              esac
Line 5860  func_mode_link () Line 6652  func_mode_link ()
             *)              *)
               case "$finalize_rpath " in                case "$finalize_rpath " in
               *" $libdir "*) ;;                *" $libdir "*) ;;
              *) finalize_rpath="$finalize_rpath $libdir"              *) func_append finalize_rpath " $libdir" ;;
               esac                esac
               ;;                ;;
             esac              esac
Line 5885  func_mode_link () Line 6677  func_mode_link ()
           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
              notinst_deplibs="$notinst_deplibs $lib"              func_append notinst_deplibs " $lib"
               need_relink=no                need_relink=no
             ;;              ;;
           *)            *)
             if test "$installed" = no; then              if test "$installed" = no; then
              notinst_deplibs="$notinst_deplibs $lib"              func_append notinst_deplibs " $lib"
               need_relink=yes                need_relink=yes
             fi              fi
             ;;              ;;
Line 5925  func_mode_link () Line 6717  func_mode_link ()
             *)              *)
               case "$compile_rpath " in                case "$compile_rpath " in
               *" $absdir "*) ;;                *" $absdir "*) ;;
              *) compile_rpath="$compile_rpath $absdir"              *) func_append compile_rpath " $absdir" ;;
               esac                esac
               ;;                ;;
             esac              esac
Line 5934  func_mode_link () Line 6726  func_mode_link ()
             *)              *)
               case "$finalize_rpath " in                case "$finalize_rpath " in
               *" $libdir "*) ;;                *" $libdir "*) ;;
              *) finalize_rpath="$finalize_rpath $libdir"              *) func_append finalize_rpath " $libdir" ;;
               esac                esac
               ;;                ;;
             esac              esac
Line 5988  func_mode_link () Line 6780  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 "$mode" != relink; then          if test "$linkmode" = prog || test "$opt_mode" != relink; then
             add_shlibpath=              add_shlibpath=
             add_dir=              add_dir=
             add=              add=
Line 6044  func_mode_link () Line 6836  func_mode_link ()
                 if test -n "$inst_prefix_dir"; then                  if test -n "$inst_prefix_dir"; then
                   case $libdir in                    case $libdir in
                     [\\/]*)                      [\\/]*)
                      add_dir="$add_dir -L$inst_prefix_dir$libdir"                      func_append add_dir " -L$inst_prefix_dir$libdir"
                       ;;                        ;;
                   esac                    esac
                 fi                  fi
Line 6066  func_mode_link () Line 6858  func_mode_link ()
             if test -n "$add_shlibpath"; then              if test -n "$add_shlibpath"; then
               case :$compile_shlibpath: in                case :$compile_shlibpath: in
               *":$add_shlibpath:"*) ;;                *":$add_shlibpath:"*) ;;
              *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;              *) func_append compile_shlibpath "$add_shlibpath:" ;;
               esac                esac
             fi              fi
             if test "$linkmode" = prog; then              if test "$linkmode" = prog; then
Line 6080  func_mode_link () Line 6872  func_mode_link ()
                  test "$hardcode_shlibpath_var" = yes; then                   test "$hardcode_shlibpath_var" = yes; then
                 case :$finalize_shlibpath: in                  case :$finalize_shlibpath: in
                 *":$libdir:"*) ;;                  *":$libdir:"*) ;;
                *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;                *) func_append finalize_shlibpath "$libdir:" ;;
                 esac                  esac
               fi                fi
             fi              fi
           fi            fi
   
          if test "$linkmode" = prog || test "$mode" = relink; then          if test "$linkmode" = prog || test "$opt_mode" = relink; then
             add_shlibpath=              add_shlibpath=
             add_dir=              add_dir=
             add=              add=
Line 6100  func_mode_link () Line 6892  func_mode_link ()
             elif test "$hardcode_shlibpath_var" = yes; then              elif test "$hardcode_shlibpath_var" = yes; then
               case :$finalize_shlibpath: in                case :$finalize_shlibpath: in
               *":$libdir:"*) ;;                *":$libdir:"*) ;;
              *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;              *) func_append finalize_shlibpath "$libdir:" ;;
               esac                esac
               add="-l$name"                add="-l$name"
             elif test "$hardcode_automatic" = yes; then              elif test "$hardcode_automatic" = yes; then
Line 6117  func_mode_link () Line 6909  func_mode_link ()
               if test -n "$inst_prefix_dir"; then                if test -n "$inst_prefix_dir"; then
                 case $libdir in                  case $libdir in
                   [\\/]*)                    [\\/]*)
                    add_dir="$add_dir -L$inst_prefix_dir$libdir"                    func_append add_dir " -L$inst_prefix_dir$libdir"
                     ;;                      ;;
                 esac                  esac
               fi                fi
Line 6194  func_mode_link () Line 6986  func_mode_link ()
                    temp_xrpath=$func_stripname_result                     temp_xrpath=$func_stripname_result
                    case " $xrpath " in                     case " $xrpath " in
                    *" $temp_xrpath "*) ;;                     *" $temp_xrpath "*) ;;
                   *) xrpath="$xrpath $temp_xrpath";;                   *) func_append xrpath " $temp_xrpath";;
                    esac;;                     esac;;
              *) temp_deplibs="$temp_deplibs $libdir";;              *) func_append temp_deplibs " $libdir";;
               esac                esac
             done              done
             dependency_libs="$temp_deplibs"              dependency_libs="$temp_deplibs"
           fi            fi
   
          newlib_search_path="$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 "$link_static" = no && 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
             newdependency_libs="$deplib $newdependency_libs"              newdependency_libs="$deplib $newdependency_libs"
            if $opt_duplicate_deps ; then            case $deplib in
               -L*) func_stripname '-L' '' "$deplib"
                    func_resolve_sysroot "$func_stripname_result";;
               *) func_resolve_sysroot "$deplib" ;;
             esac
             if $opt_preserve_dup_deps ; then
               case "$tmp_libs " in                case "$tmp_libs " in
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;              *" $func_resolve_sysroot_result "*)
                 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
               esac                esac
             fi              fi
            tmp_libs="$tmp_libs $deplib"            func_append tmp_libs " $func_resolve_sysroot_result"
           done            done
   
           if test "$link_all_deplibs" != no; then            if test "$link_all_deplibs" != no; then
Line 6224  func_mode_link () Line 7022  func_mode_link ()
               case $deplib in                case $deplib in
               -L*) path="$deplib" ;;                -L*) path="$deplib" ;;
               *.la)                *.la)
                   func_resolve_sysroot "$deplib"
                   deplib=$func_resolve_sysroot_result
                 func_dirname "$deplib" "" "."                  func_dirname "$deplib" "" "."
                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" ;;
Line 6252  func_mode_link () Line 7052  func_mode_link ()
                       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
                      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"                      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
                      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"                      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
                       path=                        path=
                     fi                      fi
                   fi                    fi
Line 6303  func_mode_link () Line 7103  func_mode_link ()
           for dir in $newlib_search_path; do            for dir in $newlib_search_path; do
             case "$lib_search_path " in              case "$lib_search_path " in
             *" $dir "*) ;;              *" $dir "*) ;;
            *) lib_search_path="$lib_search_path $dir" ;;            *) func_append lib_search_path " $dir" ;;
             esac              esac
           done            done
           newlib_search_path=            newlib_search_path=
Line 6361  func_mode_link () Line 7161  func_mode_link ()
             -L*)              -L*)
               case " $tmp_libs " in                case " $tmp_libs " in
               *" $deplib "*) ;;                *" $deplib "*) ;;
              *) tmp_libs="$tmp_libs $deplib" ;;              *) func_append tmp_libs " $deplib" ;;
               esac                esac
               ;;                ;;
            *) tmp_libs="$tmp_libs $deplib" ;;            *) func_append tmp_libs " $deplib" ;;
             esac              esac
           done            done
           eval $var=\"$tmp_libs\"            eval $var=\"$tmp_libs\"
Line 6380  func_mode_link () Line 7180  func_mode_link ()
           ;;            ;;
         esac          esac
         if test -n "$i" ; then          if test -n "$i" ; then
          tmp_libs="$tmp_libs $i"          func_append tmp_libs " $i"
         fi          fi
       done        done
       dependency_libs=$tmp_libs        dependency_libs=$tmp_libs
Line 6421  func_mode_link () Line 7221  func_mode_link ()
       # 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"
      objs="$objs$old_deplibs"      func_append objs "$old_deplibs"
       ;;        ;;
   
     lib)      lib)
Line 6457  func_mode_link () Line 7257  func_mode_link ()
           echo            echo
           $ECHO "*** Warning: Linking the shared library $output against the non-libtool"            $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
           $ECHO "*** objects $objs is not portable!"            $ECHO "*** objects $objs is not portable!"
          libobjs="$libobjs $objs"          func_append libobjs " $objs"
         fi          fi
       fi        fi
   
Line 6655  func_mode_link () Line 7455  func_mode_link ()
           done            done
   
           # Make executables depend on our current version.            # Make executables depend on our current version.
          verstring="$verstring:${current}.0"          func_append verstring ":${current}.0"
           ;;            ;;
   
         qnx)          qnx)
Line 6723  func_mode_link () Line 7523  func_mode_link ()
       fi        fi
   
       func_generate_dlsyms "$libname" "$libname" "yes"        func_generate_dlsyms "$libname" "$libname" "yes"
      libobjs="$libobjs $symfileobj"      func_append libobjs " $symfileobj"
       test "X$libobjs" = "X " && libobjs=        test "X$libobjs" = "X " && libobjs=
   
      if test "$mode" != relink; then      if test "$opt_mode" != relink; 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 6742  func_mode_link () Line 7542  func_mode_link ()
                    continue                     continue
                  fi                   fi
                fi                 fi
               removelist="$removelist $p"               func_append removelist " $p"
                ;;                 ;;
             *) ;;              *) ;;
           esac            esac
Line 6753  func_mode_link () Line 7553  func_mode_link ()
   
       # 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 "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
        oldlibs="$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`
Line 6770  func_mode_link () Line 7570  func_mode_link ()
         # If the user specified any rpath flags, then add them.          # If the user specified any rpath flags, then add them.
         temp_xrpath=          temp_xrpath=
         for libdir in $xrpath; do          for libdir in $xrpath; do
          temp_xrpath="$temp_xrpath -R$libdir"          func_replace_sysroot "$libdir"
           func_append temp_xrpath " -R$func_replace_sysroot_result"
           case "$finalize_rpath " in            case "$finalize_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) finalize_rpath="$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 "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
Line 6787  func_mode_link () Line 7588  func_mode_link ()
       for lib in $old_dlfiles; do        for lib in $old_dlfiles; do
         case " $dlprefiles $dlfiles " in          case " $dlprefiles $dlfiles " in
         *" $lib "*) ;;          *" $lib "*) ;;
        *) dlfiles="$dlfiles $lib" ;;        *) func_append dlfiles " $lib" ;;
         esac          esac
       done        done
   
Line 6797  func_mode_link () Line 7598  func_mode_link ()
       for lib in $old_dlprefiles; do        for lib in $old_dlprefiles; do
         case "$dlprefiles " in          case "$dlprefiles " in
         *" $lib "*) ;;          *" $lib "*) ;;
        *) dlprefiles="$dlprefiles $lib" ;;        *) func_append dlprefiles " $lib" ;;
         esac          esac
       done        done
   
Line 6809  func_mode_link () Line 7610  func_mode_link ()
             ;;              ;;
           *-*-rhapsody* | *-*-darwin1.[012])            *-*-rhapsody* | *-*-darwin1.[012])
             # Rhapsody C library is in the System framework              # Rhapsody C library is in the System framework
            deplibs="$deplibs System.ltframework"            func_append deplibs " System.ltframework"
             ;;              ;;
           *-*-netbsd*)            *-*-netbsd*)
             # Don't link with libc until the a.out ld.so is fixed.              # Don't link with libc until the a.out ld.so is fixed.
Line 6826  func_mode_link () Line 7627  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 "$build_libtool_need_lc" = "yes"; then
              deplibs="$deplibs -lc"              func_append deplibs " -lc"
             fi              fi
             ;;              ;;
           esac            esac
Line 6875  EOF Line 7676  EOF
                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                   case " $predeps $postdeps " in                    case " $predeps $postdeps " in
                   *" $i "*)                    *" $i "*)
                    newdeplibs="$newdeplibs $i"                    func_append newdeplibs " $i"
                     i=""                      i=""
                     ;;                      ;;
                   esac                    esac
Line 6886  EOF Line 7687  EOF
                   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
                    newdeplibs="$newdeplibs $i"                    func_append newdeplibs " $i"
                   else                    else
                     droppeddeps=yes                      droppeddeps=yes
                     echo                      echo
Line 6900  EOF Line 7701  EOF
                 fi                  fi
                 ;;                  ;;
               *)                *)
                newdeplibs="$newdeplibs $i"                func_append newdeplibs " $i"
                 ;;                  ;;
               esac                esac
             done              done
Line 6918  EOF Line 7719  EOF
                   if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                     case " $predeps $postdeps " in                      case " $predeps $postdeps " in
                     *" $i "*)                      *" $i "*)
                      newdeplibs="$newdeplibs $i"                      func_append newdeplibs " $i"
                       i=""                        i=""
                       ;;                        ;;
                     esac                      esac
Line 6929  EOF Line 7730  EOF
                     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
                      newdeplibs="$newdeplibs $i"                      func_append newdeplibs " $i"
                     else                      else
                       droppeddeps=yes                        droppeddeps=yes
                       echo                        echo
Line 6951  EOF Line 7752  EOF
                 fi                  fi
                 ;;                  ;;
               *)                *)
                newdeplibs="$newdeplibs $i"                func_append newdeplibs " $i"
                 ;;                  ;;
               esac                esac
             done              done
Line 6968  EOF Line 7769  EOF
               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                 case " $predeps $postdeps " in                  case " $predeps $postdeps " in
                 *" $a_deplib "*)                  *" $a_deplib "*)
                  newdeplibs="$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
                     libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
                   else
                     libnameglob=$libname
                   fi
                   test "$want_nocaseglob" = yes && 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
                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`                  if test "$want_nocaseglob" = yes; then
                     shopt -s nocaseglob
                     potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
                     $nocaseglob
                   else
                     potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
                   fi
                   for potent_lib in $potential_libs; do                    for potent_lib in $potential_libs; do
                       # Follow soft links.                        # Follow soft links.
                       if ls -lLd "$potent_lib" 2>/dev/null |                        if ls -lLd "$potent_lib" 2>/dev/null |
Line 6999  EOF Line 7812  EOF
                       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
                        newdeplibs="$newdeplibs $a_deplib"                        func_append newdeplibs " $a_deplib"
                         a_deplib=""                          a_deplib=""
                         break 2                          break 2
                       fi                        fi
Line 7024  EOF Line 7837  EOF
               ;;                ;;
             *)              *)
               # Add a -L argument.                # Add a -L argument.
              newdeplibs="$newdeplibs $a_deplib"              func_append newdeplibs " $a_deplib"
               ;;                ;;
             esac              esac
           done # Gone through all deplibs.            done # Gone through all deplibs.
Line 7040  EOF Line 7853  EOF
               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
                 case " $predeps $postdeps " in                  case " $predeps $postdeps " in
                 *" $a_deplib "*)                  *" $a_deplib "*)
                  newdeplibs="$newdeplibs $a_deplib"                  func_append newdeplibs " $a_deplib"
                   a_deplib=""                    a_deplib=""
                   ;;                    ;;
                 esac                  esac
Line 7053  EOF Line 7866  EOF
                     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
                      newdeplibs="$newdeplibs $a_deplib"                      func_append newdeplibs " $a_deplib"
                       a_deplib=""                        a_deplib=""
                       break 2                        break 2
                     fi                      fi
Line 7078  EOF Line 7891  EOF
               ;;                ;;
             *)              *)
               # Add a -L argument.                # Add a -L argument.
              newdeplibs="$newdeplibs $a_deplib"              func_append newdeplibs " $a_deplib"
               ;;                ;;
             esac              esac
           done # Gone through all deplibs.            done # Gone through all deplibs.
Line 7182  EOF Line 7995  EOF
         *)          *)
           case " $deplibs " in            case " $deplibs " in
           *" -L$path/$objdir "*)            *" -L$path/$objdir "*)
            new_libs="$new_libs -L$path/$objdir" ;;            func_append new_libs " -L$path/$objdir" ;;
           esac            esac
           ;;            ;;
         esac          esac
Line 7192  EOF Line 8005  EOF
         -L*)          -L*)
           case " $new_libs " in            case " $new_libs " in
           *" $deplib "*) ;;            *" $deplib "*) ;;
          *) new_libs="$new_libs $deplib" ;;          *) func_append new_libs " $deplib" ;;
           esac            esac
           ;;            ;;
        *) new_libs="$new_libs $deplib" ;;        *) func_append new_libs " $deplib" ;;
         esac          esac
       done        done
       deplibs="$new_libs"        deplibs="$new_libs"
Line 7212  EOF Line 8025  EOF
           hardcode_libdirs=            hardcode_libdirs=
           dep_rpath=            dep_rpath=
           rpath="$finalize_rpath"            rpath="$finalize_rpath"
          test "$mode" != relink && rpath="$compile_rpath$rpath"          test "$opt_mode" != relink && 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"
                   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
Line 7224  EOF Line 8039  EOF
                   *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)                    *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                     ;;                      ;;
                   *)                    *)
                    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"                    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
                     ;;                      ;;
                   esac                    esac
                 fi                  fi
               else                else
                 eval flag=\"$hardcode_libdir_flag_spec\"                  eval flag=\"$hardcode_libdir_flag_spec\"
                dep_rpath="$dep_rpath $flag"                func_append dep_rpath " $flag"
               fi                fi
             elif test -n "$runpath_var"; then              elif test -n "$runpath_var"; then
               case "$perm_rpath " in                case "$perm_rpath " in
               *" $libdir "*) ;;                *" $libdir "*) ;;
              *) perm_rpath="$perm_rpath $libdir" ;;              *) func_apped perm_rpath " $libdir" ;;
               esac                esac
             fi              fi
           done            done
Line 7253  EOF Line 8068  EOF
             # We should set the runpath_var.              # We should set the runpath_var.
             rpath=              rpath=
             for dir in $perm_rpath; do              for dir in $perm_rpath; do
              rpath="$rpath$dir:"              func_append rpath "$dir:"
             done              done
             eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"              eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
           fi            fi
Line 7261  EOF Line 8076  EOF
         fi          fi
   
         shlibpath="$finalize_shlibpath"          shlibpath="$finalize_shlibpath"
        test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"        test "$opt_mode" != relink && 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 7287  EOF Line 8102  EOF
         linknames=          linknames=
         for link          for link
         do          do
          linknames="$linknames $link"          func_append linknames " $link"
         done          done
   
         # Use standard objects if they are pic          # Use standard objects if they are pic
Line 7298  EOF Line 8113  EOF
         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"
          delfiles="$delfiles $export_symbols"          func_append delfiles " $export_symbols"
         fi          fi
   
         orig_export_symbols=          orig_export_symbols=
Line 7329  EOF Line 8144  EOF
             $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 cmd in $cmds; do            for cmd1 in $cmds; do
               IFS="$save_ifs"                IFS="$save_ifs"
              eval cmd=\"$cmd\"              # Take the normal branch if the nm_file_list_spec branch
              func_len " $cmd"              # doesn't work or if tool conversion is not needed.
              len=$func_len_result              case $nm_file_list_spec~$to_tool_file_cmd in
              if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then                *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
                   try_normal_branch=yes
                   eval cmd=\"$cmd1\"
                   func_len " $cmd"
                   len=$func_len_result
                   ;;
                 *)
                   try_normal_branch=no
                   ;;
               esac
               if test "$try_normal_branch" = yes \
                  && { test "$len" -lt "$max_cmd_len" \
                       || test "$max_cmd_len" -le -1; }
               then
                 func_show_eval "$cmd" 'exit $?'                  func_show_eval "$cmd" 'exit $?'
                 skipped_export=false                  skipped_export=false
                 elif test -n "$nm_file_list_spec"; then
                   func_basename "$output"
                   output_la=$func_basename_result
                   save_libobjs=$libobjs
                   save_output=$output
                   output=${output_objdir}/${output_la}.nm
                   func_to_tool_file "$output"
                   libobjs=$nm_file_list_spec$func_to_tool_file_result
                   func_append delfiles " $output"
                   func_verbose "creating $NM input file list: $output"
                   for obj in $save_libobjs; do
                     func_to_tool_file "$obj"
                     $ECHO "$func_to_tool_file_result"
                   done > "$output"
                   eval cmd=\"$cmd1\"
                   func_show_eval "$cmd" 'exit $?'
                   output=$save_output
                   libobjs=$save_libobjs
                   skipped_export=false
               else                else
                 # The command line is too long to execute in one step.                  # The command line is too long to execute in one step.
                 func_verbose "using reloadable object file for export list..."                  func_verbose "using reloadable object file for export list..."
Line 7369  EOF Line 8216  EOF
           # 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.
           $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter            $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
          delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"          func_append delfiles " $export_symbols $output_objdir/$libname.filter"
           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
Line 7379  EOF Line 8226  EOF
           case " $convenience " in            case " $convenience " in
           *" $test_deplib "*) ;;            *" $test_deplib "*) ;;
           *)            *)
            tmp_deplibs="$tmp_deplibs $test_deplib"            func_append tmp_deplibs " $test_deplib"
             ;;              ;;
           esac            esac
         done          done
Line 7399  EOF Line 8246  EOF
             test "X$libobjs" = "X " && libobjs=              test "X$libobjs" = "X " && libobjs=
           else            else
             gentop="$output_objdir/${outputname}x"              gentop="$output_objdir/${outputname}x"
            generated="$generated $gentop"            func_append generated " $gentop"
   
             func_extract_archives $gentop $convenience              func_extract_archives $gentop $convenience
            libobjs="$libobjs $func_extract_archives_result"            func_append libobjs " $func_extract_archives_result"
             test "X$libobjs" = "X " && libobjs=              test "X$libobjs" = "X " && libobjs=
           fi            fi
         fi          fi
   
         if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then          if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
           eval flag=\"$thread_safe_flag_spec\"            eval flag=\"$thread_safe_flag_spec\"
          linker_flags="$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 "$mode" = relink; then        if test "$opt_mode" = relink; 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
   
Line 7475  EOF Line 8322  EOF
             echo 'INPUT (' > $output              echo 'INPUT (' > $output
             for obj in $save_libobjs              for obj in $save_libobjs
             do              do
              $ECHO "$obj" >> $output              func_to_tool_file "$obj"
               $ECHO "$func_to_tool_file_result" >> $output
             done              done
             echo ')' >> $output              echo ')' >> $output
            delfiles="$delfiles $output"            func_append delfiles " $output"
             func_to_tool_file "$output"
             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 "X$skipped_export" != "X:" && test "X$file_list_spec" != X; 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"
Line 7492  EOF Line 8342  EOF
             fi              fi
             for obj              for obj
             do              do
              $ECHO "$obj" >> $output              func_to_tool_file "$obj"
               $ECHO "$func_to_tool_file_result" >> $output
             done              done
            delfiles="$delfiles $output"            func_append delfiles " $output"
            output=$firstobj\"$file_list_spec$output\"            func_to_tool_file "$output"
             output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
           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..."
Line 7546  EOF Line 8398  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
              delfiles="$delfiles $output"              func_append delfiles " $output"
   
             else              else
               output=                output=
Line 7580  EOF Line 8432  EOF
                 lt_exit=$?                  lt_exit=$?
   
                 # Restore the uninstalled library and exit                  # Restore the uninstalled library and exit
                if test "$mode" = relink; then                if test "$opt_mode" = relink; then
                   ( cd "$output_objdir" && \                    ( cd "$output_objdir" && \
                     $RM "${realname}T" && \                      $RM "${realname}T" && \
                     $MV "${realname}U" "$realname" )                      $MV "${realname}U" "$realname" )
Line 7613  EOF Line 8465  EOF
               # 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.
               $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter                $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
              delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"              func_append delfiles " $export_symbols $output_objdir/$libname.filter"
               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
Line 7654  EOF Line 8506  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"
          generated="$generated $gentop"          func_append generated " $gentop"
   
           func_extract_archives $gentop $dlprefiles            func_extract_archives $gentop $dlprefiles
          libobjs="$libobjs $func_extract_archives_result"          func_append libobjs " $func_extract_archives_result"
           test "X$libobjs" = "X " && libobjs=            test "X$libobjs" = "X " && libobjs=
         fi          fi
   
Line 7673  EOF Line 8525  EOF
             lt_exit=$?              lt_exit=$?
   
             # Restore the uninstalled library and exit              # Restore the uninstalled library and exit
            if test "$mode" = relink; then            if test "$opt_mode" = relink; then
               ( cd "$output_objdir" && \                ( cd "$output_objdir" && \
                 $RM "${realname}T" && \                  $RM "${realname}T" && \
                 $MV "${realname}U" "$realname" )                  $MV "${realname}U" "$realname" )
Line 7685  EOF Line 8537  EOF
         IFS="$save_ifs"          IFS="$save_ifs"
   
         # Restore the uninstalled library and exit          # Restore the uninstalled library and exit
        if test "$mode" = relink; then        if test "$opt_mode" = relink; 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 7769  EOF Line 8621  EOF
           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"
          generated="$generated $gentop"          func_append generated " $gentop"
   
           func_extract_archives $gentop $convenience            func_extract_archives $gentop $convenience
           reload_conv_objs="$reload_objs $func_extract_archives_result"            reload_conv_objs="$reload_objs $func_extract_archives_result"
         fi          fi
       fi        fi
   
         # If we're not building shared, we need to use non_pic_objs
         test "$build_libtool_libs" != yes && 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" ### testsuite: skip nested quoting test
   
Line 7849  EOF Line 8704  EOF
         if test "$tagname" = CXX ; then          if test "$tagname" = CXX ; then
           case ${MACOSX_DEPLOYMENT_TARGET-10.0} in            case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
             10.[0123])              10.[0123])
              compile_command="$compile_command ${wl}-bind_at_load"              func_append compile_command " ${wl}-bind_at_load"
              finalize_command="$finalize_command ${wl}-bind_at_load"              func_append finalize_command " ${wl}-bind_at_load"
             ;;              ;;
           esac            esac
         fi          fi
Line 7870  EOF Line 8725  EOF
         *)          *)
           case " $compile_deplibs " in            case " $compile_deplibs " in
           *" -L$path/$objdir "*)            *" -L$path/$objdir "*)
            new_libs="$new_libs -L$path/$objdir" ;;            func_append new_libs " -L$path/$objdir" ;;
           esac            esac
           ;;            ;;
         esac          esac
Line 7880  EOF Line 8735  EOF
         -L*)          -L*)
           case " $new_libs " in            case " $new_libs " in
           *" $deplib "*) ;;            *" $deplib "*) ;;
          *) new_libs="$new_libs $deplib" ;;          *) func_append new_libs " $deplib" ;;
           esac            esac
           ;;            ;;
        *) new_libs="$new_libs $deplib" ;;        *) func_append new_libs " $deplib" ;;
         esac          esac
       done        done
       compile_deplibs="$new_libs"        compile_deplibs="$new_libs"
   
   
      compile_command="$compile_command $compile_deplibs"      func_append compile_command " $compile_deplibs"
      finalize_command="$finalize_command $finalize_deplibs"      func_append finalize_command " $finalize_deplibs"
   
       if test -n "$rpath$xrpath"; then        if test -n "$rpath$xrpath"; then
         # If the user specified any rpath flags, then add them.          # If the user specified any rpath flags, then add them.
Line 7898  EOF Line 8753  EOF
           # This is the magic to use -rpath.            # This is the magic to use -rpath.
           case "$finalize_rpath " in            case "$finalize_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) finalize_rpath="$finalize_rpath $libdir" ;;          *) func_append finalize_rpath " $libdir" ;;
           esac            esac
         done          done
       fi        fi
Line 7917  EOF Line 8772  EOF
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                 ;;                  ;;
               *)                *)
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"                func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
                 ;;                  ;;
               esac                esac
             fi              fi
           else            else
             eval flag=\"$hardcode_libdir_flag_spec\"              eval flag=\"$hardcode_libdir_flag_spec\"
            rpath="$rpath $flag"            func_append rpath " $flag"
           fi            fi
         elif test -n "$runpath_var"; then          elif test -n "$runpath_var"; then
           case "$perm_rpath " in            case "$perm_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) perm_rpath="$perm_rpath $libdir" ;;          *) func_append perm_rpath " $libdir" ;;
           esac            esac
         fi          fi
         case $host in          case $host in
Line 7937  EOF Line 8792  EOF
           case :$dllsearchpath: in            case :$dllsearchpath: in
           *":$libdir:"*) ;;            *":$libdir:"*) ;;
           ::) dllsearchpath=$libdir;;            ::) dllsearchpath=$libdir;;
          *) dllsearchpath="$dllsearchpath:$libdir";;          *) func_append dllsearchpath ":$libdir";;
           esac            esac
           case :$dllsearchpath: in            case :$dllsearchpath: in
           *":$testbindir:"*) ;;            *":$testbindir:"*) ;;
           ::) dllsearchpath=$testbindir;;            ::) dllsearchpath=$testbindir;;
          *) dllsearchpath="$dllsearchpath:$testbindir";;          *) func_append dllsearchpath ":$testbindir";;
           esac            esac
           ;;            ;;
         esac          esac
Line 7968  EOF Line 8823  EOF
               *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
                 ;;                  ;;
               *)                *)
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"                func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
                 ;;                  ;;
               esac                esac
             fi              fi
           else            else
             eval flag=\"$hardcode_libdir_flag_spec\"              eval flag=\"$hardcode_libdir_flag_spec\"
            rpath="$rpath $flag"            func_append rpath " $flag"
           fi            fi
         elif test -n "$runpath_var"; then          elif test -n "$runpath_var"; then
           case "$finalize_perm_rpath " in            case "$finalize_perm_rpath " in
           *" $libdir "*) ;;            *" $libdir "*) ;;
          *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;          *) func_append finalize_perm_rpath " $libdir" ;;
           esac            esac
         fi          fi
       done        done
Line 8030  EOF Line 8885  EOF
         exit_status=0          exit_status=0
         func_show_eval "$link_command" 'exit_status=$?'          func_show_eval "$link_command" 'exit_status=$?'
   
           if test -n "$postlink_cmds"; then
             func_to_tool_file "$output"
             postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
             func_execute_cmds "$postlink_cmds" 'exit $?'
           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}"'
Line 8052  EOF Line 8913  EOF
           # We should set the runpath_var.            # We should set the runpath_var.
           rpath=            rpath=
           for dir in $perm_rpath; do            for dir in $perm_rpath; do
            rpath="$rpath$dir:"            func_append rpath "$dir:"
           done            done
           compile_var="$runpath_var=\"$rpath\$$runpath_var\" "            compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
         fi          fi
Line 8060  EOF Line 8921  EOF
           # We should set the runpath_var.            # We should set the runpath_var.
           rpath=            rpath=
           for dir in $finalize_perm_rpath; do            for dir in $finalize_perm_rpath; do
            rpath="$rpath$dir:"            func_append rpath "$dir:"
           done            done
           finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "            finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
         fi          fi
Line 8075  EOF Line 8936  EOF
         $opt_dry_run || $RM $output          $opt_dry_run || $RM $output
         # Link the executable and exit          # Link the executable and exit
         func_show_eval "$link_command" 'exit $?'          func_show_eval "$link_command" 'exit $?'
   
           if test -n "$postlink_cmds"; then
             func_to_tool_file "$output"
             postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
             func_execute_cmds "$postlink_cmds" 'exit $?'
           fi
   
         exit $EXIT_SUCCESS          exit $EXIT_SUCCESS
       fi        fi
   
Line 8108  EOF Line 8976  EOF
   
       func_show_eval "$link_command" 'exit $?'        func_show_eval "$link_command" 'exit $?'
   
         if test -n "$postlink_cmds"; then
           func_to_tool_file "$output_objdir/$outputname"
           postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
           func_execute_cmds "$postlink_cmds" 'exit $?'
         fi
   
       # Now create the wrapper script.        # Now create the wrapper script.
       func_verbose "creating $output"        func_verbose "creating $output"
   
Line 8205  EOF Line 9079  EOF
         else          else
           oldobjs="$old_deplibs $non_pic_objects"            oldobjs="$old_deplibs $non_pic_objects"
           if test "$preload" = yes && test -f "$symfileobj"; then            if test "$preload" = yes && test -f "$symfileobj"; then
            oldobjs="$oldobjs $symfileobj"            func_append oldobjs " $symfileobj"
           fi            fi
         fi          fi
         addlibs="$old_convenience"          addlibs="$old_convenience"
Line 8213  EOF Line 9087  EOF
   
       if test -n "$addlibs"; then        if test -n "$addlibs"; then
         gentop="$output_objdir/${outputname}x"          gentop="$output_objdir/${outputname}x"
        generated="$generated $gentop"        func_append generated " $gentop"
   
         func_extract_archives $gentop $addlibs          func_extract_archives $gentop $addlibs
        oldobjs="$oldobjs $func_extract_archives_result"        func_append oldobjs " $func_extract_archives_result"
       fi        fi
   
       # Do each command in the archive commands.        # Do each command in the archive commands.
Line 8227  EOF Line 9101  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"
          generated="$generated $gentop"          func_append generated " $gentop"
   
           func_extract_archives $gentop $dlprefiles            func_extract_archives $gentop $dlprefiles
          oldobjs="$oldobjs $func_extract_archives_result"          func_append oldobjs " $func_extract_archives_result"
         fi          fi
   
         # POSIX demands no paths to be encoded in archives.  We have          # POSIX demands no paths to be encoded in archives.  We have
Line 8248  EOF Line 9122  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"
          generated="$generated $gentop"          func_append generated " $gentop"
           func_mkdir_p "$gentop"            func_mkdir_p "$gentop"
           save_oldobjs=$oldobjs            save_oldobjs=$oldobjs
           oldobjs=            oldobjs=
Line 8272  EOF Line 9146  EOF
                 esac                  esac
               done                done
               func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"                func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
              oldobjs="$oldobjs $gentop/$newobj"              func_append oldobjs " $gentop/$newobj"
               ;;                ;;
            *) oldobjs="$oldobjs $obj" ;;            *) func_append oldobjs " $obj" ;;
             esac              esac
           done            done
         fi          fi
Line 8284  EOF Line 9158  EOF
         len=$func_len_result          len=$func_len_result
         if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then          if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
           cmds=$old_archive_cmds            cmds=$old_archive_cmds
           elif test -n "$archiver_list_spec"; then
             func_verbose "using command file archive linking..."
             for obj in $oldobjs
             do
               func_to_tool_file "$obj"
               $ECHO "$func_to_tool_file_result"
             done > $output_objdir/$libname.libcmd
             func_to_tool_file "$output_objdir/$libname.libcmd"
             oldobjs=" $archiver_list_spec$func_to_tool_file_result"
             cmds=$old_archive_cmds
         else          else
           # the command line is too long to link in one step, link in parts            # the command line is too long to link in one step, link in parts
           func_verbose "using piecewise archive linking..."            func_verbose "using piecewise archive linking..."
Line 8380  EOF Line 9264  EOF
                 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"
                newdependency_libs="$newdependency_libs $libdir/$name"                func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
              *) newdependency_libs="$newdependency_libs $deplib" ;;              -L*)
                 func_stripname -L '' "$deplib"
                 func_replace_sysroot "$func_stripname_result"
                 func_append newdependency_libs " -L$func_replace_sysroot_result"
                 ;;
               -R*)
                 func_stripname -R '' "$deplib"
                 func_replace_sysroot "$func_stripname_result"
                 func_append newdependency_libs " -R$func_replace_sysroot_result"
                 ;;
               *) func_append newdependency_libs " $deplib" ;;
               esac                esac
             done              done
             dependency_libs="$newdependency_libs"              dependency_libs="$newdependency_libs"
Line 8396  EOF Line 9290  EOF
                 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"
                newdlfiles="$newdlfiles $libdir/$name"                func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
              *) newdlfiles="$newdlfiles $lib" ;;              *) func_append newdlfiles " $lib" ;;
               esac                esac
             done              done
             dlfiles="$newdlfiles"              dlfiles="$newdlfiles"
Line 8415  EOF Line 9309  EOF
                 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"
                newdlprefiles="$newdlprefiles $libdir/$name"                func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
                 ;;                  ;;
               esac                esac
             done              done
Line 8427  EOF Line 9321  EOF
                 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;                  [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
                 *) abs=`pwd`"/$lib" ;;                  *) abs=`pwd`"/$lib" ;;
               esac                esac
              newdlfiles="$newdlfiles $abs"              func_append newdlfiles " $abs"
             done              done
             dlfiles="$newdlfiles"              dlfiles="$newdlfiles"
             newdlprefiles=              newdlprefiles=
Line 8436  EOF Line 9330  EOF
                 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;                  [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
                 *) abs=`pwd`"/$lib" ;;                  *) abs=`pwd`"/$lib" ;;
               esac                esac
              newdlprefiles="$newdlprefiles $abs"              func_append newdlprefiles " $abs"
             done              done
             dlprefiles="$newdlprefiles"              dlprefiles="$newdlprefiles"
           fi            fi
Line 8521  relink_command=\"$relink_command\"" Line 9415  relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS      exit $EXIT_SUCCESS
 }  }
   
{ test "$mode" = link || test "$mode" = relink; } &&{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
     func_mode_link ${1+"$@"}      func_mode_link ${1+"$@"}
   
   
Line 8541  func_mode_uninstall () Line 9435  func_mode_uninstall ()
     for arg      for arg
     do      do
       case $arg in        case $arg in
      -f) RM="$RM $arg"; rmforce=yes ;;      -f) func_append RM " $arg"; rmforce=yes ;;
      -*) RM="$RM $arg" ;;      -*) func_append RM " $arg" ;;
      *) files="$files $arg" ;;      *) func_append files " $arg" ;;
       esac        esac
     done      done
   
Line 8552  func_mode_uninstall () Line 9446  func_mode_uninstall ()
   
     rmdirs=      rmdirs=
   
     origobjdir="$objdir"  
     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 "X$dir" = X.; then
        objdir="$origobjdir"        odir="$objdir"
       else        else
        objdir="$dir/$origobjdir"        odir="$dir/$objdir"
       fi        fi
       func_basename "$file"        func_basename "$file"
       name="$func_basename_result"        name="$func_basename_result"
      test "$mode" = uninstall && objdir="$dir"      test "$opt_mode" = uninstall && odir="$dir"
   
      # Remember objdir for removal later, being careful to avoid duplicates      # Remember odir for removal later, being careful to avoid duplicates
      if test "$mode" = clean; then      if test "$opt_mode" = clean; then
         case " $rmdirs " in          case " $rmdirs " in
          *" $objdir "*) ;;          *" $odir "*) ;;
          *) rmdirs="$rmdirs $objdir" ;;          *) func_append rmdirs " $odir" ;;
         esac          esac
       fi        fi
   
Line 8595  func_mode_uninstall () Line 9488  func_mode_uninstall ()
   
           # Delete the libtool libraries and symlinks.            # Delete the libtool libraries and symlinks.
           for n in $library_names; do            for n in $library_names; do
            rmfiles="$rmfiles $objdir/$n"            func_append rmfiles " $odir/$n"
           done            done
          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"          test -n "$old_library" && func_append rmfiles " $odir/$old_library"
   
          case "$mode" in          case "$opt_mode" in
           clean)            clean)
            case "  $library_names " in            case " $library_names " in
            # "  " in the beginning catches empty $dlname 
             *" $dlname "*) ;;              *" $dlname "*) ;;
            *) rmfiles="$rmfiles $objdir/$dlname" ;;            *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
             esac              esac
            test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"            test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
             ;;              ;;
           uninstall)            uninstall)
             if test -n "$library_names"; then              if test -n "$library_names"; then
Line 8634  func_mode_uninstall () Line 9526  func_mode_uninstall ()
           # 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 "$pic_object" != none; then               test "$pic_object" != none; then
            rmfiles="$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 "$non_pic_object" != none; then               test "$non_pic_object" != none; then
            rmfiles="$rmfiles $dir/$non_pic_object"            func_append rmfiles " $dir/$non_pic_object"
           fi            fi
         fi          fi
         ;;          ;;
   
       *)        *)
        if test "$mode" = clean ; then        if test "$opt_mode" = clean ; then
           noexename=$name            noexename=$name
           case $file in            case $file in
           *.exe)            *.exe)
Line 8656  func_mode_uninstall () Line 9548  func_mode_uninstall ()
             noexename=$func_stripname_result              noexename=$func_stripname_result
             # $file with .exe has already been added to rmfiles,              # $file with .exe has already been added to rmfiles,
             # add $file without .exe              # add $file without .exe
            rmfiles="$rmfiles $file"            func_append rmfiles " $file"
             ;;              ;;
           esac            esac
           # Do a test to see if this is a libtool program.            # Do a test to see if this is a libtool program.
Line 8665  func_mode_uninstall () Line 9557  func_mode_uninstall ()
               func_ltwrapper_scriptname "$file"                func_ltwrapper_scriptname "$file"
               relink_command=                relink_command=
               func_source $func_ltwrapper_scriptname_result                func_source $func_ltwrapper_scriptname_result
              rmfiles="$rmfiles $func_ltwrapper_scriptname_result"              func_append rmfiles " $func_ltwrapper_scriptname_result"
             else              else
               relink_command=                relink_command=
               func_source $dir/$noexename                func_source $dir/$noexename
Line 8673  func_mode_uninstall () Line 9565  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
            rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"            func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
             if test "$fast_install" = yes && test -n "$relink_command"; then              if test "$fast_install" = yes && test -n "$relink_command"; then
              rmfiles="$rmfiles $objdir/lt-$name"              func_append rmfiles " $odir/lt-$name"
             fi              fi
             if test "X$noexename" != "X$name" ; then              if test "X$noexename" != "X$name" ; then
              rmfiles="$rmfiles $objdir/lt-${noexename}.c"              func_append rmfiles " $odir/lt-${noexename}.c"
             fi              fi
           fi            fi
         fi          fi
Line 8686  func_mode_uninstall () Line 9578  func_mode_uninstall ()
       esac        esac
       func_show_eval "$RM $rmfiles" 'exit_status=1'        func_show_eval "$RM $rmfiles" 'exit_status=1'
     done      done
     objdir="$origobjdir"  
   
     # 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
Line 8698  func_mode_uninstall () Line 9589  func_mode_uninstall ()
     exit $exit_status      exit $exit_status
 }  }
   
{ test "$mode" = uninstall || test "$mode" = clean; } &&{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
     func_mode_uninstall ${1+"$@"}      func_mode_uninstall ${1+"$@"}
   
test -z "$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 \`$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"

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


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