ltmain.sh | ltmain.sh | |||
---|---|---|---|---|
# 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, | |||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | # 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | |||
# This is free software; see the source for copying conditions. There is N O | # This is free software; see the source for copying conditions. There is N O | |||
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOS E. | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOS E. | |||
# GNU Libtool is free software; you can redistribute it and/or modify | # GNU Libtool is free software; you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | # it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation; either version 2 of the License, or | # the Free Software Foundation; either version 2 of the License, or | |||
skipping to change at line 73 | skipping to change at line 72 | |||
# Try `$progname --help --mode=MODE' for a more detailed description of MOD E. | # Try `$progname --help --mode=MODE' for a more detailed description of MOD E. | |||
# | # | |||
# When reporting a bug, please describe a test case to reproduce it and | # When reporting a bug, please describe a test case to reproduce it and | |||
# include the following information: | # include the following information: | |||
# | # | |||
# host-triplet: $host | # host-triplet: $host | |||
# shell: $SHELL | # shell: $SHELL | |||
# 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.10 | VERSION=2.4 | |||
TIMESTAMP="" | TIMESTAMP="" | |||
package_revision=1.3175 | package_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 | |||
emulate sh | emulate sh | |||
NULLCMD=: | NULLCMD=: | |||
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | |||
# is contrary to our usage. Disable this feature. | # is contrary to our usage. Disable this feature. | |||
alias -g '${1+"$@"}'='"$@"' | alias -g '${1+"$@"}'='"$@"' | |||
setopt NO_GLOB_SUBST | setopt NO_GLOB_SUBST | |||
else | else | |||
skipping to change at line 163 | skipping to change at line 164 | |||
exit_status=$EXIT_SUCCESS | exit_status=$EXIT_SUCCESS | |||
# Make sure IFS has a sensible default | # Make sure IFS has a sensible default | |||
lt_nl=' | lt_nl=' | |||
' | ' | |||
IFS=" $lt_nl" | 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: | |||
# dirname: Compute the dirname of FILE. If nonempty, | # dirname: Compute the dirname of FILE. If nonempty, | |||
# add APPEND to the result, otherwise set result | # add APPEND to the result, otherwise set result | |||
# to NONDIR_REPLACEMENT. | # to NONDIR_REPLACEMENT. | |||
# value returned in "$func_dirname_result" | # value returned in "$func_dirname_result" | |||
# basename: Compute filename of FILE. | # basename: Compute filename of FILE. | |||
# value retuned in "$func_basename_result" | # value retuned in "$func_basename_result" | |||
# Implementation must be kept synchronized with func_dirname | # Implementation must be kept synchronized with func_dirname | |||
# and func_basename. For efficiency, we do not delegate to | # and func_basename. For efficiency, we do not delegate to | |||
# 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 implementat | |||
ion | ||||
# 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,^/[^/]*,,' | |||
removedotparts=':dotsl | removedotparts=':dotsl | |||
s@/\./@/@g | s@/\./@/@g | |||
t dotsl | t dotsl | |||
s,/\.$,/,' | s,/\.$,/,' | |||
collapseslashes='s@/\{1,\}@/@g' | collapseslashes='s@/\{1,\}@/@g' | |||
finalslash='s,/*$,/,' | finalslash='s,/*$,/,' | |||
skipping to change at line 370 | skipping to change at line 402 | |||
esac | esac | |||
# Sed substitution that helps us do robust quoting. It backslashifies | # Sed substitution that helps us do robust quoting. It backslashifies | |||
# metacharacters that are still active within double-quoted strings. | # metacharacters that are still active within double-quoted strings. | |||
Xsed="${SED}"' -e 1s/^X//' | Xsed="${SED}"' -e 1s/^X//' | |||
sed_quote_subst='s/\([`"$\\]\)/\\\1/g' | 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. | |||
# Since each input `\' is now two `\'s, look for any number of runs of | # Since each input `\' is now two `\'s, look for any number of runs of | |||
# four `\'s followed by two `\'s and then a '$'. `\' that '$'. | # four `\'s followed by two `\'s and then a '$'. `\' that '$'. | |||
bs='\\' | bs='\\' | |||
bs2='\\\\' | bs2='\\\\' | |||
bs4='\\\\\\\\' | bs4='\\\\\\\\' | |||
dollar='\$' | dollar='\$' | |||
sed_double_backslash="\ | sed_double_backslash="\ | |||
skipping to change at line 398 | skipping to change at line 439 | |||
opt_help=false | opt_help=false | |||
opt_quiet=false | opt_quiet=false | |||
opt_verbose=false | opt_verbose=false | |||
opt_warning=: | opt_warning=: | |||
# func_echo arg... | # func_echo arg... | |||
# Echo program name prefixed message, along with the current mode | # Echo program name prefixed message, along with the current mode | |||
# 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... | |||
# Echo program name prefixed message in verbose mode only. | # Echo program name prefixed message in verbose mode only. | |||
func_verbose () | func_verbose () | |||
{ | { | |||
$opt_verbose && func_echo ${1+"$@"} | $opt_verbose && func_echo ${1+"$@"} | |||
# A bug in bash halts the script if the last line of a function | # A bug in bash halts the script if the last line of a function | |||
# fails when set -e is in force, so we need another command to | # fails when set -e is in force, so we need another command to | |||
skipping to change at line 424 | skipping to change at line 465 | |||
# Invoke $ECHO with all args, space-separated. | # Invoke $ECHO with all args, space-separated. | |||
func_echo_all () | func_echo_all () | |||
{ | { | |||
$ECHO "$*" | $ECHO "$*" | |||
} | } | |||
# func_error arg... | # func_error arg... | |||
# 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: | |||
: | : | |||
} | } | |||
# func_fatal_error arg... | # func_fatal_error arg... | |||
# Echo program name prefixed message to standard error, and exit. | # Echo program name prefixed message to standard error, and exit. | |||
func_fatal_error () | func_fatal_error () | |||
{ | { | |||
func_error ${1+"$@"} | func_error ${1+"$@"} | |||
skipping to change at line 643 | skipping to change at line 684 | |||
eval "$lt_user_locale | eval "$lt_user_locale | |||
$my_cmd" | $my_cmd" | |||
my_status=$? | my_status=$? | |||
eval "$lt_safe_locale" | eval "$lt_safe_locale" | |||
if test "$my_status" -eq 0; then :; else | if test "$my_status" -eq 0; then :; else | |||
eval "(exit $my_status); $my_fail_exp" | eval "(exit $my_status); $my_fail_exp" | |||
fi | fi | |||
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 | |||
/\./!{ | /\./!{ | |||
N | N | |||
s/\n# / / | s/\n# / / | |||
b more | b more | |||
} | } | |||
:go | :go | |||
/^# '$PROGRAM' (GNU /,/# warranty; / { | /^# '$PROGRAM' (GNU /,/# warranty; / { | |||
s/^# // | s/^# // | |||
skipping to change at line 668 | skipping to change at line 728 | |||
s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ | s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ | |||
p | p | |||
}' < "$progpath" | }' < "$progpath" | |||
exit $? | exit $? | |||
} | } | |||
# func_usage | # func_usage | |||
# 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/^# *$// | |||
s/\$progname/'$progname'/ | s/\$progname/'$progname'/ | |||
p | p | |||
}' < "$progpath" | }' < "$progpath" | |||
echo | echo | |||
$ECHO "run \`$progname --help | more' for full usage" | $ECHO "run \`$progname --help | more' for full usage" | |||
exit $? | exit $? | |||
} | } | |||
# func_help [NOEXIT] | # func_help [NOEXIT] | |||
# Echo long help message to standard output and exit, | # Echo long help message to standard output and exit, | |||
# 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/ { | |||
s/^# // | s/^# // | |||
s/^# *$// | s/^# *$// | |||
s*\$progname*'$progname'* | s*\$progname*'$progname'* | |||
s*\$host*'"$host"'* | s*\$host*'"$host"'* | |||
s*\$SHELL*'"$SHELL"'* | s*\$SHELL*'"$SHELL"'* | |||
s*\$LTCC*'"$LTCC"'* | s*\$LTCC*'"$LTCC"'* | |||
s*\$LTCFLAGS*'"$LTCFLAGS"'* | s*\$LTCFLAGS*'"$LTCFLAGS"'* | |||
s*\$LD*'"$LD"'* | s*\$LD*'"$LD"'* | |||
s/\$with_gnu_ld/'"$with_gnu_ld"'/ | s/\$with_gnu_ld/'"$with_gnu_ld"'/ | |||
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 | |||
fi | fi | |||
} | } | |||
# func_missing_arg argname | # func_missing_arg argname | |||
# Echo program name prefixed message to standard error and set global | # Echo program name prefixed message to standard error and set global | |||
# exit_cmd. | # exit_cmd. | |||
func_missing_arg () | func_missing_arg () | |||
{ | { | |||
$opt_debug | ||||
func_error "missing argument for $1." | func_error "missing argument for $1." | |||
exit_cmd=exit | exit_cmd=exit | |||
} | } | |||
# 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=: | 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. | |||
func_fatal_configuration () | func_fatal_configuration () | |||
{ | { | |||
func_error ${1+"$@"} | func_error ${1+"$@"} | |||
func_error "See the $PACKAGE documentation for more information." | func_error "See the $PACKAGE documentation for more information." | |||
func_fatal_error "Fatal configuration error." | func_fatal_error "Fatal configuration error." | |||
} | } | |||
skipping to change at line 826 | skipping to change at line 955 | |||
# quotes we have to do it in 2 steps: | # quotes we have to do it in 2 steps: | |||
extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` | extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` | |||
eval "$extractedcf" | eval "$extractedcf" | |||
else | else | |||
func_error "ignoring unknown tag $tagname" | func_error "ignoring unknown tag $tagname" | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
} | } | |||
# 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 $VERSIO | ||||
N | ||||
$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 $VERSIO | ||||
N | ||||
$progname: and run autoconf again. | ||||
_LT_EOF | ||||
fi | ||||
else | ||||
cat >&2 <<_LT_EOF | ||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $pa | ||||
ckage_revision, | ||||
$progname: but the definition of this LT_INIT comes from revision $macro_re | ||||
vision. | ||||
$progname: You should recreate aclocal.m4 with macros from revision $packag | ||||
e_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 | ||||
;; | # Shorthand for --mode=foo, only valid as the first argument | |||
compile|compil|compi|comp|com|co|c) | case $1 in | |||
shift; set dummy --mode compile ${1+"$@"}; shift | clean|clea|cle|cl) | |||
;; | shift; set dummy --mode clean ${1+"$@"}; shift | |||
execute|execut|execu|exec|exe|ex|e) | ;; | |||
shift; set dummy --mode execute ${1+"$@"}; shift | compile|compil|compi|comp|com|co|c) | |||
;; | shift; set dummy --mode compile ${1+"$@"}; shift | |||
finish|finis|fini|fin|fi|f) | ;; | |||
shift; set dummy --mode finish ${1+"$@"}; shift | execute|execut|execu|exec|exe|ex|e) | |||
;; | shift; set dummy --mode execute ${1+"$@"}; shift | |||
install|instal|insta|inst|ins|in|i) | ;; | |||
shift; set dummy --mode install ${1+"$@"}; shift | finish|finis|fini|fin|fi|f) | |||
;; | shift; set dummy --mode finish ${1+"$@"}; shift | |||
link|lin|li|l) | ;; | |||
shift; set dummy --mode link ${1+"$@"}; shift | install|instal|insta|inst|ins|in|i) | |||
;; | shift; set dummy --mode install ${1+"$@"}; shift | |||
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) | ;; | |||
shift; set dummy --mode uninstall ${1+"$@"}; shift | link|lin|li|l) | |||
;; | shift; set dummy --mode link ${1+"$@"}; shift | |||
esac | ;; | |||
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 non-mode specific arguments: | # Parse options once, thoroughly. This comes as soon as possible in the | |||
while test "$#" -gt 0; do | # 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) | |||
optarg="$1" | ||||
--mode) test "$#" -eq 0 && func_missing_arg "$opt" && break | opt_dlopen="${opt_dlopen+$opt_dlopen | |||
case $1 in | }$optarg" | |||
# Valid mode arguments: | ||||
clean) ;; | ||||
compile) ;; | ||||
execute) ;; | ||||
finish) ;; | ||||
install) ;; | ||||
link) ;; | ||||
relink) ;; | ||||
uninstall) ;; | ||||
# Catch anything else as an error | ||||
*) func_error "invalid argument for $opt" | ||||
exit_cmd=exit | ||||
break | ||||
;; | ||||
esac | ||||
mode="$1" | ||||
shift | 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) | ||||
--verbose| -v) preserve_args="$preserve_args $opt" | opt_finish=: | |||
set dummy --mode finish ${1+"$@"}; shift | ||||
;; | ||||
--help) | ||||
opt_help=: | ||||
;; | ||||
--help-all) | ||||
opt_help_all=: | ||||
opt_help=': help-all' | ||||
;; | ||||
--mode) | ||||
test $# = 0 && func_missing_arg $opt && break | ||||
optarg="$1" | ||||
opt_mode="$optarg" | ||||
case $optarg in | ||||
# Valid mode arguments: | ||||
clean|compile|execute|finish|install|link|relink|uninstall) ;; | ||||
# Catch anything else as an error | ||||
*) 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 | set dummy "$func_split_long_opt_name" "$func_split_l | |||
" ${1+"$@"} | ong_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+"$@"} | ||||
-*) func_fatal_help "unrecognized option \`$opt'" ;; | shift | |||
*) 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; | |||
# Ensure that we are using m4 macros, and libtool script from the same | then | |||
# release of libtool. | func_fatal_configuration "not configured to build any kind of library | |||
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 $VERSIO | ||||
N | ||||
$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 $VERSIO | ||||
N | ||||
$progname: and run autoconf again. | ||||
_LT_EOF | ||||
fi | ||||
else | ||||
cat >&2 <<_LT_EOF | ||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $pa | ||||
ckage_revision, | ||||
$progname: but the definition of this LT_INIT comes from revision $macro_re | ||||
vision. | ||||
$progname: You should recreate aclocal.m4 with macros from revision $packag | ||||
e_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. | ||||
generic_help="$help" | ||||
help="Try \`$progname --help --mode=$opt_mode' for more information." | ||||
} | ||||
# Bail if the options were screwed | ||||
$exit_cmd $EXIT_FAILURE | ||||
} | } | |||
## ----------- ## | ## ----------- ## | |||
## Main. ## | ## Main. ## | |||
## ----------- ## | ## ----------- ## | |||
$opt_help || { | ||||
# Sanity checks first: | ||||
func_check_version_match | ||||
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; th | ||||
en | ||||
func_fatal_configuration "not configured to build any kind of library" | ||||
fi | ||||
test -z "$mode" && func_fatal_error "error: you must specify a MODE." | ||||
# Darwin sucks | ||||
eval std_shrext=\"$shrext_cmds\" | ||||
# Only execute mode is allowed to have -dlopen flags. | ||||
if test -n "$execute_dlfiles" && test "$mode" != execute; then | ||||
func_error "unrecognized option \`-dlopen'" | ||||
$ECHO "$help" 1>&2 | ||||
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 | |||
# determined imposters. | # determined imposters. | |||
func_lalib_p () | func_lalib_p () | |||
{ | { | |||
test -f "$1" && | test -f "$1" && | |||
$SED -e 4q "$1" 2>/dev/null \ | $SED -e 4q "$1" 2>/dev/null \ | |||
| $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 | | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 | |||
} | } | |||
skipping to change at line 1091 | skipping to change at line 1254 | |||
esac | esac | |||
$GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 | $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 | |||
} | } | |||
# func_ltwrapper_scriptname file | # func_ltwrapper_scriptname file | |||
# Assumes file is an ltwrapper_executable | # Assumes file is an ltwrapper_executable | |||
# uses $file to determine the appropriate filename for a | # uses $file to determine the appropriate filename for a | |||
# 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_s | |||
func_stripname '' '.exe' "$func_basename_result" | tripname_result}_ltshwrapper" | |||
func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${fun | ||||
c_stripname_result}_ltshwrapper" | ||||
fi | ||||
} | } | |||
# func_ltwrapper_p file | # func_ltwrapper_p file | |||
# True iff FILE is a libtool wrapper script or wrapper executable | # True iff FILE is a libtool wrapper script or wrapper executable | |||
# This function is only a basic sanity check; it will hardly flush out | # This function is only a basic sanity check; it will hardly flush out | |||
# determined imposters. | # determined imposters. | |||
func_ltwrapper_p () | func_ltwrapper_p () | |||
{ | { | |||
func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" | func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" | |||
} | } | |||
skipping to change at line 1139 | skipping to change at line 1299 | |||
# `FILE.' does not work on cygwin managed mounts. | # `FILE.' does not work on cygwin managed mounts. | |||
func_source () | func_source () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
case $1 in | case $1 in | |||
*/* | *\\*) . "$1" ;; | */* | *\\*) . "$1" ;; | |||
*) . "./$1" ;; | *) . "./$1" ;; | |||
esac | esac | |||
} | } | |||
# 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. | |||
# Only attempt this if the compiler in the base compile | # Only attempt this if the compiler in the base compile | |||
# command doesn't match the default compiler. | # command doesn't match the default compiler. | |||
# arg is usually of the form 'gcc ...' | # arg is usually of the form 'gcc ...' | |||
func_infer_tag () | func_infer_tag () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
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` | |||
case $@ in | case $@ in | |||
# Blanks in the command may have been stripped by the calling shell, | # Blanks in the command may have been stripped by the calling shell, | |||
# but not from the CC environment variable when configure was run. | # but not from the CC environment variable when configure was run. | |||
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ | " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ | |||
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quo ted_expanded "*) ;; | " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quo ted_expanded "*) ;; | |||
# Blanks at the start of $base_compile will cause this to fail | # Blanks at the start of $base_compile will cause this to fail | |||
# if we don't check for them as well. | # if we don't check for them as well. | |||
*) | *) | |||
for z in $available_tags; do | for z in $available_tags; do | |||
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /d ev/null; then | if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /d ev/null; then | |||
# Evaluate the configuration. | # Evaluate the configuration. | |||
eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^ # ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" | eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^ # ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" | |||
CC_quoted= | CC_quoted= | |||
for arg in $CC; do | for arg in $CC; do | |||
# Double-quote args containing other shell metacharacters. | # Double-quote args containing other shell metacharacters. | |||
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` | |||
case "$@ " in | case "$@ " in | |||
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ | " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ | |||
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$C C_quoted_expanded "*) | " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$C C_quoted_expanded "*) | |||
# The compiler in the base compile command matches | # The compiler in the base compile command matches | |||
# the one in the tagged configuration. | # the one in the tagged configuration. | |||
# Assume this is the tagged configuration we want. | # Assume this is the tagged configuration we want. | |||
tagname=$z | tagname=$z | |||
skipping to change at line 1202 | skipping to change at line 1391 | |||
func_echo "unable to infer tagged configuration" | func_echo "unable to infer tagged configuration" | |||
func_fatal_error "specify a tag with \`--tag'" | func_fatal_error "specify a tag with \`--tag'" | |||
# else | # else | |||
# func_verbose "using $tagname tagged configuration" | # func_verbose "using $tagname tagged configuration" | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
} | } | |||
# func_write_libtool_object output_name pic_name nonpic_name | # func_write_libtool_object output_name pic_name nonpic_name | |||
# Create a libtool object file (analogous to a ".la" file), | # Create a libtool object file (analogous to a ".la" file), | |||
# but don't create it if we're doing a dry run. | # but don't create it if we're doing a dry run. | |||
func_write_libtool_object () | func_write_libtool_object () | |||
{ | ||||
write_libobj=${1} | ||||
if test "$build_libtool_libs" = yes; then | ||||
write_lobj=\'${2}\' | ||||
else | ||||
write_lobj=none | ||||
fi | ||||
if test "$build_old_libs" = yes; then | ||||
write_oldobj=\'${3}\' | ||||
else | ||||
write_oldobj=none | ||||
fi | ||||
$opt_dry_run || { | ||||
cat >${write_libobj}T <<EOF | ||||
# $write_libobj - a libtool object file | ||||
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION | ||||
# | ||||
# Please DO NOT delete this file! | ||||
# It is necessary for linking the library. | ||||
# Name of the PIC object. | ||||
pic_object=$write_lobj | ||||
# Name of the non-PIC object | ||||
non_pic_object=$write_oldobj | ||||
EOF | ||||
$MV "${write_libobj}T" "${write_libobj}" | ||||
} | ||||
} | ||||
################################################## | ||||
# 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 *ni | ||||
x, | ||||
# and $host is mingw, cygwin, or some other w32 environment. Relies on a | ||||
# correctly configured wine environment available, with the winepath progra | ||||
m | ||||
# 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 wi | ||||
ll | ||||
# 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 prin | ||||
t | ||||
# *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, an | ||||
d | ||||
# $host is mingw, cygwin, or some other w32 environment. Relies on a correc | ||||
tly | ||||
# configured wine environment available, with the winepath program in $buil | ||||
d'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_w | ||||
32_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_fil | ||||
e_wine_to_w32_result" | ||||
else | ||||
func_append func_convert_core_path_wine_to_w32_result ";$func_con | ||||
vert_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 w | ||||
hen | ||||
# 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 nam | ||||
e | ||||
# 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_C | ||||
YGPATH'" | ||||
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, resett | ||||
ing | ||||
# 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 FRON | ||||
TPAT | ||||
# 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 res | ||||
ult | ||||
# 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 i | ||||
n | ||||
# 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 environme | ||||
nt | ||||
# 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 se | ||||
t. | ||||
# 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 instal | ||||
led | ||||
# in a wine environment, working winepath, and LT_CYGPATH set. Returns res | ||||
ult | ||||
# 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 cyg | ||||
win. | ||||
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. I | ||||
f | ||||
# 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 combination | ||||
s, | ||||
# 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 () | ||||
{ | { | |||
write_libobj=${1} | $opt_debug | |||
if test "$build_libtool_libs" = yes; then | func_init_to_host_path_cmd | |||
write_lobj=\'${2}\' | $to_host_path_cmd "$1" | |||
else | } | |||
write_lobj=none | # end func_to_host_path | |||
fi | ||||
if test "$build_old_libs" = yes; then | # func_convert_path_noop ARG | |||
write_oldobj=\'${3}\' | # Copy ARG to func_to_host_path_result. | |||
else | func_convert_path_noop () | |||
write_oldobj=none | { | |||
fi | func_to_host_path_result="$1" | |||
} | ||||
# end func_convert_path_noop | ||||
$opt_dry_run || { | # func_convert_path_msys_to_w32 ARG | |||
cat >${write_libobj}T <<EOF | # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic | |||
# $write_libobj - a libtool object file | # conversion to w32 is not available inside the cwrapper. Returns result i | |||
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION | n | |||
# | # func_to_host_path_result. | |||
# Please DO NOT delete this file! | func_convert_path_msys_to_w32 () | |||
# It is necessary for linking the library. | { | |||
$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 | ||||
# Name of the PIC object. | # func_convert_path_cygwin_to_w32 ARG | |||
pic_object=$write_lobj | # 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 | ||||
# Name of the non-PIC object | # func_convert_path_nix_to_w32 ARG | |||
non_pic_object=$write_oldobj | # Convert path ARG from *nix to w32 format. Requires a wine environment an | |||
d | ||||
# 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 | ||||
EOF | # func_convert_path_msys_to_cygwin ARG | |||
$MV "${write_libobj}T" "${write_libobj}" | # 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 i | ||||
n 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 () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
# Get the compilation command and the source file. | # Get the compilation command and the source file. | |||
base_compile= | base_compile= | |||
srcfile="$nonopt" # always keep a non-empty value in "srcfile" | srcfile="$nonopt" # always keep a non-empty value in "srcfile" | |||
suppress_opt=yes | suppress_opt=yes | |||
suppress_output= | suppress_output= | |||
skipping to change at line 1279 | skipping to change at line 1922 | |||
# Accept any command-line options. | # Accept any command-line options. | |||
case $arg in | case $arg in | |||
-o) | -o) | |||
test -n "$libobj" && \ | test -n "$libobj" && \ | |||
func_fatal_error "you cannot specify \`-o' more than once" | func_fatal_error "you cannot specify \`-o' more than once" | |||
arg_mode=target | arg_mode=target | |||
continue | continue | |||
;; | ;; | |||
-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 | |||
;; | ;; | |||
-no-suppress) | -no-suppress) | |||
suppress_opt=no | suppress_opt=no | |||
continue | continue | |||
;; | ;; | |||
-Xcompiler) | -Xcompiler) | |||
arg_mode=arg # the next one goes into the "base_compile" arg lis t | arg_mode=arg # the next one goes into the "base_compile" arg lis t | |||
continue # The current "srcfile" will either be retained or | continue # The current "srcfile" will either be retained or | |||
;; # replaced later. I would guess that would be a bu g. | ;; # replaced later. I would guess that would be a bu g. | |||
-Wc,*) | -Wc,*) | |||
func_stripname '-Wc,' '' "$arg" | func_stripname '-Wc,' '' "$arg" | |||
args=$func_stripname_result | args=$func_stripname_result | |||
lastarg= | lastarg= | |||
save_ifs="$IFS"; IFS=',' | save_ifs="$IFS"; IFS=',' | |||
for arg in $args; do | for arg in $args; do | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
func_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 | |||
;; | ;; | |||
*) | *) | |||
# Accept the current argument as the source file. | # Accept the current argument as the source file. | |||
# The previous "srcfile" becomes the current argument. | # The previous "srcfile" becomes the current argument. | |||
# | # | |||
lastarg="$srcfile" | lastarg="$srcfile" | |||
srcfile="$arg" | srcfile="$arg" | |||
;; | ;; | |||
esac # case $arg | esac # case $arg | |||
;; | ;; | |||
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 | |||
arg) | arg) | |||
func_fatal_error "you must specify an argument for -Xcompile" | func_fatal_error "you must specify an argument for -Xcompile" | |||
;; | ;; | |||
target) | target) | |||
func_fatal_error "you must specify a target with \`-o'" | func_fatal_error "you must specify a target with \`-o'" | |||
;; | ;; | |||
*) | *) | |||
skipping to change at line 1461 | skipping to change at line 2102 | |||
This indicates that another process is trying to use the same | This indicates that another process is trying to use the same | |||
temporary object file, and libtool could not work around it because | temporary object file, and libtool could not work around it because | |||
your compiler does not support \`-c' and \`-o' together. If you | your compiler does not support \`-c' and \`-o' together. If you | |||
repeat this compilation, it may succeed, by chance, but you had better | repeat this compilation, it may succeed, by chance, but you had better | |||
avoid parallel builds (make -j) in this platform, or get a better | avoid parallel builds (make -j) in this platform, or get a better | |||
compiler." | compiler." | |||
$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 | |||
# Only build a PIC object if we are building libtool libraries. | # Only build a PIC object if we are building libtool libraries. | |||
if test "$build_libtool_libs" = yes; then | if test "$build_libtool_libs" = yes; then | |||
# Without this assignment, base_compile gets emptied. | # Without this assignment, base_compile gets emptied. | |||
fbsd_hideous_sh_bug=$base_compile | fbsd_hideous_sh_bug=$base_compile | |||
if test "$pic_mode" != no; then | if test "$pic_mode" != no; then | |||
command="$base_compile $qsrcfile $pic_flag" | command="$base_compile $qsrcfile $pic_flag" | |||
else | else | |||
# Don't build PIC code | # Don't build PIC code | |||
command="$base_compile $qsrcfile" | command="$base_compile $qsrcfile" | |||
fi | fi | |||
func_mkdir_p "$xdir$objdir" | func_mkdir_p "$xdir$objdir" | |||
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" \ | |||
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' | 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' | |||
if test "$need_locks" = warn && | if test "$need_locks" = warn && | |||
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then | test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then | |||
$ECHO "\ | $ECHO "\ | |||
*** ERROR, $lockfile contains: | *** ERROR, $lockfile contains: | |||
`cat $lockfile 2>/dev/null` | `cat $lockfile 2>/dev/null` | |||
skipping to change at line 1538 | skipping to change at line 2178 | |||
# Only build a position-dependent object if we build old libraries. | # Only build a position-dependent object if we build old libraries. | |||
if test "$build_old_libs" = yes; then | if test "$build_old_libs" = yes; then | |||
if test "$pic_mode" != yes; then | if test "$pic_mode" != yes; then | |||
# Don't build PIC code | # Don't build PIC code | |||
command="$base_compile $qsrcfile$pie_flag" | command="$base_compile $qsrcfile$pie_flag" | |||
else | else | |||
command="$base_compile $qsrcfile $pic_flag" | command="$base_compile $qsrcfile $pic_flag" | |||
fi | fi | |||
if test "$compiler_c_o" = yes; then | if test "$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' | |||
if test "$need_locks" = warn && | if test "$need_locks" = warn && | |||
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then | test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then | |||
$ECHO "\ | $ECHO "\ | |||
*** ERROR, $lockfile contains: | *** ERROR, $lockfile contains: | |||
`cat $lockfile 2>/dev/null` | `cat $lockfile 2>/dev/null` | |||
but it should contain: | but it should contain: | |||
skipping to change at line 1587 | skipping to change at line 2227 | |||
if test "$need_locks" != no; then | if test "$need_locks" != no; then | |||
removelist=$lockfile | removelist=$lockfile | |||
$RM "$lockfile" | $RM "$lockfile" | |||
fi | fi | |||
} | } | |||
exit $EXIT_SUCCESS | exit $EXIT_SUCCESS | |||
} | } | |||
$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. | |||
func_help | func_help | |||
;; | ;; | |||
clean) | clean) | |||
$ECHO \ | $ECHO \ | |||
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... | "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... | |||
skipping to change at line 1769 | skipping to change at line 2409 | |||
RM is the name of the program to use to delete files associated with each F ILE | RM is the name of the program to use to delete files associated with each F ILE | |||
(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passe d | (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passe d | |||
to RM. | to RM. | |||
If FILE is a libtool library, all the files associated with it are deleted. | If FILE is a libtool library, all the files associated with it are deleted. | |||
Otherwise, only FILE itself is deleted using RM." | 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 | |||
echo | echo | |||
$ECHO "Try \`$progname --help' for more information about other modes." | $ECHO "Try \`$progname --help' for more information about other modes." | |||
} | } | |||
# Now that we've collected a possible --mode arg, show help if necessary | # Now that we've collected a possible --mode arg, show help if necessary | |||
if $opt_help; then | if $opt_help; then | |||
if test "$opt_help" = :; then | if test "$opt_help" = :; then | |||
func_mode_help | func_mode_help | |||
else | else | |||
{ | { | |||
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 | |||
} | | } | | |||
sed '1d | sed '1d | |||
/^When reporting/,/^Report/{ | /^When reporting/,/^Report/{ | |||
H | H | |||
d | d | |||
} | } | |||
$x | $x | |||
skipping to change at line 1818 | skipping to change at line 2458 | |||
# func_mode_execute arg... | # func_mode_execute arg... | |||
func_mode_execute () | func_mode_execute () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
# The first argument is the command name. | # The first argument is the command name. | |||
cmd="$nonopt" | cmd="$nonopt" | |||
test -z "$cmd" && \ | test -z "$cmd" && \ | |||
func_fatal_help "you must specify a COMMAND" | func_fatal_help "you must specify a COMMAND" | |||
# Handle -dlopen flags immediately. | # Handle -dlopen flags immediately. | |||
for file in $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" | |||
# Read the libtool library. | # Read the libtool library. | |||
dlname= | dlname= | |||
library_names= | library_names= | |||
func_source "$file" | func_source "$file" | |||
# Skip this library if it cannot be dlopened. | # Skip this library if it cannot be dlopened. | |||
skipping to change at line 1846 | skipping to change at line 2489 | |||
# Warn if it was a shared library. | # Warn if it was a shared library. | |||
test -n "$library_names" && \ | test -n "$library_names" && \ | |||
func_warning "\`$file' was not linked with \`-export-dynamic'" | func_warning "\`$file' was not linked with \`-export-dynamic'" | |||
continue | continue | |||
fi | fi | |||
func_dirname "$file" "" "." | func_dirname "$file" "" "." | |||
dir="$func_dirname_result" | dir="$func_dirname_result" | |||
if test -f "$dir/$objdir/$dlname"; then | if test -f "$dir/$objdir/$dlname"; then | |||
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/$o bjdir'" | func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$o bjdir'" | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*.lo) | *.lo) | |||
# Just add the directory containing the .lo file. | # Just add the directory containing the .lo file. | |||
func_dirname "$file" "" "." | func_dirname "$file" "" "." | |||
skipping to change at line 1903 | skipping to change at line 2546 | |||
file="$progdir/$program" | file="$progdir/$program" | |||
elif func_ltwrapper_executable_p "$file"; then | elif func_ltwrapper_executable_p "$file"; then | |||
func_ltwrapper_scriptname "$file" | func_ltwrapper_scriptname "$file" | |||
func_source "$func_ltwrapper_scriptname_result" | func_source "$func_ltwrapper_scriptname_result" | |||
# Transform arg to wrapped name. | # Transform arg to wrapped name. | |||
file="$progdir/$program" | file="$progdir/$program" | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
# 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 | |||
if test -n "$shlibpath_var"; then | if test -n "$shlibpath_var"; then | |||
# Export the shlibpath_var. | # Export the shlibpath_var. | |||
eval "export $shlibpath_var" | eval "export $shlibpath_var" | |||
fi | fi | |||
# Restore saved environment variables | # Restore saved environment variables | |||
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES | for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES | |||
skipping to change at line 1936 | skipping to change at line 2578 | |||
# Display what would be done. | # Display what would be done. | |||
if test -n "$shlibpath_var"; then | if test -n "$shlibpath_var"; then | |||
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" | eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" | |||
echo "export $shlibpath_var" | echo "export $shlibpath_var" | |||
fi | fi | |||
$ECHO "$cmd$args" | $ECHO "$cmd$args" | |||
exit $EXIT_SUCCESS | exit $EXIT_SUCCESS | |||
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" $l | ||||
ib \ | ||||
> $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. | |||
func_execute_cmds "$finish_cmds" 'admincmds="$admincmds | func_execute_cmds "$finish_cmds" 'admincmds="$admincmds | |||
'"$cmd"'"' | '"$cmd"'"' | |||
fi | fi | |||
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 | |||
fi | fi | |||
# 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 "--------------------------------------------------------------- | |||
echo "Libraries have been installed in:" | -------" | |||
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 " - add LIBDIR to the \`$shlibpath_var' environment variable" | echo "flag during linking and do at least one of the following:" | |||
echo " during execution" | if test -n "$shlibpath_var"; then | |||
fi | echo " - add LIBDIR to the \`$shlibpath_var' environment variable" | |||
if test -n "$runpath_var"; then | echo " during execution" | |||
echo " - add LIBDIR to the \`$runpath_var' environment variable" | fi | |||
echo " during linking" | if test -n "$runpath_var"; then | |||
fi | echo " - add LIBDIR to the \`$runpath_var' environment variable" | |||
if test -n "$hardcode_libdir_flag_spec"; then | echo " during linking" | |||
libdir=LIBDIR | fi | |||
eval flag=\"$hardcode_libdir_flag_spec\" | if test -n "$hardcode_libdir_flag_spec"; then | |||
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:$adminc | $ECHO " - have your system administrator run these commands:$admin | |||
mds" | cmds" | |||
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. | echo " - have your system administrator add LIBDIR to \`/etc/ld.so | |||
conf'" | .conf'" | |||
fi | fi | |||
echo | echo | |||
echo "See any operating system documentation about shared libraries for | echo "See any operating system documentation about shared libraries f | |||
" | or" | |||
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) man | echo "more information, such as the ld(1), crle(1) and ld.so(8) ma | |||
ual" | nual" | |||
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 page | |||
." | s." | |||
;; | ;; | |||
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... | |||
func_mode_install () | func_mode_install () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
# There may be an optional sh(1) argument at the beginning of | # There may be an optional sh(1) argument at the beginning of | |||
# install_prog (especially on Windows NT). | # install_prog (especially on Windows NT). | |||
if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || | if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || | |||
# Allow the use of GNU shtool's install command. | # Allow the use of GNU shtool's install command. | |||
case $nonopt in *shtool*) :;; *) false;; esac; then | case $nonopt in *shtool*) :;; *) false;; esac; then | |||
skipping to change at line 2039 | skipping to change at line 2720 | |||
arg=$1 | arg=$1 | |||
shift | shift | |||
else | else | |||
install_prog= | install_prog= | |||
arg=$nonopt | arg=$nonopt | |||
fi | fi | |||
# The real first argument should be the name of the installation progra m. | # The real first argument should be the name of the installation progra m. | |||
# 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=: ;; | |||
*) install_cp=false ;; | *) install_cp=false ;; | |||
esac | esac | |||
# We need to accept at least all the BSD install flags. | # We need to accept at least all the BSD install flags. | |||
dest= | dest= | |||
files= | files= | |||
opts= | opts= | |||
prev= | prev= | |||
install_type= | install_type= | |||
isdir=no | isdir=no | |||
stripme= | stripme= | |||
no_mode=: | no_mode=: | |||
for arg | for arg | |||
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 | |||
case $arg in | case $arg in | |||
-d) isdir=yes ;; | -d) isdir=yes ;; | |||
-f) | -f) | |||
if $install_cp; then :; else | if $install_cp; then :; else | |||
prev=$arg | prev=$arg | |||
fi | fi | |||
skipping to change at line 2097 | skipping to change at line 2778 | |||
prev= | prev= | |||
else | else | |||
dest=$arg | dest=$arg | |||
continue | continue | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
# 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" && \ | |||
func_fatal_help "you must specify an install program" | func_fatal_help "you must specify an install program" | |||
test -n "$prev" && \ | test -n "$prev" && \ | |||
func_fatal_help "the \`$prev' option requires an argument" | func_fatal_help "the \`$prev' option requires an argument" | |||
if test -n "$install_override_mode" && $no_mode; then | if test -n "$install_override_mode" && $no_mode; then | |||
if $install_cp; then :; else | if $install_cp; then :; else | |||
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_re sult" | func_append install_shared_prog " -m $func_quote_for_eval_result" | |||
fi | fi | |||
fi | fi | |||
if test -z "$files"; then | if test -z "$files"; then | |||
if test -z "$dest"; then | if test -z "$dest"; then | |||
func_fatal_help "no file or destination specified" | func_fatal_help "no file or destination specified" | |||
else | else | |||
func_fatal_help "you must specify a destination" | func_fatal_help "you must specify a destination" | |||
fi | fi | |||
fi | fi | |||
skipping to change at line 2171 | skipping to change at line 2852 | |||
staticlibs= | staticlibs= | |||
future_libdirs= | future_libdirs= | |||
current_libdirs= | current_libdirs= | |||
for file in $files; do | for file in $files; do | |||
# Do each installation. | # Do each installation. | |||
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" | |||
library_names= | library_names= | |||
old_library= | old_library= | |||
relink_command= | relink_command= | |||
func_source "$file" | func_source "$file" | |||
# Add the libdir to current_libdirs if it is the destination. | # Add the libdir to current_libdirs if it is the destination. | |||
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. | |||
inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` | inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` | |||
# Don't allow the user to place us outside of our expected | # Don't allow the user to place us outside of our expected | |||
# location b/c this prevents finding dependent libraries that | # location b/c this prevents finding dependent libraries that | |||
# are installed to the same prefix. | # are installed to the same prefix. | |||
# At present, this check doesn't affect windows .dll's that | # At present, this check doesn't affect windows .dll's that | |||
# are installed into $libdir/../bin (currently, that works fine) | # are installed into $libdir/../bin (currently, that works fine) | |||
skipping to change at line 2277 | skipping to change at line 2961 | |||
func_execute_cmds "$postinstall_cmds" 'exit $?' | func_execute_cmds "$postinstall_cmds" 'exit $?' | |||
fi | fi | |||
# Install the pseudo-library for information purposes. | # Install the pseudo-library for information purposes. | |||
func_basename "$file" | func_basename "$file" | |||
name="$func_basename_result" | name="$func_basename_result" | |||
instname="$dir/$name"i | instname="$dir/$name"i | |||
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' | func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' | |||
# Maybe install the static library, too. | # Maybe install the static library, too. | |||
test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" | test -n "$old_library" && func_append staticlibs " $dir/$old_library " | |||
;; | ;; | |||
*.lo) | *.lo) | |||
# Install (i.e. copy) a libtool object. | # Install (i.e. copy) a libtool object. | |||
# Figure out destination file name, if it wasn't already specified. | # Figure out destination file name, if it wasn't already specified. | |||
if test -n "$destname"; then | if test -n "$destname"; then | |||
destfile="$destdir/$destname" | destfile="$destdir/$destname" | |||
else | else | |||
func_basename "$file" | func_basename "$file" | |||
skipping to change at line 2474 | skipping to change at line 3158 | |||
if test -n "$current_libdirs"; then | if test -n "$current_libdirs"; then | |||
# Maybe just do a dry run. | # Maybe just do a dry run. | |||
$opt_dry_run && current_libdirs=" -n$current_libdirs" | $opt_dry_run && current_libdirs=" -n$current_libdirs" | |||
exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' | exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' | |||
else | else | |||
exit $EXIT_SUCCESS | exit $EXIT_SUCCESS | |||
fi | fi | |||
} | } | |||
test "$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 | |||
# Extract symbols from dlprefiles and create ${outputname}S.o with | # Extract symbols from dlprefiles and create ${outputname}S.o with | |||
# a dlpreopen symbol table. | # a dlpreopen symbol table. | |||
func_generate_dlsyms () | func_generate_dlsyms () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
my_outputname="$1" | my_outputname="$1" | |||
my_originator="$2" | my_originator="$2" | |||
my_pic_p="${3-no}" | my_pic_p="${3-no}" | |||
skipping to change at line 2520 | skipping to change at line 3204 | |||
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ | /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern \"C\" { | extern \"C\" { | |||
#endif | #endif | |||
#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__ GNUC__ > 4)) | #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__ GNUC__ > 4)) | |||
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" | #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" | |||
#endif | #endif | |||
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and test | ||||
s. */ | ||||
#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. */\ | |||
" | " | |||
if test "$dlself" = yes; then | if test "$dlself" = yes; then | |||
func_verbose "generating symbol list for \`$output'" | func_verbose "generating symbol list for \`$output'" | |||
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" | $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" | |||
# 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" | $NL 2SP` | progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL 2SP` | |||
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 >> '$n | func_verbose "extracting global C symbols from \`$func_to_tool_f | |||
list'" | ile_result'" | |||
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_sy | ||||
mbol_pipe >> '$nlist'" | ||||
done | done | |||
if test -n "$exclude_expsyms"; then | if test -n "$exclude_expsyms"; then | |||
$opt_dry_run || { | $opt_dry_run || { | |||
eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' | eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' | |||
eval '$MV "$nlist"T "$nlist"' | eval '$MV "$nlist"T "$nlist"' | |||
} | } | |||
fi | fi | |||
if test -n "$export_symbols_regex"; then | if test -n "$export_symbols_regex"; then | |||
skipping to change at line 2581 | skipping to change at line 3278 | |||
;; | ;; | |||
esac | esac | |||
} | } | |||
fi | fi | |||
fi | fi | |||
for dlprefile in $dlprefiles; do | for dlprefile in $dlprefiles; do | |||
func_verbose "extracting global C symbols from \`$dlprefile'" | func_verbose "extracting global C symbols from \`$dlprefile'" | |||
func_basename "$dlprefile" | func_basename "$dlprefile" | |||
name="$func_basename_result" | name="$func_basename_result" | |||
$opt_dry_run || { | case $host in | |||
eval '$ECHO ": $name " >> "$nlist"' | *cygwin* | *mingw* | *cegcc* ) | |||
eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlis | # if an import library, we need to obtain dlname | |||
t'" | 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"; th | ||||
en | ||||
# Use subshell, to avoid clobbering current variable value | ||||
s | ||||
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 <impor | ||||
t 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_w | ||||
32 | ||||
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $glo | ||||
bal_symbol_pipe | | ||||
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$n | ||||
list'" | ||||
} | ||||
else # not an import lib | ||||
$opt_dry_run || { | ||||
eval '$ECHO ": $name " >> "$nlist"' | ||||
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w | ||||
32 | ||||
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $glo | ||||
bal_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 | $globa | ||||
l_symbol_pipe >> '$nlist'" | ||||
} | ||||
;; | ||||
esac | ||||
done | done | |||
$opt_dry_run || { | $opt_dry_run || { | |||
# Make sure we have at least an empty file. | # Make sure we have at least an empty file. | |||
test -f "$nlist" || : > "$nlist" | test -f "$nlist" || : > "$nlist" | |||
if test -n "$exclude_expsyms"; then | if test -n "$exclude_expsyms"; then | |||
$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T | $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T | |||
$MV "$nlist"T "$nlist" | $MV "$nlist"T "$nlist" | |||
fi | fi | |||
skipping to change at line 2622 | skipping to change at line 3361 | |||
echo '/* NONE */' >> "$output_objdir/$my_dlsyms" | echo '/* NONE */' >> "$output_objdir/$my_dlsyms" | |||
fi | fi | |||
echo >> "$output_objdir/$my_dlsyms" "\ | echo >> "$output_objdir/$my_dlsyms" "\ | |||
/* The mapping between symbol names and symbols. */ | /* The mapping between symbol names and symbols. */ | |||
typedef struct { | 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_dlsymlist | LT_DLSYM_CONST lt_dlsymlist | |||
lt_${my_prefix}_LTX_preloaded_symbols[] = | lt_${my_prefix}_LTX_preloaded_symbols[] = | |||
{\ | {\ | |||
{ \"$my_originator\", (void *) 0 }," | { \"$my_originator\", (void *) 0 }," | |||
case $need_lib_prefix in | case $need_lib_prefix in | |||
no) | no) | |||
eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_o bjdir/$my_dlsyms" | eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_o bjdir/$my_dlsyms" | |||
;; | ;; | |||
*) | *) | |||
eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" | eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" | |||
skipping to change at line 2697 | skipping to change at line 3419 | |||
pic_flag_for_symtable=" $pic_flag" | pic_flag_for_symtable=" $pic_flag" | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
symtab_cflags= | symtab_cflags= | |||
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 | |||
# Now compile the dynamic symbol file. | # Now compile the dynamic symbol file. | |||
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_buil tin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' | func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_buil tin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' | |||
# Clean up the generated files. | # Clean up the generated files. | |||
func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' | func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' | |||
# Transform the symbol file into the correct name. | # Transform the symbol file into the correct name. | |||
skipping to change at line 2760 | skipping to change at line 3482 | |||
win32_libid_type="unknown" | win32_libid_type="unknown" | |||
win32_fileres=`file -L $1 2>/dev/null` | win32_fileres=`file -L $1 2>/dev/null` | |||
case $win32_fileres in | case $win32_fileres in | |||
*ar\ archive\ import\ library*) # definitely import | *ar\ archive\ import\ library*) # definitely import | |||
win32_libid_type="x86 archive import" | win32_libid_type="x86 archive import" | |||
;; | ;; | |||
*ar\ archive*) # could be an import, or static | *ar\ archive*) # could be an import, or static | |||
# 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|p e-x86-64)' >/dev/null; then | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|p e-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 /{ | |||
s,.*,import, | s,.*,import, | |||
p | p | |||
q | q | |||
} | } | |||
}'` | }'` | |||
case $win32_nmres in | case $win32_nmres in | |||
import*) win32_libid_type="x86 archive import";; | import*) win32_libid_type="x86 archive import";; | |||
skipping to change at line 2789 | skipping to change at line 3512 | |||
case $win32_fileres in | case $win32_fileres in | |||
*MS\ Windows\ PE\ Intel*) | *MS\ Windows\ PE\ Intel*) | |||
win32_libid_type="x86 DLL" | win32_libid_type="x86 DLL" | |||
;; | ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
$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]*$// | ||||
/./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 "$glo | ||||
bal_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 "$glob | ||||
al_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_cor | ||||
e '.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_cor | ||||
e '.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 () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
f_ex_an_ar_dir="$1"; shift | f_ex_an_ar_dir="$1"; shift | |||
f_ex_an_ar_oldlib="$1" | f_ex_an_ar_oldlib="$1" | |||
if test "$lock_old_archive_extraction" = yes; then | if test "$lock_old_archive_extraction" = yes; then | |||
lockfile=$f_ex_an_ar_oldlib.lock | lockfile=$f_ex_an_ar_oldlib.lock | |||
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do | until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do | |||
func_echo "Waiting for $lockfile to be removed" | func_echo "Waiting for $lockfile to be removed" | |||
skipping to change at line 3163 | skipping to change at line 4012 | |||
$ECHO "\ | $ECHO "\ | |||
program='$outputname' | program='$outputname' | |||
progdir=\"\$thisdir/$objdir\" | progdir=\"\$thisdir/$objdir\" | |||
" | " | |||
fi | fi | |||
$ECHO "\ | $ECHO "\ | |||
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 "\ | |||
# Add our own library path to $shlibpath_var | # Add our own library path to $shlibpath_var | |||
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\" | $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" | |||
# Some systems cannot cope with colon-terminated $shlibpath_var | # Some systems cannot cope with colon-terminated $shlibpath_var | |||
# The second colon is a workaround for a bug in BeOS R4 sed | # The second colon is a workaround for a bug in BeOS R4 sed | |||
$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` | $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` | |||
export $shlibpath_var | export $shlibpath_var | |||
" | " | |||
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. | |||
func_exec_program \${1+\"\$@\"} | func_exec_program \${1+\"\$@\"} | |||
fi | fi | |||
else | else | |||
# The program doesn't exist. | # The program doesn't exist. | |||
\$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 | \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 | |||
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2 | \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 | |||
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 | \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 | |||
exit 1 | exit 1 | |||
fi | fi | |||
fi\ | 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_path | ||||
list_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_hos | ||||
t_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 | |||
# it depends on a number of variable set therein. | # it depends on a number of variable set therein. | |||
func_emit_cwrapperexe_src () | func_emit_cwrapperexe_src () | |||
{ | { | |||
cat <<EOF | cat <<EOF | |||
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname | /* $cwrappersource - temporary wrapper executable for $objdir/$outputname | |||
Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION | Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION | |||
skipping to change at line 3530 | skipping to change at line 4223 | |||
static const char *nonempty (const char *s); | static const char *nonempty (const char *s); | |||
void lt_setenv (const char *name, const char *value); | void lt_setenv (const char *name, const char *value); | |||
char *lt_extend_str (const char *orig_value, const char *add, int to_end); | char *lt_extend_str (const char *orig_value, const char *add, int to_end); | |||
void lt_update_exe_path (const char *name, const char *value); | void lt_update_exe_path (const char *name, const char *value); | |||
void lt_update_lib_path (const char *name, const char *value); | void lt_update_lib_path (const char *name, const char *value); | |||
char **prepare_spawn (char **argv); | char **prepare_spawn (char **argv); | |||
void lt_dump_script (FILE *f); | 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 "$shlibp ath_var" && test -n "$temp_rpath"; then | if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibp ath_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" | |||
const char * LIB_PATH_VALUE = ""; | const char * LIB_PATH_VALUE = ""; | |||
EOF | 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" | |||
const char * EXE_PATH_VARNAME = ""; | const char * EXE_PATH_VARNAME = ""; | |||
const char * EXE_PATH_VALUE = ""; | const char * EXE_PATH_VALUE = ""; | |||
EOF | EOF | |||
fi | fi | |||
if test "$fast_install" = yes; then | if test "$fast_install" = yes; then | |||
cat <<EOF | cat <<EOF | |||
skipping to change at line 3731 | skipping to change at line 4424 | |||
;; | ;; | |||
esac | esac | |||
cat <<"EOF" | cat <<"EOF" | |||
XFREE (target_name); | XFREE (target_name); | |||
XFREE (actual_cwrapper_path); | XFREE (actual_cwrapper_path); | |||
XFREE (actual_cwrapper_name); | XFREE (actual_cwrapper_name); | |||
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_rpat | ||||
h) | ||||
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)); | |||
for (i = 0; i < newargc; i++) | for (i = 0; i < newargc; i++) | |||
{ | { | |||
lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", | lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", | |||
i, nonnull (newargz[i])); | i, nonnull (newargz[i])); | |||
} | } | |||
EOF | EOF | |||
skipping to change at line 4481 | skipping to change at line 5178 | |||
dlself=yes | dlself=yes | |||
else | else | |||
dlself=needless | dlself=needless | |||
export_dynamic=yes | export_dynamic=yes | |||
fi | fi | |||
prev= | prev= | |||
continue | continue | |||
;; | ;; | |||
*) | *) | |||
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 | |||
;; | ;; | |||
esac | esac | |||
;; | ;; | |||
expsyms) | expsyms) | |||
export_symbols="$arg" | export_symbols="$arg" | |||
test -f "$arg" \ | test -f "$arg" \ | |||
|| func_fatal_error "symbol file \`$arg' does not exist" | || func_fatal_error "symbol file \`$arg' does not exist" | |||
skipping to change at line 4507 | skipping to change at line 5204 | |||
expsyms_regex) | expsyms_regex) | |||
export_symbols_regex="$arg" | export_symbols_regex="$arg" | |||
prev= | prev= | |||
continue | continue | |||
;; | ;; | |||
framework) | framework) | |||
case $host in | case $host in | |||
*-*-darwin*) | *-*-darwin*) | |||
case "$deplibs " in | case "$deplibs " in | |||
*" $qarg.ltframework "*) ;; | *" $qarg.ltframework "*) ;; | |||
*) deplibs="$deplibs $qarg.ltframework" # this is fixed late r | *) func_append deplibs " $qarg.ltframework" # this is fixed later | |||
;; | ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
prev= | prev= | |||
continue | continue | |||
;; | ;; | |||
inst_prefix) | inst_prefix) | |||
inst_prefix_dir="$arg" | inst_prefix_dir="$arg" | |||
prev= | prev= | |||
continue | continue | |||
;; | ;; | |||
objectlist) | objectlist) | |||
if test -f "$arg"; then | if test -f "$arg"; then | |||
save_arg=$arg | save_arg=$arg | |||
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. | |||
# Check to see that this really is a libtool object. | # Check to see that this really is a libtool object. | |||
if func_lalib_unsafe_p "$arg"; then | if func_lalib_unsafe_p "$arg"; then | |||
pic_object= | pic_object= | |||
non_pic_object= | non_pic_object= | |||
# Read the .lo file | # Read the .lo file | |||
func_source "$arg" | func_source "$arg" | |||
skipping to change at line 4555 | skipping to change at line 5252 | |||
# Extract subdirectory from the argument. | # Extract subdirectory from the argument. | |||
func_dirname "$arg" "/" "" | func_dirname "$arg" "/" "" | |||
xdir="$func_dirname_result" | xdir="$func_dirname_result" | |||
if test "$pic_object" != none; then | if test "$pic_object" != none; then | |||
# Prepend the subdirectory the object is found in. | # Prepend the subdirectory the object is found in. | |||
pic_object="$xdir$pic_object" | pic_object="$xdir$pic_object" | |||
if test "$prev" = dlfiles; then | if test "$prev" = dlfiles; then | |||
if test "$build_libtool_libs" = yes && test "$dlopen_sup port" = yes; then | if test "$build_libtool_libs" = yes && test "$dlopen_sup port" = yes; then | |||
dlfiles="$dlfiles $pic_object" | func_append dlfiles " $pic_object" | |||
prev= | prev= | |||
continue | continue | |||
else | else | |||
# If libtool objects are unsupported, then we need to preload. | # If libtool objects are unsupported, then we need to preload. | |||
prev=dlprefiles | prev=dlprefiles | |||
fi | fi | |||
fi | fi | |||
# CHECK ME: I think I busted this. -Ossama | # CHECK ME: I think I busted this. -Ossama | |||
if test "$prev" = dlprefiles; then | if test "$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 | |||
# A PIC object. | # A PIC object. | |||
func_append libobjs " $pic_object" | func_append libobjs " $pic_object" | |||
arg="$pic_object" | arg="$pic_object" | |||
fi | fi | |||
# Non-PIC object. | # Non-PIC object. | |||
if test "$non_pic_object" != none; then | if test "$non_pic_object" != none; then | |||
skipping to change at line 4637 | skipping to change at line 5334 | |||
# We need an absolute path. | # We need an absolute path. | |||
case $arg in | case $arg in | |||
[\\/]* | [A-Za-z]:[\\/]*) ;; | [\\/]* | [A-Za-z]:[\\/]*) ;; | |||
*) | *) | |||
func_fatal_error "only absolute run-paths are allowed" | func_fatal_error "only absolute run-paths are allowed" | |||
;; | ;; | |||
esac | esac | |||
if test "$prev" = rpath; then | if test "$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= | |||
continue | continue | |||
;; | ;; | |||
shrext) | shrext) | |||
shrext_cmds="$arg" | shrext_cmds="$arg" | |||
prev= | prev= | |||
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" | |||
continue | continue | |||
;; | ;; | |||
*) | *) | |||
eval "$prev=\"\$arg\"" | eval "$prev=\"\$arg\"" | |||
prev= | prev= | |||
continue | continue | |||
;; | ;; | |||
skipping to change at line 4766 | skipping to change at line 5463 | |||
case $with_gcc/$host in | case $with_gcc/$host in | |||
no/*-*-irix* | /*-*-irix*) | no/*-*-irix* | /*-*-irix*) | |||
func_append compile_command " $arg" | func_append compile_command " $arg" | |||
func_append finalize_command " $arg" | func_append finalize_command " $arg" | |||
;; | ;; | |||
esac | esac | |||
continue | continue | |||
;; | ;; | |||
-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]:[\\/]*) ;; | |||
*) | *) | |||
absdir=`cd "$dir" && pwd` | absdir=`cd "$dir" && pwd` | |||
test -z "$absdir" && \ | test -z "$absdir" && \ | |||
func_fatal_error "cannot determine absolute directory name of \` $dir'" | func_fatal_error "cannot determine absolute directory name of \` $dir'" | |||
dir="$absdir" | dir="$absdir" | |||
;; | ;; | |||
esac | esac | |||
case "$deplibs " in | case "$deplibs " in | |||
*" -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 | |||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) | *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) | |||
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` | testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` | |||
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 | |||
continue | continue | |||
;; | ;; | |||
-l*) | -l*) | |||
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then | if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then | |||
case $host in | case $host in | |||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*- haiku*) | *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*- haiku*) | |||
skipping to change at line 4827 | skipping to change at line 5531 | |||
*-*-os2*) | *-*-os2*) | |||
# These systems don't actually have a C library (as such) | # These systems don't actually have a C library (as such) | |||
test "X$arg" = "X-lc" && continue | test "X$arg" = "X-lc" && continue | |||
;; | ;; | |||
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | |||
# Do not include libc due to us having libc/libc_r. | # Do not include libc due to us having libc/libc_r. | |||
test "X$arg" = "X-lc" && continue | test "X$arg" = "X-lc" && continue | |||
;; | ;; | |||
*-*-rhapsody* | *-*-darwin1.[012]) | *-*-rhapsody* | *-*-darwin1.[012]) | |||
# Rhapsody C and math libraries are in the System framework | # Rhapsody C and math libraries are in the System framework | |||
deplibs="$deplibs System.ltframework" | func_append deplibs " System.ltframework" | |||
continue | continue | |||
;; | ;; | |||
*-*-sco3.2v5* | *-*-sco5v6*) | *-*-sco3.2v5* | *-*-sco5v6*) | |||
# Causes problems with __ctype | # Causes problems with __ctype | |||
test "X$arg" = "X-lc" && continue | test "X$arg" = "X-lc" && continue | |||
;; | ;; | |||
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) | *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) | |||
# Compiler inserts libc in the correct place for threads to work | # Compiler inserts libc in the correct place for threads to work | |||
test "X$arg" = "X-lc" && continue | test "X$arg" = "X-lc" && continue | |||
;; | ;; | |||
esac | esac | |||
elif test "X$arg" = "X-lc_r"; then | elif test "X$arg" = "X-lc_r"; then | |||
case $host in | case $host in | |||
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | |||
# Do not include libc_r directly, use -pthread flag. | # Do not include libc_r directly, use -pthread flag. | |||
continue | continue | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
deplibs="$deplibs $arg" | func_append deplibs " $arg" | |||
continue | continue | |||
;; | ;; | |||
-module) | -module) | |||
module=yes | module=yes | |||
continue | continue | |||
;; | ;; | |||
# 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 | |||
continue | continue | |||
;; | ;; | |||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-thr eads) | -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-thr eads) | |||
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 | |||
;; | ;; | |||
-multi_module) | -multi_module) | |||
single_module="${wl}-multi_module" | single_module="${wl}-multi_module" | |||
continue | continue | |||
;; | ;; | |||
-no-fast-install) | -no-fast-install) | |||
skipping to change at line 4940 | skipping to change at line 5644 | |||
prev=xrpath | prev=xrpath | |||
continue | continue | |||
;; | ;; | |||
-R*) | -R*) | |||
func_stripname '-R' '' "$arg" | func_stripname '-R' '' "$arg" | |||
dir=$func_stripname_result | dir=$func_stripname_result | |||
# 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 | |||
;; | ;; | |||
-shared) | -shared) | |||
# The effects of -shared are defined in a previous loop. | # The effects of -shared are defined in a previous loop. | |||
continue | continue | |||
;; | ;; | |||
-shrext) | -shrext) | |||
skipping to change at line 4999 | skipping to change at line 5707 | |||
;; | ;; | |||
-Wc,*) | -Wc,*) | |||
func_stripname '-Wc,' '' "$arg" | func_stripname '-Wc,' '' "$arg" | |||
args=$func_stripname_result | args=$func_stripname_result | |||
arg= | arg= | |||
save_ifs="$IFS"; IFS=',' | save_ifs="$IFS"; IFS=',' | |||
for flag in $args; do | for flag in $args; do | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
func_quote_for_eval "$flag" | func_quote_for_eval "$flag" | |||
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" | |||
arg=$func_stripname_result | arg=$func_stripname_result | |||
;; | ;; | |||
-Wl,*) | -Wl,*) | |||
func_stripname '-Wl,' '' "$arg" | func_stripname '-Wl,' '' "$arg" | |||
args=$func_stripname_result | args=$func_stripname_result | |||
arg= | arg= | |||
save_ifs="$IFS"; IFS=',' | save_ifs="$IFS"; IFS=',' | |||
for flag in $args; do | for flag in $args; do | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
func_quote_for_eval "$flag" | func_quote_for_eval "$flag" | |||
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" | |||
arg=$func_stripname_result | arg=$func_stripname_result | |||
;; | ;; | |||
-Xcompiler) | -Xcompiler) | |||
prev=xcompiler | prev=xcompiler | |||
continue | continue | |||
;; | ;; | |||
skipping to change at line 5056 | skipping to change at line 5764 | |||
# -64, -mips[0-9] enable 64-bit mode for the SGI compiler | # -64, -mips[0-9] enable 64-bit mode for the SGI compiler | |||
# -r[0-9][0-9]* specify processor for the SGI compiler | # -r[0-9][0-9]* specify processor for the SGI compiler | |||
# -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler | # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler | |||
# +DA*, +DD* enable 64-bit mode for the HP compiler | # +DA*, +DD* enable 64-bit mode for the HP compiler | |||
# -q* compiler args for the IBM compiler | # -q* compiler args for the IBM compiler | |||
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC | # -m*, -t[45]*, -txscale* architecture-specific flags for GCC | |||
# -F/path path to uninstalled frameworks, gcc on darwin | # -F/path path to uninstalled frameworks, gcc on darwin | |||
# -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 optimizati | ||||
on | ||||
-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=*|--sysroo | |||
t=*| \ | ||||
-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 | |||
;; | ;; | |||
# Some other compiler flag. | # Some other compiler flag. | |||
-* | +*) | -* | +*) | |||
func_quote_for_eval "$arg" | func_quote_for_eval "$arg" | |||
arg="$func_quote_for_eval_result" | arg="$func_quote_for_eval_result" | |||
;; | ;; | |||
*.$objext) | *.$objext) | |||
# A standard object. | # A standard object. | |||
objs="$objs $arg" | func_append objs " $arg" | |||
;; | ;; | |||
*.lo) | *.lo) | |||
# A libtool-controlled object. | # A libtool-controlled object. | |||
# Check to see that this really is a libtool object. | # Check to see that this really is a libtool object. | |||
if func_lalib_unsafe_p "$arg"; then | if func_lalib_unsafe_p "$arg"; then | |||
pic_object= | pic_object= | |||
non_pic_object= | non_pic_object= | |||
skipping to change at line 5105 | skipping to change at line 5816 | |||
# Extract subdirectory from the argument. | # Extract subdirectory from the argument. | |||
func_dirname "$arg" "/" "" | func_dirname "$arg" "/" "" | |||
xdir="$func_dirname_result" | xdir="$func_dirname_result" | |||
if test "$pic_object" != none; then | if test "$pic_object" != none; then | |||
# Prepend the subdirectory the object is found in. | # Prepend the subdirectory the object is found in. | |||
pic_object="$xdir$pic_object" | pic_object="$xdir$pic_object" | |||
if test "$prev" = dlfiles; then | if test "$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 | |||
# If libtool objects are unsupported, then we need to preloa d. | # If libtool objects are unsupported, then we need to preloa d. | |||
prev=dlprefiles | prev=dlprefiles | |||
fi | fi | |||
fi | fi | |||
# CHECK ME: I think I busted this. -Ossama | # CHECK ME: I think I busted this. -Ossama | |||
if test "$prev" = dlprefiles; then | if test "$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 | |||
# A PIC object. | # A PIC object. | |||
func_append libobjs " $pic_object" | func_append libobjs " $pic_object" | |||
arg="$pic_object" | arg="$pic_object" | |||
fi | fi | |||
# Non-PIC object. | # Non-PIC object. | |||
if test "$non_pic_object" != none; then | if test "$non_pic_object" != none; then | |||
skipping to change at line 5162 | skipping to change at line 5873 | |||
func_append libobjs " $pic_object" | func_append libobjs " $pic_object" | |||
func_append non_pic_objects " $non_pic_object" | func_append non_pic_objects " $non_pic_object" | |||
else | else | |||
func_fatal_error "\`$arg' is not a valid libtool object" | func_fatal_error "\`$arg' is not a valid libtool object" | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*.$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 | |||
;; | ;; | |||
# Some other compiler argument. | # Some other compiler argument. | |||
*) | *) | |||
# Unknown arguments in both finalize_command and compile_command nee d | # Unknown arguments in both finalize_command and compile_command nee d | |||
# to be aesthetically quoted because they are evaled later. | # to be aesthetically quoted because they are evaled later. | |||
func_quote_for_eval "$arg" | func_quote_for_eval "$arg" | |||
arg="$func_quote_for_eval_result" | arg="$func_quote_for_eval_result" | |||
skipping to change at line 5226 | skipping to change at line 5938 | |||
# get the directories listed in $shlibpath_var | # get the directories listed in $shlibpath_var | |||
eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/: / /g\'\` | eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/: / /g\'\` | |||
else | else | |||
shlib_search_path= | shlib_search_path= | |||
fi | fi | |||
eval sys_lib_search_path=\"$sys_lib_search_path_spec\" | eval sys_lib_search_path=\"$sys_lib_search_path_spec\" | |||
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" | eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" | |||
func_dirname "$output" "/" "" | func_dirname "$output" "/" "" | |||
output_objdir="$func_dirname_result$objdir" | output_objdir="$func_dirname_result$objdir" | |||
func_to_tool_file "$output_objdir/" | ||||
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" | |||
# Determine the type of output | # Determine the type of output | |||
case $output in | case $output in | |||
"") | "") | |||
func_fatal_help "you must specify an output file" | func_fatal_help "you must specify an output file" | |||
;; | ;; | |||
*.$libext) linkmode=oldlib ;; | *.$libext) linkmode=oldlib ;; | |||
*.lo | *.$objext) linkmode=obj ;; | *.lo | *.$objext) linkmode=obj ;; | |||
*.la) linkmode=lib ;; | *.la) linkmode=lib ;; | |||
*) linkmode=prog ;; # Anything else should be a program. | *) linkmode=prog ;; # Anything else should be a program. | |||
esac | esac | |||
specialdeplibs= | specialdeplibs= | |||
libs= | libs= | |||
# 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 | |||
libs="$predeps $libs $compiler_lib_search_path $postdeps" | libs="$predeps $libs $compiler_lib_search_path $postdeps" | |||
# Compute libraries that are listed more than once in $predeps | # Compute libraries that are listed more than once in $predeps | |||
# $postdeps and mark them as special (i.e., whose duplicates are | # $postdeps and mark them as special (i.e., whose duplicates are | |||
# not to be eliminated). | # not to be eliminated). | |||
pre_post_deps= | pre_post_deps= | |||
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_dep s" ;; | *" $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= | |||
fi | fi | |||
deplibs= | deplibs= | |||
newdependency_libs= | newdependency_libs= | |||
newlib_search_path= | newlib_search_path= | |||
need_relink=no # whether we're linking any uninstalled libtool librarie s | need_relink=no # whether we're linking any uninstalled libtool librarie s | |||
notinst_deplibs= # not-installed libtool libraries | notinst_deplibs= # not-installed libtool libraries | |||
skipping to change at line 5333 | skipping to change at line 6047 | |||
dlopen) libs="$dlfiles" ;; | dlopen) libs="$dlfiles" ;; | |||
dlpreopen) libs="$dlprefiles" ;; | dlpreopen) libs="$dlprefiles" ;; | |||
link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; | link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; | |||
esac | esac | |||
fi | fi | |||
if test "$linkmode,$pass" = "lib,dlpreopen"; then | if test "$linkmode,$pass" = "lib,dlpreopen"; then | |||
# Collect and forward deplibs of preopened libtool libs | # Collect and forward deplibs of preopened libtool libs | |||
for lib in $dlprefiles; do | for lib in $dlprefiles; do | |||
# Ignore non-libtool-libs | # Ignore non-libtool-libs | |||
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 | |||
# has declared as weak libs | # has declared as weak libs | |||
for deplib in $dependency_libs; do | for deplib in $dependency_libs; do | |||
func_basename "$deplib" | func_basename "$deplib" | |||
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 | |||
libs="$dlprefiles" | libs="$dlprefiles" | |||
fi | fi | |||
if test "$pass" = dlopen; then | if test "$pass" = dlopen; then | |||
# Collect dlpreopened libraries | # Collect dlpreopened libraries | |||
save_deplibs="$deplibs" | save_deplibs="$deplibs" | |||
deplibs= | deplibs= | |||
fi | fi | |||
for deplib in $libs; do | for deplib in $libs; do | |||
lib= | lib= | |||
found=no | found=no | |||
case $deplib in | case $deplib in | |||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-th reads) | -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-th reads) | |||
if test "$linkmode,$pass" = "prog,link"; then | if test "$linkmode,$pass" = "prog,link"; then | |||
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_fl ags $deplib" ;; | * ) func_append new_inherited_linker_flags " $deplib" ;; | |||
esac | esac | |||
fi | fi | |||
fi | fi | |||
continue | continue | |||
;; | ;; | |||
-l*) | -l*) | |||
if test "$linkmode" != lib && test "$linkmode" != prog; then | if test "$linkmode" != lib && test "$linkmode" != prog; then | |||
func_warning "\`-l' is ignored for archives/objects" | func_warning "\`-l' is ignored for archives/objects" | |||
continue | continue | |||
fi | fi | |||
skipping to change at line 5454 | skipping to change at line 6169 | |||
;; # -l | ;; # -l | |||
*.ltframework) | *.ltframework) | |||
if test "$linkmode,$pass" = "prog,link"; then | if test "$linkmode,$pass" = "prog,link"; then | |||
compile_deplibs="$deplib $compile_deplibs" | compile_deplibs="$deplib $compile_deplibs" | |||
finalize_deplibs="$deplib $finalize_deplibs" | finalize_deplibs="$deplib $finalize_deplibs" | |||
else | else | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
if test "$linkmode" = lib ; then | if test "$linkmode" = lib ; then | |||
case "$new_inherited_linker_flags " in | case "$new_inherited_linker_flags " in | |||
*" $deplib "*) ;; | *" $deplib "*) ;; | |||
* ) new_inherited_linker_flags="$new_inherited_linker_fl ags $deplib" ;; | * ) func_append new_inherited_linker_flags " $deplib" ;; | |||
esac | esac | |||
fi | fi | |||
fi | fi | |||
continue | continue | |||
;; | ;; | |||
-L*) | -L*) | |||
case $linkmode in | case $linkmode in | |||
lib) | lib) | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
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 | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
continue | continue | |||
fi | fi | |||
if test "$pass" = scan; then | if test "$pass" = scan; then | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
else | else | |||
compile_deplibs="$deplib $compile_deplibs" | compile_deplibs="$deplib $compile_deplibs" | |||
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" | |||
;; | ;; | |||
esac # linkmode | esac # linkmode | |||
continue | continue | |||
;; # -L | ;; # -L | |||
-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" | |||
continue | continue | |||
fi | fi | |||
case $linkmode in | case $linkmode in | |||
lib) | lib) | |||
# Linking convenience modules into shared libraries is allowed, | # Linking convenience modules into shared libraries is allowed, | |||
# but linking other static libraries is non-portable. | # but linking other static libraries is non-portable. | |||
case " $dlpreconveniencelibs " in | case " $dlpreconveniencelibs " in | |||
skipping to change at line 5565 | skipping to change at line 6286 | |||
;; | ;; | |||
esac # linkmode | esac # linkmode | |||
;; # *.$libext | ;; # *.$libext | |||
*.lo | *.$objext) | *.lo | *.$objext) | |||
if test "$pass" = conv; then | if test "$pass" = conv; then | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
elif test "$linkmode" = prog; then | elif test "$linkmode" = prog; then | |||
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 | |||
;; | ;; | |||
%DEPLIBS%) | %DEPLIBS%) | |||
alldeplibs=yes | alldeplibs=yes | |||
continue | continue | |||
;; | ;; | |||
esac # case $deplib | esac # case $deplib | |||
skipping to change at line 5614 | skipping to change at line 6335 | |||
# Read the .la file | # Read the .la file | |||
func_source "$lib" | func_source "$lib" | |||
# Convert "-framework foo" to "foo.ltframework" | # Convert "-framework foo" to "foo.ltframework" | |||
if test -n "$inherited_linker_flags"; then | if test -n "$inherited_linker_flags"; then | |||
tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` | tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` | |||
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 $tm p_inherited_linker_flag";; | *) func_append new_inherited_linker_flags " $tmp_inherited_lin ker_flag";; | |||
esac | esac | |||
done | done | |||
fi | fi | |||
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltf ramework% -framework \1%g'` | dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltf ramework% -framework \1%g'` | |||
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 | |||
# Only check for convenience libraries | # Only check for convenience libraries | |||
deplibs="$lib $deplibs" | deplibs="$lib $deplibs" | |||
if test -z "$libdir"; then | if test -z "$libdir"; then | |||
if test -z "$old_library"; then | if test -z "$old_library"; then | |||
func_fatal_error "cannot find name of link library for \`$lib' " | func_fatal_error "cannot find name of link library for \`$lib' " | |||
fi | fi | |||
# It is a libtool convenience library, so add in its objects. | # It is a libtool convenience library, so add in its objects. | |||
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 | |||
# 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 | |||
# This library was specified with -dlopen. | # This library was specified with -dlopen. | |||
if test "$pass" = dlopen; then | if test "$pass" = dlopen; then | |||
if test -z "$libdir"; then | if test -z "$libdir"; then | |||
func_fatal_error "cannot -dlopen a convenience library: \`$lib'" | func_fatal_error "cannot -dlopen a convenience library: \`$lib'" | |||
fi | fi | |||
if test -z "$dlname" || | if test -z "$dlname" || | |||
test "$dlopen_support" != yes || | test "$dlopen_support" != yes || | |||
test "$build_libtool_libs" = no; then | test "$build_libtool_libs" = no; then | |||
# If there is no dlname, no dlopen support or we're linking | # If there is no dlname, no dlopen support or we're linking | |||
# statically, we need to preload. We also need to preload any | # statically, we need to preload. We also need to preload any | |||
# dependent libraries so libltdl's deplib preloader doesn't | # dependent libraries so libltdl's deplib preloader doesn't | |||
# 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 | |||
# We need an absolute path. | # We need an absolute path. | |||
case $ladir in | case $ladir in | |||
[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; | [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; | |||
*) | *) | |||
abs_ladir=`cd "$ladir" && pwd` | abs_ladir=`cd "$ladir" && pwd` | |||
if test -z "$abs_ladir"; then | if test -z "$abs_ladir"; then | |||
skipping to change at line 5697 | skipping to change at line 6424 | |||
func_warning "passing it literally to the linker, although it mi ght fail" | func_warning "passing it literally to the linker, although it mi ght fail" | |||
abs_ladir="$ladir" | abs_ladir="$ladir" | |||
fi | fi | |||
;; | ;; | |||
esac | esac | |||
func_basename "$lib" | func_basename "$lib" | |||
laname="$func_basename_result" | laname="$func_basename_result" | |||
# Find the relevant object directory and library name. | # Find the relevant object directory and library name. | |||
if test "X$installed" = Xyes; then | if test "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 | |||
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$lin klib"; then | if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$lin klib"; then | |||
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" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
# This library was specified with -dlpreopen. | # This library was specified with -dlpreopen. | |||
if test "$pass" = dlpreopen; then | if test "$pass" = dlpreopen; then | |||
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 li brary: \`$lib'" | func_fatal_error "only libraries may -dlpreopen a convenience li brary: \`$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 bot | |||
# Keep a list of preopened convenience libraries to check | h | |||
# that they are being used correctly in the link pass. | # static and shared are present. Therefore, ensure we extract | |||
test -z "$libdir" && \ | # symbols from the import library if a shared library is prese | |||
dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_librar | nt | |||
y" | # (otherwise, the dlopen module name will be incorrect). We d | |||
# Otherwise, use the dlname, so that lt_dlopen finds it. | o | |||
elif test -n "$dlname"; then | # this by putting the import library name into $newdlprefiles. | |||
newdlprefiles="$newdlprefiles $dir/$dlname" | # We recover the dlopen module name by 'saving' the la file | |||
else | # name in a special purpose variable, and (later) extracting t | |||
newdlprefiles="$newdlprefiles $dir/$linklib" | he | |||
fi | # dlname from the la file. | |||
if test -n "$dlname"; then | ||||
func_tr_sh "$dir/$linklib" | ||||
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 sym | ||||
bols | ||||
# 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 | |||
# Link the convenience library | # Link the convenience library | |||
if test "$linkmode" = lib; then | if test "$linkmode" = lib; then | |||
deplibs="$dir/$old_library $deplibs" | deplibs="$dir/$old_library $deplibs" | |||
elif test "$linkmode,$pass" = "prog,link"; then | elif test "$linkmode,$pass" = "prog,link"; then | |||
compile_deplibs="$dir/$old_library $compile_deplibs" | compile_deplibs="$dir/$old_library $compile_deplibs" | |||
finalize_deplibs="$dir/$old_library $finalize_deplibs" | finalize_deplibs="$dir/$old_library $finalize_deplibs" | |||
else | else | |||
deplibs="$lib $deplibs" # used for prog,scan pass | deplibs="$lib $deplibs" # used for prog,scan pass | |||
fi | fi | |||
continue | continue | |||
fi | fi | |||
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 | |||
if test "$link_all_deplibs" != no || test -z "$library_names" || | if test "$link_all_deplibs" != no || test -z "$library_names" || | |||
test "$build_libtool_libs" = no; then | test "$build_libtool_libs" = no; then | |||
linkalldeplibs=yes | linkalldeplibs=yes | |||
fi | fi | |||
tmp_libs= | tmp_libs= | |||
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_res | func_resolve_sysroot "$func_stripname_result" | |||
ult" | func_append newlib_search_path " $func_resolve_sysroot_resu | |||
lt" | ||||
;; | ;; | |||
esac | esac | |||
# Need to link against all dependency_libs? | # Need to link against all dependency_libs? | |||
if test "$linkalldeplibs" = yes; then | if test "$linkalldeplibs" = yes; then | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
else | else | |||
# Need to hardcode shared library paths | # Need to hardcode shared library paths | |||
# or/and link against static libraries | # or/and link against static libraries | |||
newdependency_libs="$deplib $newdependency_libs" | newdependency_libs="$deplib $newdependency_libs" | |||
fi | fi | |||
if $opt_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... | |||
if test "$linkmode,$pass" = "prog,link"; then | if test "$linkmode,$pass" = "prog,link"; then | |||
if test -n "$library_names" && | if test -n "$library_names" && | |||
{ { test "$prefer_static_libs" = no || | { { test "$prefer_static_libs" = no || | |||
test "$prefer_static_libs,$installed" = "built,yes"; } || | test "$prefer_static_libs,$installed" = "built,yes"; } || | |||
test -z "$old_library"; }; then | test -z "$old_library"; }; then | |||
# We need to hardcode the library path | # We need to hardcode the library path | |||
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then | if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then | |||
# Make sure the rpath contains only unique directories. | # Make sure the rpath contains only unique directories. | |||
case "$temp_rpath:" in | case "$temp_rpath:" in | |||
*"$absdir:"*) ;; | *"$absdir:"*) ;; | |||
*) temp_rpath="$temp_rpath$absdir:" ;; | *) func_append temp_rpath "$absdir:" ;; | |||
esac | esac | |||
fi | fi | |||
# Hardcode the library path. | # Hardcode the library path. | |||
# Skip directories that are in the system default run-time | # Skip directories that are in the system default run-time | |||
# search path. | # search path. | |||
case " $sys_lib_dlsearch_path " in | case " $sys_lib_dlsearch_path " in | |||
*" $absdir "*) ;; | *" $absdir "*) ;; | |||
*) | *) | |||
case "$compile_rpath " in | case "$compile_rpath " in | |||
*" $absdir "*) ;; | *" $absdir "*) ;; | |||
*) compile_rpath="$compile_rpath $absdir" | *) func_append compile_rpath " $absdir" ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
case " $sys_lib_dlsearch_path " in | case " $sys_lib_dlsearch_path " in | |||
*" $libdir "*) ;; | *" $libdir "*) ;; | |||
*) | *) | |||
case "$finalize_rpath " in | case "$finalize_rpath " in | |||
*" $libdir "*) ;; | *" $libdir "*) ;; | |||
*) finalize_rpath="$finalize_rpath $libdir" | *) func_append finalize_rpath " $libdir" ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
fi # $linkmode,$pass = prog,link... | fi # $linkmode,$pass = prog,link... | |||
if test "$alldeplibs" = yes && | if test "$alldeplibs" = yes && | |||
{ test "$deplibs_check_method" = pass_all || | { test "$deplibs_check_method" = pass_all || | |||
{ test "$build_libtool_libs" = yes && | { test "$build_libtool_libs" = yes && | |||
test -n "$library_names"; }; }; then | test -n "$library_names"; }; }; then | |||
# We only need to search for static libraries | # We only need to search for static libraries | |||
skipping to change at line 5848 | skipping to change at line 6602 | |||
link_static=no # Whether the deplib will be linked statically | link_static=no # Whether the deplib will be linked statically | |||
use_static_libs=$prefer_static_libs | use_static_libs=$prefer_static_libs | |||
if test "$use_static_libs" = built && test "$installed" = yes; then | if test "$use_static_libs" = built && test "$installed" = yes; then | |||
use_static_libs=no | use_static_libs=no | |||
fi | fi | |||
if test -n "$library_names" && | if test -n "$library_names" && | |||
{ test "$use_static_libs" = no || test -z "$old_library"; }; then | { test "$use_static_libs" = no || test -z "$old_library"; }; then | |||
case $host in | case $host in | |||
*cygwin* | *mingw* | *cegcc*) | *cygwin* | *mingw* | *cegcc*) | |||
# No point in relinking DLLs because paths are not encoded | # No point in relinking DLLs because paths are not encoded | |||
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 | |||
;; | ;; | |||
esac | esac | |||
# This is a shared library | # This is a shared library | |||
# Warn about portability, can't link against -module's on some | # Warn about portability, can't link against -module's on some | |||
# systems (darwin). Don't bleat about dlopened modules though! | # systems (darwin). Don't bleat about dlopened modules though! | |||
dlopenmodule="" | dlopenmodule="" | |||
for dlpremoduletest in $dlprefiles; do | for dlpremoduletest in $dlprefiles; do | |||
skipping to change at line 5888 | skipping to change at line 6642 | |||
if test "$linkmode" = lib && | if test "$linkmode" = lib && | |||
test "$hardcode_into_libs" = yes; then | test "$hardcode_into_libs" = yes; then | |||
# Hardcode the library path. | # Hardcode the library path. | |||
# Skip directories that are in the system default run-time | # Skip directories that are in the system default run-time | |||
# search path. | # search path. | |||
case " $sys_lib_dlsearch_path " in | case " $sys_lib_dlsearch_path " in | |||
*" $absdir "*) ;; | *" $absdir "*) ;; | |||
*) | *) | |||
case "$compile_rpath " in | case "$compile_rpath " in | |||
*" $absdir "*) ;; | *" $absdir "*) ;; | |||
*) compile_rpath="$compile_rpath $absdir" | *) func_append compile_rpath " $absdir" ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
case " $sys_lib_dlsearch_path " in | case " $sys_lib_dlsearch_path " in | |||
*" $libdir "*) ;; | *" $libdir "*) ;; | |||
*) | *) | |||
case "$finalize_rpath " in | case "$finalize_rpath " in | |||
*" $libdir "*) ;; | *" $libdir "*) ;; | |||
*) finalize_rpath="$finalize_rpath $libdir" | *) func_append finalize_rpath " $libdir" ;; | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
if test -n "$old_archive_from_expsyms_cmds"; then | if test -n "$old_archive_from_expsyms_cmds"; then | |||
# figure out the soname | # figure out the soname | |||
set dummy $library_names | set dummy $library_names | |||
shift | shift | |||
realname="$1" | realname="$1" | |||
skipping to change at line 5951 | skipping to change at line 6705 | |||
# Create $newlib | # Create $newlib | |||
if test -f "$output_objdir/$newlib"; then :; else | if test -f "$output_objdir/$newlib"; then :; else | |||
func_verbose "generating import library for \`$soname'" | func_verbose "generating import library for \`$soname'" | |||
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' | func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' | |||
fi | fi | |||
# make sure the library variables are pointing to the new librar y | # make sure the library variables are pointing to the new librar y | |||
dir=$output_objdir | dir=$output_objdir | |||
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= | |||
lib_linked=yes | lib_linked=yes | |||
case $hardcode_action in | case $hardcode_action in | |||
immediate | unsupported) | immediate | unsupported) | |||
if test "$hardcode_direct" = no; then | if test "$hardcode_direct" = no; then | |||
add="$dir/$linklib" | add="$dir/$linklib" | |||
case $host in | case $host in | |||
*-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; | *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; | |||
skipping to change at line 6007 | skipping to change at line 6761 | |||
relink) | relink) | |||
if test "$hardcode_direct" = yes && | if test "$hardcode_direct" = yes && | |||
test "$hardcode_direct_absolute" = no; then | test "$hardcode_direct_absolute" = no; then | |||
add="$dir/$linklib" | add="$dir/$linklib" | |||
elif test "$hardcode_minus_L" = yes; then | elif test "$hardcode_minus_L" = yes; then | |||
add_dir="-L$dir" | add_dir="-L$dir" | |||
# Try looking first in the location we're being installed to . | # Try looking first in the location we're being installed to . | |||
if test -n "$inst_prefix_dir"; then | if test -n "$inst_prefix_dir"; then | |||
case $libdir in | case $libdir in | |||
[\\/]*) | [\\/]*) | |||
add_dir="$add_dir -L$inst_prefix_dir$libdir" | func_append add_dir " -L$inst_prefix_dir$libdir" | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
add="-l$name" | add="-l$name" | |||
elif test "$hardcode_shlibpath_var" = yes; then | elif test "$hardcode_shlibpath_var" = yes; then | |||
add_shlibpath="$dir" | add_shlibpath="$dir" | |||
add="-l$name" | add="-l$name" | |||
else | else | |||
lib_linked=no | lib_linked=no | |||
fi | fi | |||
skipping to change at line 6029 | skipping to change at line 6783 | |||
*) lib_linked=no ;; | *) lib_linked=no ;; | |||
esac | esac | |||
if test "$lib_linked" != yes; then | if test "$lib_linked" != yes; then | |||
func_fatal_configuration "unsupported hardcode properties" | func_fatal_configuration "unsupported hardcode properties" | |||
fi | fi | |||
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 | |||
test -n "$add_dir" && compile_deplibs="$add_dir $compile_depli bs" | test -n "$add_dir" && compile_deplibs="$add_dir $compile_depli bs" | |||
test -n "$add" && compile_deplibs="$add $compile_deplibs" | test -n "$add" && compile_deplibs="$add $compile_deplibs" | |||
else | else | |||
test -n "$add_dir" && deplibs="$add_dir $deplibs" | test -n "$add_dir" && deplibs="$add_dir $deplibs" | |||
test -n "$add" && deplibs="$add $deplibs" | test -n "$add" && deplibs="$add $deplibs" | |||
if test "$hardcode_direct" != yes && | if test "$hardcode_direct" != yes && | |||
test "$hardcode_minus_L" != yes && | test "$hardcode_minus_L" != yes && | |||
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= | |||
# Finalize command for both is simple: just hardcode it. | # Finalize command for both is simple: just hardcode it. | |||
if test "$hardcode_direct" = yes && | if test "$hardcode_direct" = yes && | |||
test "$hardcode_direct_absolute" = no; then | test "$hardcode_direct_absolute" = no; then | |||
add="$libdir/$linklib" | add="$libdir/$linklib" | |||
elif test "$hardcode_minus_L" = yes; then | elif test "$hardcode_minus_L" = yes; then | |||
add_dir="-L$libdir" | add_dir="-L$libdir" | |||
add="-l$name" | add="-l$name" | |||
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 | |||
if test -n "$inst_prefix_dir" && | if test -n "$inst_prefix_dir" && | |||
test -f "$inst_prefix_dir$libdir/$linklib" ; then | test -f "$inst_prefix_dir$libdir/$linklib" ; then | |||
add="$inst_prefix_dir$libdir/$linklib" | add="$inst_prefix_dir$libdir/$linklib" | |||
else | else | |||
add="$libdir/$linklib" | add="$libdir/$linklib" | |||
fi | fi | |||
else | else | |||
# We cannot seem to hardcode it, guess we'll fake it. | # We cannot seem to hardcode it, guess we'll fake it. | |||
add_dir="-L$libdir" | add_dir="-L$libdir" | |||
# Try looking first in the location we're being installed to. | # Try looking first in the location we're being installed to. | |||
if test -n "$inst_prefix_dir"; then | if test -n "$inst_prefix_dir"; then | |||
case $libdir in | case $libdir in | |||
[\\/]*) | [\\/]*) | |||
add_dir="$add_dir -L$inst_prefix_dir$libdir" | func_append add_dir " -L$inst_prefix_dir$libdir" | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
add="-l$name" | add="-l$name" | |||
fi | fi | |||
if test "$linkmode" = prog; then | if test "$linkmode" = prog; then | |||
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_dep libs" | test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_dep libs" | |||
test -n "$add" && finalize_deplibs="$add $finalize_deplibs" | test -n "$add" && finalize_deplibs="$add $finalize_deplibs" | |||
else | else | |||
skipping to change at line 6157 | skipping to change at line 6911 | |||
test "$build_old_libs" = yes || | test "$build_old_libs" = yes || | |||
test "$link_static" = yes; }; then | test "$link_static" = yes; }; then | |||
# Extract -R from dependency_libs | # Extract -R from dependency_libs | |||
temp_deplibs= | temp_deplibs= | |||
for libdir in $dependency_libs; do | for libdir in $dependency_libs; do | |||
case $libdir in | case $libdir in | |||
-R*) func_stripname '-R' '' "$libdir" | -R*) func_stripname '-R' '' "$libdir" | |||
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 | |||
# Add the search paths of all dependency libraries | # Add the search paths of all dependency libraries | |||
for deplib in $dependency_libs; do | for deplib in $dependency_libs; do | |||
path= | path= | |||
case $deplib in | case $deplib in | |||
-L*) path="$deplib" ;; | -L*) path="$deplib" ;; | |||
*.la) | *.la) | |||
func_resolve_sysroot "$deplib" | ||||
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" ;; | |||
*) | *) | |||
absdir=`cd "$dir" && pwd` | absdir=`cd "$dir" && pwd` | |||
if test -z "$absdir"; then | if test -z "$absdir"; then | |||
func_warning "cannot determine absolute directory name o f \`$dir'" | func_warning "cannot determine absolute directory name o f \`$dir'" | |||
absdir="$dir" | absdir="$dir" | |||
fi | fi | |||
;; | ;; | |||
skipping to change at line 6215 | skipping to change at line 6977 | |||
if test -n "$deplibrary_names" ; then | if test -n "$deplibrary_names" ; then | |||
for tmp in $deplibrary_names ; do | for tmp in $deplibrary_names ; do | |||
depdepl=$tmp | depdepl=$tmp | |||
done | done | |||
if test -f "$absdir/$objdir/$depdepl" ; then | if test -f "$absdir/$objdir/$depdepl" ; then | |||
depdepl="$absdir/$objdir/$depdepl" | depdepl="$absdir/$objdir/$depdepl" | |||
darwin_install_name=`${OTOOL} -L $depdepl | awk '{if ( NR == 2) {print $1;exit}}'` | darwin_install_name=`${OTOOL} -L $depdepl | awk '{if ( NR == 2) {print $1;exit}}'` | |||
if test -z "$darwin_install_name"; then | if test -z "$darwin_install_name"; then | |||
darwin_install_name=`${OTOOL64} -L $depdepl | aw k '{if (NR == 2) {print $1;exit}}'` | darwin_install_name=`${OTOOL64} -L $depdepl | aw k '{if (NR == 2) {print $1;exit}}'` | |||
fi | fi | |||
compiler_flags="$compiler_flags ${wl}-dylib_file ${wl} | func_append compiler_flags " ${wl}-dylib_file ${wl}${d | |||
${darwin_install_name}:${depdepl}" | arwin_install_name}:${depdepl}" | |||
linker_flags="$linker_flags -dylib_file ${darwin_insta | func_append linker_flags " -dylib_file ${darwin_instal | |||
ll_name}:${depdepl}" | l_name}:${depdepl}" | |||
path= | path= | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*) | *) | |||
path="-L$absdir/$objdir" | path="-L$absdir/$objdir" | |||
;; | ;; | |||
esac | esac | |||
else | else | |||
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib ` | eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib ` | |||
skipping to change at line 6266 | skipping to change at line 7028 | |||
deplibs="$deplib $deplibs" | deplibs="$deplib $deplibs" | |||
done | done | |||
fi | fi | |||
if test "$pass" != dlopen; then | if test "$pass" != dlopen; then | |||
if test "$pass" != conv; then | if test "$pass" != conv; then | |||
# Make sure lib_search_path contains only unique directories. | # Make sure lib_search_path contains only unique directories. | |||
lib_search_path= | lib_search_path= | |||
for dir in $newlib_search_path; do | for dir in $newlib_search_path; do | |||
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= | |||
fi | fi | |||
if test "$linkmode,$pass" != "prog,link"; then | if test "$linkmode,$pass" != "prog,link"; then | |||
vars="deplibs" | vars="deplibs" | |||
else | else | |||
vars="compile_deplibs finalize_deplibs" | vars="compile_deplibs finalize_deplibs" | |||
fi | fi | |||
skipping to change at line 6324 | skipping to change at line 7086 | |||
esac | esac | |||
;; | ;; | |||
esac | esac | |||
done | done | |||
tmp_libs= | tmp_libs= | |||
for deplib in $new_libs; do | for deplib in $new_libs; do | |||
case $deplib in | case $deplib in | |||
-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\" | |||
done # for var | done # for var | |||
fi | fi | |||
# Last step: remove runtime libs from dependency_libs | # Last step: remove runtime libs from dependency_libs | |||
# (they stay in deplibs) | # (they stay in deplibs) | |||
tmp_libs= | tmp_libs= | |||
for i in $dependency_libs ; do | for i in $dependency_libs ; do | |||
case " $predeps $postdeps $compiler_lib_search_path " in | case " $predeps $postdeps $compiler_lib_search_path " in | |||
*" $i "*) | *" $i "*) | |||
i="" | i="" | |||
;; | ;; | |||
esac | esac | |||
if test -n "$i" ; then | if test -n "$i" ; then | |||
tmp_libs="$tmp_libs $i" | func_append tmp_libs " $i" | |||
fi | fi | |||
done | done | |||
dependency_libs=$tmp_libs | dependency_libs=$tmp_libs | |||
done # for pass | done # for pass | |||
if test "$linkmode" = prog; then | if test "$linkmode" = prog; then | |||
dlfiles="$newdlfiles" | dlfiles="$newdlfiles" | |||
fi | fi | |||
if test "$linkmode" = prog || test "$linkmode" = lib; then | if test "$linkmode" = prog || test "$linkmode" = lib; then | |||
dlprefiles="$newdlprefiles" | dlprefiles="$newdlprefiles" | |||
fi | fi | |||
skipping to change at line 6384 | skipping to change at line 7146 | |||
test -n "$release" && \ | test -n "$release" && \ | |||
func_warning "\`-release' is ignored for archives" | func_warning "\`-release' is ignored for archives" | |||
test -n "$export_symbols$export_symbols_regex" && \ | test -n "$export_symbols$export_symbols_regex" && \ | |||
func_warning "\`-export-symbols' is ignored for archives" | func_warning "\`-export-symbols' is ignored for archives" | |||
# Now set the variables for building old libraries. | # Now set the variables for building old libraries. | |||
build_libtool_libs=no | build_libtool_libs=no | |||
oldlibs="$output" | oldlibs="$output" | |||
objs="$objs$old_deplibs" | func_append objs "$old_deplibs" | |||
;; | ;; | |||
lib) | lib) | |||
# Make sure we only generate libraries of the form `libNAME.la'. | # Make sure we only generate libraries of the form `libNAME.la'. | |||
case $outputname in | case $outputname in | |||
lib*) | lib*) | |||
func_stripname 'lib' '.la' "$outputname" | func_stripname 'lib' '.la' "$outputname" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
eval shared_ext=\"$shrext_cmds\" | eval shared_ext=\"$shrext_cmds\" | |||
eval libname=\"$libname_spec\" | eval libname=\"$libname_spec\" | |||
skipping to change at line 6420 | skipping to change at line 7182 | |||
;; | ;; | |||
esac | esac | |||
if test -n "$objs"; then | if test -n "$objs"; then | |||
if test "$deplibs_check_method" != pass_all; then | if test "$deplibs_check_method" != pass_all; then | |||
func_fatal_error "cannot build libtool library \`$output' from non -libtool objects on this host:$objs" | func_fatal_error "cannot build libtool library \`$output' from non -libtool objects on this host:$objs" | |||
else | else | |||
echo | echo | |||
$ECHO "*** Warning: Linking the shared library $output against the non-libtool" | $ECHO "*** Warning: Linking the shared library $output against the non-libtool" | |||
$ECHO "*** objects $objs is not portable!" | $ECHO "*** objects $objs is not portable!" | |||
libobjs="$libobjs $objs" | func_append libobjs " $objs" | |||
fi | fi | |||
fi | fi | |||
test "$dlself" != no && \ | test "$dlself" != no && \ | |||
func_warning "\`-dlopen self' is ignored for libtool libraries" | func_warning "\`-dlopen self' is ignored for libtool libraries" | |||
set dummy $rpath | set dummy $rpath | |||
shift | shift | |||
test "$#" -gt 1 && \ | test "$#" -gt 1 && \ | |||
func_warning "ignoring multiple \`-rpath's for a libtool library" | func_warning "ignoring multiple \`-rpath's for a libtool library" | |||
skipping to change at line 6618 | skipping to change at line 7380 | |||
loop=$age | loop=$age | |||
while test "$loop" -ne 0; do | while test "$loop" -ne 0; do | |||
func_arith $current - $loop | func_arith $current - $loop | |||
iface=$func_arith_result | iface=$func_arith_result | |||
func_arith $loop - 1 | func_arith $loop - 1 | |||
loop=$func_arith_result | loop=$func_arith_result | |||
verstring="$verstring:${iface}.0" | verstring="$verstring:${iface}.0" | |||
done | done | |||
# Make executables depend on our current version. | # Make executables depend on our current version. | |||
verstring="$verstring:${current}.0" | func_append verstring ":${current}.0" | |||
;; | ;; | |||
qnx) | qnx) | |||
major=".$current" | major=".$current" | |||
versuffix=".$current" | versuffix=".$current" | |||
;; | ;; | |||
sunos) | sunos) | |||
major=".$current" | major=".$current" | |||
versuffix=".$current.$revision" | versuffix=".$current.$revision" | |||
skipping to change at line 6686 | skipping to change at line 7448 | |||
build_old_libs=yes | build_old_libs=yes | |||
fi | fi | |||
else | else | |||
# Don't allow undefined symbols. | # Don't allow undefined symbols. | |||
allow_undefined_flag="$no_undefined_flag" | allow_undefined_flag="$no_undefined_flag" | |||
fi | fi | |||
fi | fi | |||
func_generate_dlsyms "$libname" "$libname" "yes" | func_generate_dlsyms "$libname" "$libname" "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= | |||
tempremovelist=`$ECHO "$output_objdir/*"` | tempremovelist=`$ECHO "$output_objdir/*"` | |||
for p in $tempremovelist; do | for p in $tempremovelist; do | |||
case $p in | case $p in | |||
*.$objext | *.gcno) | *.$objext | *.gcno) | |||
;; | ;; | |||
$output_objdir/$outputname | $output_objdir/$libname.* | $output _objdir/${libname}${release}.*) | $output_objdir/$outputname | $output_objdir/$libname.* | $output _objdir/${libname}${release}.*) | |||
if test "X$precious_files_regex" != "X"; then | if test "X$precious_files_regex" != "X"; then | |||
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/nul l 2>&1 | if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/nul l 2>&1 | |||
then | then | |||
continue | continue | |||
fi | fi | |||
fi | fi | |||
removelist="$removelist $p" | func_append removelist " $p" | |||
;; | ;; | |||
*) ;; | *) ;; | |||
esac | esac | |||
done | done | |||
test -n "$removelist" && \ | test -n "$removelist" && \ | |||
func_show_eval "${RM}r \$removelist" | func_show_eval "${RM}r \$removelist" | |||
fi | fi | |||
# Now set the variables for building old libraries. | # Now set the variables for building old libraries. | |||
if test "$build_old_libs" = yes && test "$build_libtool_libs" != conv enience ; then | if test "$build_old_libs" = yes && test "$build_libtool_libs" != conv enience ; 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` | |||
fi | fi | |||
# Eliminate all temporary directories. | # Eliminate all temporary directories. | |||
#for path in $notinst_path; do | #for path in $notinst_path; do | |||
# lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` | # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` | |||
# deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` | # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` | |||
# dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$pat h % %g"` | # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$pat h % %g"` | |||
#done | #done | |||
if test -n "$xrpath"; then | if test -n "$xrpath"; then | |||
# 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 | |||
dependency_libs="$temp_xrpath $dependency_libs" | dependency_libs="$temp_xrpath $dependency_libs" | |||
fi | fi | |||
fi | fi | |||
# Make sure dlfiles contains only unique files that won't be dlpreope ned | # Make sure dlfiles contains only unique files that won't be dlpreope ned | |||
old_dlfiles="$dlfiles" | old_dlfiles="$dlfiles" | |||
dlfiles= | dlfiles= | |||
for lib in $old_dlfiles; do | for lib in $old_dlfiles; do | |||
case " $dlprefiles $dlfiles " in | case " $dlprefiles $dlfiles " in | |||
*" $lib "*) ;; | *" $lib "*) ;; | |||
*) dlfiles="$dlfiles $lib" ;; | *) func_append dlfiles " $lib" ;; | |||
esac | esac | |||
done | done | |||
# Make sure dlprefiles contains only unique files | # Make sure dlprefiles contains only unique files | |||
old_dlprefiles="$dlprefiles" | old_dlprefiles="$dlprefiles" | |||
dlprefiles= | dlprefiles= | |||
for lib in $old_dlprefiles; do | for lib in $old_dlprefiles; do | |||
case "$dlprefiles " in | case "$dlprefiles " in | |||
*" $lib "*) ;; | *" $lib "*) ;; | |||
*) dlprefiles="$dlprefiles $lib" ;; | *) func_append dlprefiles " $lib" ;; | |||
esac | esac | |||
done | done | |||
if test "$build_libtool_libs" = yes; then | if test "$build_libtool_libs" = yes; then | |||
if test -n "$rpath"; then | if test -n "$rpath"; then | |||
case $host in | case $host in | |||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-ce gcc* | *-*-haiku*) | *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-ce gcc* | *-*-haiku*) | |||
# these systems don't actually have a c library (as such)! | # these systems don't actually have a c library (as such)! | |||
;; | ;; | |||
*-*-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. | |||
;; | ;; | |||
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | |||
# Do not include libc due to us having libc/libc_r. | # Do not include libc due to us having libc/libc_r. | |||
;; | ;; | |||
*-*-sco3.2v5* | *-*-sco5v6*) | *-*-sco3.2v5* | *-*-sco5v6*) | |||
# Causes problems with __ctype | # Causes problems with __ctype | |||
;; | ;; | |||
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) | *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) | |||
# Compiler inserts libc in the correct place for threads to work | # Compiler inserts libc in the correct place for threads to work | |||
;; | ;; | |||
*) | *) | |||
# 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 | |||
fi | fi | |||
# Transform deplibs into only deplibs that can be linked in shared. | # Transform deplibs into only deplibs that can be linked in shared. | |||
name_save=$name | name_save=$name | |||
libname_save=$libname | libname_save=$libname | |||
release_save=$release | release_save=$release | |||
versuffix_save=$versuffix | versuffix_save=$versuffix | |||
skipping to change at line 6838 | skipping to change at line 7601 | |||
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then | if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then | |||
ldd_output=`ldd conftest` | ldd_output=`ldd conftest` | |||
for i in $deplibs; do | for i in $deplibs; do | |||
case $i in | case $i in | |||
-l*) | -l*) | |||
func_stripname -l '' "$i" | func_stripname -l '' "$i" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then | if test "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 | |||
fi | fi | |||
if test -n "$i" ; then | if test -n "$i" ; then | |||
libname=`eval "\\$ECHO \"$libname_spec\""` | libname=`eval "\\$ECHO \"$libname_spec\""` | |||
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` | deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` | |||
set dummy $deplib_matches; shift | set dummy $deplib_matches; shift | |||
deplib_match=$1 | deplib_match=$1 | |||
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; t hen | if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; t hen | |||
newdeplibs="$newdeplibs $i" | func_append newdeplibs " $i" | |||
else | else | |||
droppeddeps=yes | droppeddeps=yes | |||
echo | echo | |||
$ECHO "*** Warning: dynamic linker does not accept neede d library $i." | $ECHO "*** Warning: dynamic linker does not accept neede d library $i." | |||
echo "*** I have the capability to make that library aut omatically link in when" | echo "*** I have the capability to make that library aut omatically link in when" | |||
echo "*** you link to this library. But I can only do t his if you have a" | echo "*** you link to this library. But I can only do t his if you have a" | |||
echo "*** shared version of the library, which I believe you do not have" | echo "*** shared version of the library, which I believe you do not have" | |||
echo "*** because a test_compile did reveal that the lin ker did not use it for" | echo "*** because a test_compile did reveal that the lin ker did not use it for" | |||
echo "*** its dynamic dependency list that programs get resolved with at runtime." | echo "*** its dynamic dependency list that programs get resolved with at runtime." | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*) | *) | |||
newdeplibs="$newdeplibs $i" | func_append newdeplibs " $i" | |||
;; | ;; | |||
esac | esac | |||
done | done | |||
else | else | |||
# Error occurred in the first compile. Let's try to salvage | # Error occurred in the first compile. Let's try to salvage | |||
# the situation: Compile a separate program for each library. | # the situation: Compile a separate program for each library. | |||
for i in $deplibs; do | for i in $deplibs; do | |||
case $i in | case $i in | |||
-l*) | -l*) | |||
func_stripname -l '' "$i" | func_stripname -l '' "$i" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
$opt_dry_run || $RM conftest | $opt_dry_run || $RM conftest | |||
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then | if $LTCC $LTCFLAGS -o conftest conftest.c $i; then | |||
ldd_output=`ldd conftest` | ldd_output=`ldd conftest` | |||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xye s" ; then | if test "X$allow_libtool_libs_with_static_runtimes" = "Xye s" ; then | |||
case " $predeps $postdeps " in | case " $predeps $postdeps " in | |||
*" $i "*) | *" $i "*) | |||
newdeplibs="$newdeplibs $i" | func_append newdeplibs " $i" | |||
i="" | i="" | |||
;; | ;; | |||
esac | esac | |||
fi | fi | |||
if test -n "$i" ; then | if test -n "$i" ; then | |||
libname=`eval "\\$ECHO \"$libname_spec\""` | libname=`eval "\\$ECHO \"$libname_spec\""` | |||
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` | deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` | |||
set dummy $deplib_matches; shift | set dummy $deplib_matches; shift | |||
deplib_match=$1 | deplib_match=$1 | |||
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then | if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then | |||
newdeplibs="$newdeplibs $i" | func_append newdeplibs " $i" | |||
else | else | |||
droppeddeps=yes | droppeddeps=yes | |||
echo | echo | |||
$ECHO "*** Warning: dynamic linker does not accept nee ded library $i." | $ECHO "*** Warning: dynamic linker does not accept nee ded library $i." | |||
echo "*** I have the capability to make that library a utomatically link in when" | echo "*** I have the capability to make that library a utomatically link in when" | |||
echo "*** you link to this library. But I can only do this if you have a" | echo "*** you link to this library. But I can only do this if you have a" | |||
echo "*** shared version of the library, which you do not appear to have" | echo "*** shared version of the library, which you do not appear to have" | |||
echo "*** because a test_compile did reveal that the l inker did not use this one" | echo "*** because a test_compile did reveal that the l inker did not use this one" | |||
echo "*** as a dynamic dependency that programs can ge t resolved with at runtime." | echo "*** as a dynamic dependency that programs can ge t resolved with at runtime." | |||
fi | fi | |||
skipping to change at line 6914 | skipping to change at line 7677 | |||
else | else | |||
droppeddeps=yes | droppeddeps=yes | |||
echo | echo | |||
$ECHO "*** Warning! Library $i is needed by this library but I was not able to" | $ECHO "*** Warning! Library $i is needed by this library but I was not able to" | |||
echo "*** make it link in! You will probably need to inst all it or some" | echo "*** make it link in! You will probably need to inst all it or some" | |||
echo "*** library that it depends on before this library w ill be fully" | echo "*** library that it depends on before this library w ill be fully" | |||
echo "*** functional. Installing it before continuing wou ld be even better." | echo "*** functional. Installing it before continuing wou ld be even better." | |||
fi | fi | |||
;; | ;; | |||
*) | *) | |||
newdeplibs="$newdeplibs $i" | func_append newdeplibs " $i" | |||
;; | ;; | |||
esac | esac | |||
done | done | |||
fi | fi | |||
;; | ;; | |||
file_magic*) | file_magic*) | |||
set dummy $deplibs_check_method; shift | set dummy $deplibs_check_method; shift | |||
file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` | file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` | |||
for a_deplib in $deplibs; do | for a_deplib in $deplibs; do | |||
case $a_deplib in | case $a_deplib in | |||
-l*) | -l*) | |||
func_stripname -l '' "$a_deplib" | func_stripname -l '' "$a_deplib" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then | if test "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_magi | ||||
c_glob` | ||||
else | ||||
libnameglob=$libname | ||||
fi | ||||
test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocase | ||||
glob` | ||||
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 | | |||
$GREP " -> " >/dev/null; then | $GREP " -> " >/dev/null; then | |||
continue | continue | |||
fi | fi | |||
# The statement above tries to avoid entering an | # The statement above tries to avoid entering an | |||
# endless loop below, in case of cyclic links. | # endless loop below, in case of cyclic links. | |||
# We might still enter an endless loop, since a link | # We might still enter an endless loop, since a link | |||
# loop can be closed while we follow links, | # loop can be closed while we follow links, | |||
skipping to change at line 6962 | skipping to change at line 7737 | |||
while test -h "$potlib" 2>/dev/null; do | while test -h "$potlib" 2>/dev/null; do | |||
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` | potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` | |||
case $potliblink in | case $potliblink in | |||
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; | [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; | |||
*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$pot liblink";; | *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$pot liblink";; | |||
esac | esac | |||
done | done | |||
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | | if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | | |||
$SED -e 10q | | $SED -e 10q | | |||
$EGREP "$file_magic_regex" > /dev/null; then | $EGREP "$file_magic_regex" > /dev/null; then | |||
newdeplibs="$newdeplibs $a_deplib" | func_append newdeplibs " $a_deplib" | |||
a_deplib="" | a_deplib="" | |||
break 2 | break 2 | |||
fi | fi | |||
done | done | |||
done | done | |||
fi | fi | |||
if test -n "$a_deplib" ; then | if test -n "$a_deplib" ; then | |||
droppeddeps=yes | droppeddeps=yes | |||
echo | echo | |||
$ECHO "*** Warning: linker path does not have real file for library $a_deplib." | $ECHO "*** Warning: linker path does not have real file for library $a_deplib." | |||
skipping to change at line 6987 | skipping to change at line 7762 | |||
if test -z "$potlib" ; then | if test -z "$potlib" ; then | |||
$ECHO "*** with $libname but no candidates were found. (.. .for file magic test)" | $ECHO "*** with $libname but no candidates were found. (.. .for file magic test)" | |||
else | else | |||
$ECHO "*** with $libname and none of the candidates passed a file format test" | $ECHO "*** with $libname and none of the candidates passed a file format test" | |||
$ECHO "*** using a file magic. Last file checked: $potlib" | $ECHO "*** using a file magic. Last file checked: $potlib" | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*) | *) | |||
# 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. | |||
;; | ;; | |||
match_pattern*) | match_pattern*) | |||
set dummy $deplibs_check_method; shift | set dummy $deplibs_check_method; shift | |||
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` | match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` | |||
for a_deplib in $deplibs; do | for a_deplib in $deplibs; do | |||
case $a_deplib in | case $a_deplib in | |||
-l*) | -l*) | |||
func_stripname -l '' "$a_deplib" | func_stripname -l '' "$a_deplib" | |||
name=$func_stripname_result | name=$func_stripname_result | |||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then | if test "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\""` | |||
for i in $lib_search_path $sys_lib_search_path $shlib_search _path; do | for i in $lib_search_path $sys_lib_search_path $shlib_search _path; do | |||
potential_libs=`ls $i/$libname[.-]* 2>/dev/null` | potential_libs=`ls $i/$libname[.-]* 2>/dev/null` | |||
for potent_lib in $potential_libs; do | for potent_lib in $potential_libs; do | |||
potlib="$potent_lib" # see symlink-check above in file_m agic test | potlib="$potent_lib" # see symlink-check above in file_m agic 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 | |||
done | done | |||
done | done | |||
fi | fi | |||
if test -n "$a_deplib" ; then | if test -n "$a_deplib" ; then | |||
droppeddeps=yes | droppeddeps=yes | |||
echo | echo | |||
$ECHO "*** Warning: linker path does not have real file for library $a_deplib." | $ECHO "*** Warning: linker path does not have real file for library $a_deplib." | |||
skipping to change at line 7041 | skipping to change at line 7816 | |||
if test -z "$potlib" ; then | if test -z "$potlib" ; then | |||
$ECHO "*** with $libname but no candidates were found. (.. .for regex pattern test)" | $ECHO "*** with $libname but no candidates were found. (.. .for regex pattern test)" | |||
else | else | |||
$ECHO "*** with $libname and none of the candidates passed a file format test" | $ECHO "*** with $libname and none of the candidates passed a file format test" | |||
$ECHO "*** using a regex pattern. Last file checked: $potl ib" | $ECHO "*** using a regex pattern. Last file checked: $potl ib" | |||
fi | fi | |||
fi | fi | |||
;; | ;; | |||
*) | *) | |||
# 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. | |||
;; | ;; | |||
none | unknown | *) | none | unknown | *) | |||
newdeplibs="" | newdeplibs="" | |||
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g '` | tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g '` | |||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n | if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; the n | |||
for i in $predeps $postdeps ; do | for i in $predeps $postdeps ; do | |||
# can't use Xsed below, because $i might contain '/' | # can't use Xsed below, because $i might contain '/' | |||
skipping to change at line 7145 | skipping to change at line 7920 | |||
# move library search paths that coincide with paths to not yet | # move library search paths that coincide with paths to not yet | |||
# installed libraries to the beginning of the library search list | # installed libraries to the beginning of the library search list | |||
new_libs= | new_libs= | |||
for path in $notinst_path; do | for path in $notinst_path; do | |||
case " $new_libs " in | case " $new_libs " in | |||
*" -L$path/$objdir "*) ;; | *" -L$path/$objdir "*) ;; | |||
*) | *) | |||
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 | |||
done | done | |||
for deplib in $deplibs; do | for deplib in $deplibs; do | |||
case $deplib in | case $deplib in | |||
-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" | |||
# All the library-specific variables (install_libdir is set above). | # All the library-specific variables (install_libdir is set above). | |||
library_names= | library_names= | |||
old_library= | old_library= | |||
dlname= | dlname= | |||
# Test again, we may have decided not to build it any more | # Test again, we may have decided not to build it any more | |||
if test "$build_libtool_libs" = yes; then | if test "$build_libtool_libs" = yes; then | |||
if test "$hardcode_into_libs" = yes; then | if test "$hardcode_into_libs" = yes; then | |||
# Hardcode the library paths | # Hardcode the library paths | |||
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 | |||
# Just accumulate the unique libdirs. | # Just accumulate the unique libdirs. | |||
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_ libdir_separator in | case $hardcode_libdir_separator$hardcode_libdirs$hardcode_ libdir_separator in | |||
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separa tor"*) | *"$hardcode_libdir_separator$libdir$hardcode_libdir_separa tor"*) | |||
;; | ;; | |||
*) | *) | |||
hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_sepa rator$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 | |||
# Substitute the hardcoded libdirs into the rpath. | # Substitute the hardcoded libdirs into the rpath. | |||
if test -n "$hardcode_libdir_separator" && | if test -n "$hardcode_libdir_separator" && | |||
test -n "$hardcode_libdirs"; then | test -n "$hardcode_libdirs"; then | |||
libdir="$hardcode_libdirs" | libdir="$hardcode_libdirs" | |||
if test -n "$hardcode_libdir_flag_spec_ld"; then | if test -n "$hardcode_libdir_flag_spec_ld"; then | |||
eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" | eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" | |||
else | else | |||
eval dep_rpath=\"$hardcode_libdir_flag_spec\" | eval dep_rpath=\"$hardcode_libdir_flag_spec\" | |||
fi | fi | |||
fi | fi | |||
if test -n "$runpath_var" && test -n "$perm_rpath"; then | if test -n "$runpath_var" && test -n "$perm_rpath"; then | |||
# 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 | |||
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" | test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" | |||
fi | fi | |||
shlibpath="$finalize_shlibpath" | shlibpath="$finalize_shlibpath" | |||
test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" | test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpat h" | |||
if test -n "$shlibpath"; then | if test -n "$shlibpath"; then | |||
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpa th_var" | eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpa th_var" | |||
fi | fi | |||
# Get the real and link names of the library. | # Get the real and link names of the library. | |||
eval shared_ext=\"$shrext_cmds\" | eval shared_ext=\"$shrext_cmds\" | |||
eval library_names=\"$library_names_spec\" | eval library_names=\"$library_names_spec\" | |||
set dummy $library_names | set dummy $library_names | |||
shift | shift | |||
realname="$1" | realname="$1" | |||
skipping to change at line 7250 | skipping to change at line 8027 | |||
soname="$realname" | soname="$realname" | |||
fi | fi | |||
if test -z "$dlname"; then | if test -z "$dlname"; then | |||
dlname=$soname | dlname=$soname | |||
fi | fi | |||
lib="$output_objdir/$realname" | lib="$output_objdir/$realname" | |||
linknames= | linknames= | |||
for link | for link | |||
do | do | |||
linknames="$linknames $link" | func_append linknames " $link" | |||
done | done | |||
# Use standard objects if they are pic | # Use standard objects if they are pic | |||
test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$l o2o" | $NL2SP` | test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$l o2o" | $NL2SP` | |||
test "X$libobjs" = "X " && libobjs= | test "X$libobjs" = "X " && libobjs= | |||
delfiles= | delfiles= | |||
if test -n "$export_symbols" && test -n "$include_expsyms"; then | if test -n "$export_symbols" && test -n "$include_expsyms"; then | |||
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp " | $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp " | |||
export_symbols="$output_objdir/$libname.uexp" | export_symbols="$output_objdir/$libname.uexp" | |||
delfiles="$delfiles $export_symbols" | func_append delfiles " $export_symbols" | |||
fi | fi | |||
orig_export_symbols= | orig_export_symbols= | |||
case $host_os in | case $host_os in | |||
cygwin* | mingw* | cegcc*) | cygwin* | mingw* | cegcc*) | |||
if test -n "$export_symbols" && test -z "$export_symbols_regex"; t hen | if test -n "$export_symbols" && test -z "$export_symbols_regex"; t hen | |||
# exporting using user supplied symfile | # exporting using user supplied symfile | |||
if test "x`$SED 1q $export_symbols`" != xEXPORTS; then | if test "x`$SED 1q $export_symbols`" != xEXPORTS; then | |||
# and it's NOT already a .def file. Must figure out | # and it's NOT already a .def file. Must figure out | |||
# which of the given symbols are data symbols and tag | # which of the given symbols are data symbols and tag | |||
skipping to change at line 7292 | skipping to change at line 8069 | |||
esac | esac | |||
# Prepare the list of exported symbols | # Prepare the list of exported symbols | |||
if test -z "$export_symbols"; then | if test -z "$export_symbols"; then | |||
if test "$always_export_symbols" = yes || test -n "$export_symbols _regex"; then | if test "$always_export_symbols" = yes || test -n "$export_symbols _regex"; then | |||
func_verbose "generating symbol list for \`$libname.la'" | func_verbose "generating symbol list for \`$libname.la'" | |||
export_symbols="$output_objdir/$libname.exp" | export_symbols="$output_objdir/$libname.exp" | |||
$opt_dry_run || $RM $export_symbols | $opt_dry_run || $RM $export_symbols | |||
cmds=$export_symbols_cmds | cmds=$export_symbols_cmds | |||
save_ifs="$IFS"; IFS='~' | save_ifs="$IFS"; IFS='~' | |||
for 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 - | *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | | |||
1; then | ~*) | |||
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 $?' | ||||
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 $?' | func_show_eval "$cmd" 'exit $?' | |||
output=$save_output | ||||
libobjs=$save_libobjs | ||||
skipped_export=false | 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.. ." | |||
skipped_export=: | skipped_export=: | |||
# Break out early, otherwise skipped_export may be | # Break out early, otherwise skipped_export may be | |||
# set to false by a later but shorter cmd. | # set to false by a later but shorter cmd. | |||
break | break | |||
fi | fi | |||
done | done | |||
skipping to change at line 7332 | skipping to change at line 8141 | |||
if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols" ; then | if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols" ; then | |||
# The given exports_symbols file has to be filtered, so filter it. | # The given exports_symbols file has to be filtered, so filter it. | |||
func_verbose "filter symbol list for \`$libname.la' to tag DATA ex ports" | func_verbose "filter symbol list for \`$libname.la' to tag DATA ex ports" | |||
# FIXME: $output_objdir/$libname.filter potentially contains lots of | # FIXME: $output_objdir/$libname.filter potentially contains lots of | |||
# 's' commands which not all seds can handle. GNU sed should be fi ne | # 's' commands which not all seds can handle. GNU sed should be fi ne | |||
# though. Also, the filter scales superlinearly with the number of | # though. Also, the filter scales superlinearly with the number of | |||
# global variables. join(1) would be nice here, but unfortunately | # global variables. join(1) would be nice here, but unfortunately | |||
# isn't a blessed tool. | # isn't a blessed tool. | |||
$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.fil ter" | |||
export_symbols=$output_objdir/$libname.def | export_symbols=$output_objdir/$libname.def | |||
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_exp ort_symbols > $export_symbols | $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_exp ort_symbols > $export_symbols | |||
fi | fi | |||
tmp_deplibs= | tmp_deplibs= | |||
for test_deplib in $deplibs; do | for test_deplib in $deplibs; do | |||
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 | |||
deplibs="$tmp_deplibs" | deplibs="$tmp_deplibs" | |||
if test -n "$convenience"; then | if test -n "$convenience"; then | |||
if test -n "$whole_archive_flag_spec" && | if test -n "$whole_archive_flag_spec" && | |||
test "$compiler_needs_object" = yes && | test "$compiler_needs_object" = yes && | |||
test -z "$libobjs"; then | test -z "$libobjs"; then | |||
# extract the archives, so we have objects to list. | # extract the archives, so we have objects to list. | |||
# TODO: could optimize this to just extract one archive. | # TODO: could optimize this to just extract one archive. | |||
whole_archive_flag_spec= | whole_archive_flag_spec= | |||
fi | fi | |||
if test -n "$whole_archive_flag_spec"; then | if test -n "$whole_archive_flag_spec"; then | |||
save_libobjs=$libobjs | save_libobjs=$libobjs | |||
eval libobjs=\"\$libobjs $whole_archive_flag_spec\" | eval libobjs=\"\$libobjs $whole_archive_flag_spec\" | |||
test "X$libobjs" = "X " && libobjs= | test "X$libobjs" = "X " && libobjs= | |||
else | else | |||
gentop="$output_objdir/${outputname}x" | gentop="$output_objdir/${outputname}x" | |||
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"; th en | if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; th en | |||
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 && $M V $realname ${realname}U)' || exit $? | $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $M V $realname ${realname}U)' || exit $? | |||
fi | fi | |||
# Do each of the archive commands. | # Do each of the archive commands. | |||
if test "$module" = yes && test -n "$module_cmds" ; then | if test "$module" = yes && test -n "$module_cmds" ; then | |||
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; the n | if test -n "$export_symbols" && test -n "$module_expsym_cmds"; the n | |||
eval test_cmds=\"$module_expsym_cmds\" | eval test_cmds=\"$module_expsym_cmds\" | |||
cmds=$module_expsym_cmds | cmds=$module_expsym_cmds | |||
else | else | |||
eval test_cmds=\"$module_cmds\" | eval test_cmds=\"$module_cmds\" | |||
skipping to change at line 7438 | skipping to change at line 8247 | |||
objlist= | objlist= | |||
last_robj= | last_robj= | |||
k=1 | k=1 | |||
if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && t est "$with_gnu_ld" = yes; then | if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && t est "$with_gnu_ld" = yes; then | |||
output=${output_objdir}/${output_la}.lnkscript | output=${output_objdir}/${output_la}.lnkscript | |||
func_verbose "creating GNU ld script: $output" | func_verbose "creating GNU ld script: $output" | |||
echo 'INPUT (' > $output | echo 'INPUT (' > $output | |||
for obj in $save_libobjs | for obj in $save_libobjs | |||
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" | |||
: > $output | : > $output | |||
set x $save_libobjs | set x $save_libobjs | |||
shift | shift | |||
firstobj= | firstobj= | |||
if test "$compiler_needs_object" = yes; then | if test "$compiler_needs_object" = yes; then | |||
firstobj="$1 " | firstobj="$1 " | |||
shift | shift | |||
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..." | |||
output=$output_objdir/$output_la-${k}.$objext | output=$output_objdir/$output_la-${k}.$objext | |||
eval test_cmds=\"$reload_cmds\" | eval test_cmds=\"$reload_cmds\" | |||
func_len " $test_cmds" | func_len " $test_cmds" | |||
len0=$func_len_result | len0=$func_len_result | |||
len=$len0 | len=$len0 | |||
# Loop over the list of objects to be linked. | # Loop over the list of objects to be linked. | |||
skipping to change at line 7509 | skipping to change at line 8323 | |||
done | done | |||
# Handle the remaining objects by creating one last | # Handle the remaining objects by creating one last | |||
# reloadable object file. All subsequent reloadable object | # reloadable object file. All subsequent reloadable object | |||
# files will link in the last one created. | # files will link in the last one created. | |||
test -z "$concat_cmds" || concat_cmds=$concat_cmds~ | test -z "$concat_cmds" || concat_cmds=$concat_cmds~ | |||
reload_objs="$objlist $last_robj" | reload_objs="$objlist $last_robj" | |||
eval concat_cmds=\"\${concat_cmds}$reload_cmds\" | eval concat_cmds=\"\${concat_cmds}$reload_cmds\" | |||
if test -n "$last_robj"; then | if test -n "$last_robj"; then | |||
eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" | eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" | |||
fi | fi | |||
delfiles="$delfiles $output" | func_append delfiles " $output" | |||
else | else | |||
output= | output= | |||
fi | fi | |||
if ${skipped_export-false}; then | if ${skipped_export-false}; then | |||
func_verbose "generating symbol list for \`$libname.la'" | func_verbose "generating symbol list for \`$libname.la'" | |||
export_symbols="$output_objdir/$libname.exp" | export_symbols="$output_objdir/$libname.exp" | |||
$opt_dry_run || $RM $export_symbols | $opt_dry_run || $RM $export_symbols | |||
libobjs=$output | libobjs=$output | |||
skipping to change at line 7543 | skipping to change at line 8357 | |||
for cmd in $concat_cmds; do | for cmd in $concat_cmds; do | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
$opt_silent || { | $opt_silent || { | |||
func_quote_for_expand "$cmd" | func_quote_for_expand "$cmd" | |||
eval "func_echo $func_quote_for_expand_result" | eval "func_echo $func_quote_for_expand_result" | |||
} | } | |||
$opt_dry_run || eval "$cmd" || { | $opt_dry_run || eval "$cmd" || { | |||
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" ) | |||
fi | fi | |||
exit $lt_exit | exit $lt_exit | |||
} | } | |||
done | done | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
skipping to change at line 7576 | skipping to change at line 8390 | |||
if test -n "$orig_export_symbols"; then | if test -n "$orig_export_symbols"; then | |||
# The given exports_symbols file has to be filtered, so filter it. | # The given exports_symbols file has to be filtered, so filter it. | |||
func_verbose "filter symbol list for \`$libname.la' to tag DAT A exports" | func_verbose "filter symbol list for \`$libname.la' to tag DAT A exports" | |||
# FIXME: $output_objdir/$libname.filter potentially contains l ots of | # FIXME: $output_objdir/$libname.filter potentially contains l ots of | |||
# 's' commands which not all seds can handle. GNU sed should b e fine | # 's' commands which not all seds can handle. GNU sed should b e fine | |||
# though. Also, the filter scales superlinearly with the numbe r of | # though. Also, the filter scales superlinearly with the numbe r of | |||
# global variables. join(1) would be nice here, but unfortunat ely | # global variables. join(1) would be nice here, but unfortunat ely | |||
# 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.fi lter" | 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 | |||
fi | fi | |||
libobjs=$output | libobjs=$output | |||
# Restore the value of output. | # Restore the value of output. | |||
output=$save_output | output=$save_output | |||
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; t hen | if test -n "$convenience" && test -n "$whole_archive_flag_spec"; t hen | |||
skipping to change at line 7617 | skipping to change at line 8431 | |||
fi | fi | |||
if test -n "$delfiles"; then | if test -n "$delfiles"; then | |||
# Append the command to remove temporary files to $cmds. | # Append the command to remove temporary files to $cmds. | |||
eval cmds=\"\$cmds~\$RM $delfiles\" | eval cmds=\"\$cmds~\$RM $delfiles\" | |||
fi | fi | |||
# 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 | |||
save_ifs="$IFS"; IFS='~' | save_ifs="$IFS"; IFS='~' | |||
for cmd in $cmds; do | for cmd in $cmds; do | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
eval cmd=\"$cmd\" | eval cmd=\"$cmd\" | |||
$opt_silent || { | $opt_silent || { | |||
func_quote_for_expand "$cmd" | func_quote_for_expand "$cmd" | |||
eval "func_echo $func_quote_for_expand_result" | eval "func_echo $func_quote_for_expand_result" | |||
} | } | |||
$opt_dry_run || eval "$cmd" || { | $opt_dry_run || eval "$cmd" || { | |||
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" ) | |||
fi | fi | |||
exit $lt_exit | exit $lt_exit | |||
} | } | |||
done | done | |||
IFS="$save_ifs" | IFS="$save_ifs" | |||
# Restore the uninstalled library and exit | # Restore the uninstalled library and exit | |||
if test "$mode" = relink; then | if test "$opt_mode" = relink; then | |||
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $M V $realname ${realname}T && $MV ${realname}U $realname)' || exit $? | $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $M V $realname ${realname}T && $MV ${realname}U $realname)' || exit $? | |||
if test -n "$convenience"; then | if test -n "$convenience"; then | |||
if test -z "$whole_archive_flag_spec"; then | if test -z "$whole_archive_flag_spec"; then | |||
func_show_eval '${RM}r "$gentop"' | func_show_eval '${RM}r "$gentop"' | |||
fi | fi | |||
fi | fi | |||
exit $EXIT_SUCCESS | exit $EXIT_SUCCESS | |||
fi | fi | |||
skipping to change at line 7732 | skipping to change at line 8546 | |||
# -Wl from whole_archive_flag_spec and hope we can get by with | # -Wl from whole_archive_flag_spec and hope we can get by with | |||
# turning comma into space.. | # turning comma into space.. | |||
wl= | wl= | |||
if test -n "$convenience"; then | if test -n "$convenience"; then | |||
if test -n "$whole_archive_flag_spec"; then | if test -n "$whole_archive_flag_spec"; then | |||
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" | eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" | |||
reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` | reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` | |||
else | else | |||
gentop="$output_objdir/${obj}x" | gentop="$output_objdir/${obj}x" | |||
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" ### testsuit e: skip nested quoting test | reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\ .${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuit e: skip nested quoting test | |||
output="$obj" | output="$obj" | |||
func_execute_cmds "$reload_cmds" 'exit $?' | func_execute_cmds "$reload_cmds" 'exit $?' | |||
# Exit if we aren't doing a library object file. | # Exit if we aren't doing a library object file. | |||
if test -z "$libobj"; then | if test -z "$libobj"; then | |||
if test -n "$gentop"; then | if test -n "$gentop"; then | |||
func_show_eval '${RM}r "$gentop"' | func_show_eval '${RM}r "$gentop"' | |||
skipping to change at line 7812 | skipping to change at line 8629 | |||
;; | ;; | |||
esac | esac | |||
case $host in | case $host in | |||
*-*-darwin*) | *-*-darwin*) | |||
# Don't allow lazy linking, it breaks C++ global constructors | # Don't allow lazy linking, it breaks C++ global constructors | |||
# But is supposedly fixed on 10.4 or later (yay!). | # But is supposedly fixed on 10.4 or later (yay!). | |||
if test "$tagname" = CXX ; then | if test "$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 | |||
# Time to change all our "foo.ltframework" stuff back to "-framework foo" | # Time to change all our "foo.ltframework" stuff back to "-framework foo" | |||
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltf ramework% -framework \1%g'` | compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltf ramework% -framework \1%g'` | |||
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).l tframework% -framework \1%g'` | finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).l tframework% -framework \1%g'` | |||
;; | ;; | |||
esac | esac | |||
# move library search paths that coincide with paths to not yet | # move library search paths that coincide with paths to not yet | |||
# installed libraries to the beginning of the library search list | # installed libraries to the beginning of the library search list | |||
new_libs= | new_libs= | |||
for path in $notinst_path; do | for path in $notinst_path; do | |||
case " $new_libs " in | case " $new_libs " in | |||
*" -L$path/$objdir "*) ;; | *" -L$path/$objdir "*) ;; | |||
*) | *) | |||
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 | |||
done | done | |||
for deplib in $compile_deplibs; do | for deplib in $compile_deplibs; do | |||
case $deplib in | case $deplib in | |||
-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. | |||
for libdir in $rpath $xrpath; do | for libdir in $rpath $xrpath; do | |||
# 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 | |||
# Now hardcode the library paths | # Now hardcode the library paths | |||
rpath= | rpath= | |||
hardcode_libdirs= | hardcode_libdirs= | |||
for libdir in $compile_rpath $finalize_rpath; do | for libdir in $compile_rpath $finalize_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 | |||
if test -z "$hardcode_libdirs"; then | if test -z "$hardcode_libdirs"; then | |||
hardcode_libdirs="$libdir" | hardcode_libdirs="$libdir" | |||
else | else | |||
# Just accumulate the unique libdirs. | # Just accumulate the unique libdirs. | |||
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in | case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in | |||
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *) | *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *) | |||
;; | ;; | |||
*) | *) | |||
hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separato r$libdir" | func_append hardcode_libdirs "$hardcode_libdir_separator$lib dir" | |||
;; | ;; | |||
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 | |||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) | *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) | |||
testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` | testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` | |||
case :$dllsearchpath: in | case :$dllsearchpath: in | |||
*":$libdir:"*) ;; | *":$libdir:"*) ;; | |||
::) dllsearchpath=$libdir;; | ::) dllsearchpath=$libdir;; | |||
*) 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 | |||
done | done | |||
# Substitute the hardcoded libdirs into the rpath. | # Substitute the hardcoded libdirs into the rpath. | |||
if test -n "$hardcode_libdir_separator" && | if test -n "$hardcode_libdir_separator" && | |||
test -n "$hardcode_libdirs"; then | test -n "$hardcode_libdirs"; then | |||
libdir="$hardcode_libdirs" | libdir="$hardcode_libdirs" | |||
eval rpath=\" $hardcode_libdir_flag_spec\" | eval rpath=\" $hardcode_libdir_flag_spec\" | |||
fi | fi | |||
skipping to change at line 7929 | skipping to change at line 8746 | |||
if test -n "$hardcode_libdir_flag_spec"; then | if test -n "$hardcode_libdir_flag_spec"; then | |||
if test -n "$hardcode_libdir_separator"; then | if test -n "$hardcode_libdir_separator"; then | |||
if test -z "$hardcode_libdirs"; then | if test -z "$hardcode_libdirs"; then | |||
hardcode_libdirs="$libdir" | hardcode_libdirs="$libdir" | |||
else | else | |||
# Just accumulate the unique libdirs. | # Just accumulate the unique libdirs. | |||
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in | case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libd ir_separator in | |||
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *) | *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator" *) | |||
;; | ;; | |||
*) | *) | |||
hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separato r$libdir" | func_append hardcode_libdirs "$hardcode_libdir_separator$lib dir" | |||
;; | ;; | |||
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 | |||
# Substitute the hardcoded libdirs into the rpath. | # Substitute the hardcoded libdirs into the rpath. | |||
if test -n "$hardcode_libdir_separator" && | if test -n "$hardcode_libdir_separator" && | |||
test -n "$hardcode_libdirs"; then | test -n "$hardcode_libdirs"; then | |||
libdir="$hardcode_libdirs" | libdir="$hardcode_libdirs" | |||
eval rpath=\" $hardcode_libdir_flag_spec\" | eval rpath=\" $hardcode_libdir_flag_spec\" | |||
fi | fi | |||
finalize_rpath="$rpath" | finalize_rpath="$rpath" | |||
skipping to change at line 7991 | skipping to change at line 8808 | |||
esac | esac | |||
if test "$wrappers_required" = no; then | if test "$wrappers_required" = no; then | |||
# Replace the output file specification. | # Replace the output file specification. | |||
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$outp ut"'%g'` | compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$outp ut"'%g'` | |||
link_command="$compile_command$compile_rpath" | link_command="$compile_command$compile_rpath" | |||
# We have no uninstalled library dependencies, so finalize right now . | # We have no uninstalled library dependencies, so finalize right now . | |||
exit_status=0 | exit_status=0 | |||
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}"' | |||
fi | fi | |||
exit $exit_status | exit $exit_status | |||
fi | fi | |||
if test -n "$compile_shlibpath$finalize_shlibpath"; then | if test -n "$compile_shlibpath$finalize_shlibpath"; then | |||
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibp ath\$$shlibpath_var\" $compile_command" | compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibp ath\$$shlibpath_var\" $compile_command" | |||
skipping to change at line 8013 | skipping to change at line 8836 | |||
finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_v ar\" $finalize_command" | finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_v ar\" $finalize_command" | |||
fi | fi | |||
compile_var= | compile_var= | |||
finalize_var= | finalize_var= | |||
if test -n "$runpath_var"; then | if test -n "$runpath_var"; then | |||
if test -n "$perm_rpath"; then | if test -n "$perm_rpath"; then | |||
# 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 | |||
if test -n "$finalize_perm_rpath"; then | if test -n "$finalize_perm_rpath"; then | |||
# 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 | |||
fi | fi | |||
if test "$no_install" = yes; then | if test "$no_install" = yes; then | |||
# We don't need to create a wrapper script. | # We don't need to create a wrapper script. | |||
link_command="$compile_var$compile_command$compile_rpath" | link_command="$compile_var$compile_command$compile_rpath" | |||
# Replace the output file specification. | # Replace the output file specification. | |||
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g '` | link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g '` | |||
# Delete the old output file. | # Delete the old output file. | |||
$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 | |||
if test "$hardcode_action" = relink; then | if test "$hardcode_action" = relink; then | |||
# Fast installation is not supported | # Fast installation is not supported | |||
link_command="$compile_var$compile_command$compile_rpath" | link_command="$compile_var$compile_command$compile_rpath" | |||
relink_command="$finalize_var$finalize_command$finalize_rpath" | relink_command="$finalize_var$finalize_command$finalize_rpath" | |||
func_warning "this platform does not like uninstalled shared librari es" | func_warning "this platform does not like uninstalled shared librari es" | |||
func_warning "\`$output' will be relinked during installation" | func_warning "\`$output' will be relinked during installation" | |||
skipping to change at line 8069 | skipping to change at line 8899 | |||
fi | fi | |||
# Replace the output file specification. | # Replace the output file specification. | |||
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objd ir/$outputname"'%g'` | link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objd ir/$outputname"'%g'` | |||
# Delete the old output files. | # Delete the old output files. | |||
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir /lt-$outputname | $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir /lt-$outputname | |||
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" | |||
# Quote the relink command for shipping. | # Quote the relink command for shipping. | |||
if test -n "$relink_command"; then | if test -n "$relink_command"; then | |||
# Preserve any variables that may affect compiler behavior | # Preserve any variables that may affect compiler behavior | |||
for var in $variables_saved_for_relink; do | for var in $variables_saved_for_relink; do | |||
if eval test -z \"\${$var+set}\"; then | if eval test -z \"\${$var+set}\"; then | |||
relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" | relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" | |||
elif eval var_value=\$$var; test -z "$var_value"; then | elif eval var_value=\$$var; test -z "$var_value"; then | |||
skipping to change at line 8166 | skipping to change at line 9002 | |||
oldobjs="$libobjs_save $symfileobj" | oldobjs="$libobjs_save $symfileobj" | |||
addlibs="$convenience" | addlibs="$convenience" | |||
build_libtool_libs=no | build_libtool_libs=no | |||
else | else | |||
if test "$build_libtool_libs" = module; then | if test "$build_libtool_libs" = module; then | |||
oldobjs="$libobjs_save" | oldobjs="$libobjs_save" | |||
build_libtool_libs=no | build_libtool_libs=no | |||
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" | |||
fi | fi | |||
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. | |||
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then | if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then | |||
cmds=$old_archive_from_new_cmds | cmds=$old_archive_from_new_cmds | |||
else | else | |||
# Add any objects from preloaded convenience libraries | # Add any objects from preloaded convenience libraries | |||
if test -n "$dlprefiles"; then | if test -n "$dlprefiles"; then | |||
gentop="$output_objdir/${outputname}x" | gentop="$output_objdir/${outputname}x" | |||
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 | |||
# to avoid creating archives with duplicate basenames if we | # to avoid creating archives with duplicate basenames if we | |||
# might have to extract them afterwards, e.g., when creating a | # might have to extract them afterwards, e.g., when creating a | |||
# static archive out of a convenience library, or when linking | # static archive out of a convenience library, or when linking | |||
# the entirety of a libtool archive into another (currently | # the entirety of a libtool archive into another (currently | |||
# not supported by libtool). | # not supported by libtool). | |||
if (for obj in $oldobjs | if (for obj in $oldobjs | |||
do | do | |||
func_basename "$obj" | func_basename "$obj" | |||
$ECHO "$func_basename_result" | $ECHO "$func_basename_result" | |||
done | sort | sort -uc >/dev/null 2>&1); then | done | sort | sort -uc >/dev/null 2>&1); then | |||
: | : | |||
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= | |||
counter=1 | counter=1 | |||
for obj in $save_oldobjs | for obj in $save_oldobjs | |||
do | do | |||
func_basename "$obj" | func_basename "$obj" | |||
objbase="$func_basename_result" | objbase="$func_basename_result" | |||
case " $oldobjs " in | case " $oldobjs " in | |||
" ") oldobjs=$obj ;; | " ") oldobjs=$obj ;; | |||
skipping to change at line 8233 | skipping to change at line 9069 | |||
# overlaps. | # overlaps. | |||
newobj=lt$counter-$objbase | newobj=lt$counter-$objbase | |||
func_arith $counter + 1 | func_arith $counter + 1 | |||
counter=$func_arith_result | counter=$func_arith_result | |||
case " $oldobjs " in | case " $oldobjs " in | |||
*[\ /]"$newobj "*) ;; | *[\ /]"$newobj "*) ;; | |||
*) if test ! -f "$gentop/$newobj"; then break; fi ;; | *) if test ! -f "$gentop/$newobj"; then break; fi ;; | |||
esac | esac | |||
done | done | |||
func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$ne wobj" | func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$ne wobj" | |||
oldobjs="$oldobjs $gentop/$newobj" | func_append oldobjs " $gentop/$newobj" | |||
;; | ;; | |||
*) oldobjs="$oldobjs $obj" ;; | *) func_append oldobjs " $obj" ;; | |||
esac | esac | |||
done | done | |||
fi | fi | |||
eval cmds=\"$old_archive_cmds\" | eval cmds=\"$old_archive_cmds\" | |||
func_len " $cmds" | func_len " $cmds" | |||
len=$func_len_result | len=$func_len_result | |||
if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; the n | if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; the n | |||
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..." | |||
save_RANLIB=$RANLIB | save_RANLIB=$RANLIB | |||
RANLIB=: | RANLIB=: | |||
objlist= | objlist= | |||
concat_cmds= | concat_cmds= | |||
save_oldobjs=$oldobjs | save_oldobjs=$oldobjs | |||
oldobjs= | oldobjs= | |||
# Is there a better way of finding the last object in the list? | # Is there a better way of finding the last object in the list? | |||
skipping to change at line 8341 | skipping to change at line 9187 | |||
# Replace all uninstalled libtool libraries with the installed o nes | # Replace all uninstalled libtool libraries with the installed o nes | |||
newdependency_libs= | newdependency_libs= | |||
for deplib in $dependency_libs; do | for deplib in $dependency_libs; do | |||
case $deplib in | case $deplib in | |||
*.la) | *.la) | |||
func_basename "$deplib" | func_basename "$deplib" | |||
name="$func_basename_result" | name="$func_basename_result" | |||
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 archiv e" | func_fatal_error "\`$deplib' is not a valid libtool archiv e" | |||
newdependency_libs="$newdependency_libs $libdir/$name" | func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$na | |||
me" | ||||
;; | ||||
-L*) | ||||
func_stripname -L '' "$deplib" | ||||
func_replace_sysroot "$func_stripname_result" | ||||
func_append newdependency_libs " -L$func_replace_sysroot_res | ||||
ult" | ||||
;; | ||||
-R*) | ||||
func_stripname -R '' "$deplib" | ||||
func_replace_sysroot "$func_stripname_result" | ||||
func_append newdependency_libs " -R$func_replace_sysroot_res | ||||
ult" | ||||
;; | ;; | |||
*) newdependency_libs="$newdependency_libs $deplib" ;; | *) func_append newdependency_libs " $deplib" ;; | |||
esac | esac | |||
done | done | |||
dependency_libs="$newdependency_libs" | dependency_libs="$newdependency_libs" | |||
newdlfiles= | newdlfiles= | |||
for lib in $dlfiles; do | for lib in $dlfiles; do | |||
case $lib in | case $lib in | |||
*.la) | *.la) | |||
func_basename "$lib" | func_basename "$lib" | |||
name="$func_basename_result" | name="$func_basename_result" | |||
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` | eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` | |||
test -z "$libdir" && \ | test -z "$libdir" && \ | |||
func_fatal_error "\`$lib' is not a valid libtool archive" | func_fatal_error "\`$lib' is not a valid libtool archive" | |||
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" | |||
newdlprefiles= | newdlprefiles= | |||
for lib in $dlprefiles; do | for lib in $dlprefiles; do | |||
case $lib in | case $lib in | |||
*.la) | *.la) | |||
# Only pass preopened files to the pseudo-archive (for | # Only pass preopened files to the pseudo-archive (for | |||
# eventual linking with the app. that links it) if we | # eventual linking with the app. that links it) if we | |||
# didn't already link the preopened objects directly into | # didn't already link the preopened objects directly into | |||
# the library: | # the library: | |||
func_basename "$lib" | func_basename "$lib" | |||
name="$func_basename_result" | name="$func_basename_result" | |||
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` | eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` | |||
test -z "$libdir" && \ | test -z "$libdir" && \ | |||
func_fatal_error "\`$lib' is not a valid libtool archive" | func_fatal_error "\`$lib' is not a valid libtool archive" | |||
newdlprefiles="$newdlprefiles $libdir/$name" | func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" | |||
;; | ;; | |||
esac | esac | |||
done | done | |||
dlprefiles="$newdlprefiles" | dlprefiles="$newdlprefiles" | |||
else | else | |||
newdlfiles= | newdlfiles= | |||
for lib in $dlfiles; do | for lib in $dlfiles; do | |||
case $lib in | case $lib in | |||
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; | [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; | |||
*) abs=`pwd`"/$lib" ;; | *) abs=`pwd`"/$lib" ;; | |||
esac | esac | |||
newdlfiles="$newdlfiles $abs" | func_append newdlfiles " $abs" | |||
done | done | |||
dlfiles="$newdlfiles" | dlfiles="$newdlfiles" | |||
newdlprefiles= | newdlprefiles= | |||
for lib in $dlprefiles; do | for lib in $dlprefiles; do | |||
case $lib in | case $lib in | |||
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; | [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; | |||
*) abs=`pwd`"/$lib" ;; | *) abs=`pwd`"/$lib" ;; | |||
esac | esac | |||
newdlprefiles="$newdlprefiles $abs" | func_append newdlprefiles " $abs" | |||
done | done | |||
dlprefiles="$newdlprefiles" | dlprefiles="$newdlprefiles" | |||
fi | fi | |||
$RM $output | $RM $output | |||
# place dlname in correct position for cygwin | # place dlname in correct position for cygwin | |||
# In fact, it would be nice if we could use this code for all targ et | # In fact, it would be nice if we could use this code for all targ et | |||
# systems that can't hard-code library paths into their executable s | # systems that can't hard-code library paths into their executable s | |||
# and that have no shared library path variable independent of PAT H, | # and that have no shared library path variable independent of PAT H, | |||
# but it turns out we can't easily determine that from inspecting | # but it turns out we can't easily determine that from inspecting | |||
# libtool variables, so we have to hard-code the OSs to which it | # libtool variables, so we have to hard-code the OSs to which it | |||
skipping to change at line 8482 | skipping to change at line 9338 | |||
} | } | |||
# Do a symbolic link so that the libtool archive can be found in | # Do a symbolic link so that the libtool archive can be found in | |||
# LD_LIBRARY_PATH before the program is installed. | # LD_LIBRARY_PATH before the program is installed. | |||
func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S " ../$outputname" "$outputname" )' 'exit $?' | func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S " ../$outputname" "$outputname" )' 'exit $?' | |||
;; | ;; | |||
esac | esac | |||
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+"$@"} | |||
# func_mode_uninstall arg... | # func_mode_uninstall arg... | |||
func_mode_uninstall () | func_mode_uninstall () | |||
{ | { | |||
$opt_debug | $opt_debug | |||
RM="$nonopt" | RM="$nonopt" | |||
files= | files= | |||
rmforce= | rmforce= | |||
exit_status=0 | exit_status=0 | |||
# This variable tells wrapper scripts just to set variables rather | # This variable tells wrapper scripts just to set variables rather | |||
# than running their programs. | # than running their programs. | |||
libtool_install_magic="$magic" | libtool_install_magic="$magic" | |||
for arg | for arg | |||
do | do | |||
case $arg in | case $arg in | |||
-f) 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 | |||
test -z "$RM" && \ | test -z "$RM" && \ | |||
func_fatal_help "you must specify an RM program" | func_fatal_help "you must specify an RM program" | |||
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 duplicate | # Remember odir for removal later, being careful to avoid duplicates | |||
s | if test "$opt_mode" = clean; then | |||
if test "$mode" = clean; then | ||||
case " $rmdirs " in | case " $rmdirs " in | |||
*" $objdir "*) ;; | *" $odir "*) ;; | |||
*) rmdirs="$rmdirs $objdir" ;; | *) func_append rmdirs " $odir" ;; | |||
esac | esac | |||
fi | fi | |||
# Don't error if the file doesn't exist and rm -f was used. | # Don't error if the file doesn't exist and rm -f was used. | |||
if { test -L "$file"; } >/dev/null 2>&1 || | if { test -L "$file"; } >/dev/null 2>&1 || | |||
{ test -h "$file"; } >/dev/null 2>&1 || | { test -h "$file"; } >/dev/null 2>&1 || | |||
test -f "$file"; then | test -f "$file"; then | |||
: | : | |||
elif test -d "$file"; then | elif test -d "$file"; then | |||
exit_status=1 | exit_status=1 | |||
skipping to change at line 8555 | skipping to change at line 9410 | |||
rmfiles="$file" | rmfiles="$file" | |||
case $name in | case $name in | |||
*.la) | *.la) | |||
# Possibly a libtool archive, so verify it. | # Possibly a libtool archive, so verify it. | |||
if func_lalib_p "$file"; then | if func_lalib_p "$file"; then | |||
func_source $dir/$name | func_source $dir/$name | |||
# 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/${n ame}i" | test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${n ame}i" | |||
;; | ;; | |||
uninstall) | uninstall) | |||
if test -n "$library_names"; then | if test -n "$library_names"; then | |||
# Do each command in the postuninstall commands. | # Do each command in the postuninstall commands. | |||
func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' | func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' | |||
fi | fi | |||
if test -n "$old_library"; then | if test -n "$old_library"; then | |||
# Do each command in the old_postuninstall commands. | # Do each command in the old_postuninstall commands. | |||
func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' | func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' | |||
skipping to change at line 8594 | skipping to change at line 9448 | |||
*.lo) | *.lo) | |||
# Possibly a libtool object, so verify it. | # Possibly a libtool object, so verify it. | |||
if func_lalib_p "$file"; then | if func_lalib_p "$file"; then | |||
# Read the .lo file | # Read the .lo file | |||
func_source $dir/$name | func_source $dir/$name | |||
# Add PIC object to the list of files to remove. | # Add PIC object to the list of files to remove. | |||
if test -n "$pic_object" && | if test -n "$pic_object" && | |||
test "$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) | |||
func_stripname '' '.exe' "$file" | func_stripname '' '.exe' "$file" | |||
file=$func_stripname_result | file=$func_stripname_result | |||
func_stripname '' '.exe' "$name" | func_stripname '' '.exe' "$name" | |||
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. | |||
if func_ltwrapper_p "$file"; then | if func_ltwrapper_p "$file"; then | |||
if func_ltwrapper_executable_p "$file"; then | if func_ltwrapper_executable_p "$file"; then | |||
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 | |||
fi | fi | |||
# 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 | |||
;; | ;; | |||
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 file s | # Try to remove the ${objdir}s in the directories where we deleted file s | |||
for dir in $rmdirs; do | for dir in $rmdirs; do | |||
if test -d "$dir"; then | if test -d "$dir"; then | |||
func_show_eval "rmdir $dir >/dev/null 2>&1" | func_show_eval "rmdir $dir >/dev/null 2>&1" | |||
fi | fi | |||
done | done | |||
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" | |||
exit $EXIT_FAILURE | exit $EXIT_FAILURE | |||
fi | fi | |||
exit $exit_status | exit $exit_status | |||
# The TAGs below are defined such that we never get into a situation | # The TAGs below are defined such that we never get into a situation | |||
# in which we disable both kinds of libraries. Given conflicting | # in which we disable both kinds of libraries. Given conflicting | |||
End of changes. 348 change blocks. | ||||
788 lines changed or deleted | 1714 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |