📄 ltmain.sh
字号:
# Generated from ltmain.m4sh; do not edit by hand# ltmain.sh (GNU libtool 1.2237 2005/12/21 11:40:47) 2.1a# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.# This is free software; see the source for copying conditions. There is NO# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU# General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.## As a special exception to the GNU General Public License, if you# distribute this file as part of a program that contains a# configuration script generated by Autoconf, you may include it under# the same distribution terms that you use for the rest of that program.# Usage: $progname [OPTION]... [MODE-ARG]...## Provide generalized library-building support services.## --config show all configuration variables# --debug enable verbose shell tracing# -n, --dry-run display commands without modifying any files# --features display basic configuration information and exit# --mode=MODE use operation mode MODE# --preserve-dup-deps don't remove duplicate dependency libraries# --quiet, --silent don't print informational messages# --tag=TAG use configuration variables from tag TAG# -v, --verbose print informational messages (default)# --version print version information# -h, --help print short or long help message## MODE must be one of the following:## clean remove files from the build directory# compile compile a source file into a libtool object# execute automatically set library path, then run a program# finish complete the installation of libtool libraries# install install libraries or executables# link create a library or an executable# uninstall remove libraries from an installed directory## MODE-ARGS vary depending on the MODE.# Try `$progname --help --mode=MODE' for a more detailed description of MODE.## When reporting a bug, please describe a test case to reproduce it and# include the following information:## host-triplet: i486-pc-linux-gnu# shell: $SHELL# compiler: $LTCC# compiler flags: $LTCFLAGS# linker: $LD (gnu? $with_gnu_ld)# $progname: (GNU libtool 1.2237 2005/12/21 11:40:47) 2.1a# automake: $automake_version# autoconf: $autoconf_version## Report bugs to <bug-libtool@gnu.org>.PROGRAM=ltmain.shPACKAGE=libtoolVERSION="2.1a Debian 1.9+20051221-1"TIMESTAMP=" 1.2237 2005/12/21 11:40:47"package_revision=1.2237## --------------------- #### M4sh Initialization. #### --------------------- ### Be Bourne compatibleif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"'elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posixfiDUALCASE=1; export DUALCASE # for MKS sh# Support unset when possible.if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unsetelse as_unset=falsefi# Work around bugs in pre-3.0 UWIN ksh.$as_unset ENV MAIL MAILPATHPS1='$ 'PS2='> 'PS4='+ '# NLS nuisances.for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIMEdo if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fidone# Required to use basename.if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=exprelse as_expr=falsefiif (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basenameelse as_basename=falsefi# Name of the executable.as_me=`$as_basename "$0" ||$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null ||echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'`$as_unset CDPATH: ${CP="cp -f"}: ${ECHO="echo"}: ${EGREP="grep -E"}: ${FGREP="grep -F"}: ${GREP="grep"}: ${LN_S="ln -s"}: ${MAKE="make"}: ${MKDIR="mkdir"}: ${MV="mv -f"}: ${RM="rm -f"}: ${SED="/bin/sed"}: ${SHELL="${CONFIG_SHELL-/bin/sh}"}: ${Xsed="$SED -e 1s/^X//"}# Global variables:EXIT_SUCCESS=0EXIT_FAILURE=1EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.exit_status=$EXIT_SUCCESS# Make sure IFS has a sensible defaultlt_nl=''IFS=" $lt_nl"dirname="s,/[^/]*$,,"basename="s,^.*/,,"# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh# is ksh but when the shell is invoked as "sh" and the current value of# the _XPG environment variable is not equal to 1 (one), the special# positional parameter $0, within a function call, is the name of the# function.progpath="$0"# The name of this program:# In the unlikely event $progname began with a '-', it would play havoc with# func_echo (imagine progname=-n), so we prepend ./ in that case:progname=`$ECHO "X$progpath" | $Xsed -e "$basename" -e 's,^-,./-,'`# Make sure we have an absolute path for reexecution:case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "X$progpath" | $Xsed -e "$dirname"` progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;;esac# Sed substitution that helps us do robust quoting. It backslashifies# metacharacters that are still active within double-quoted strings.Xsed="${SED}"' -e 1s/^X//'sed_quote_subst='s/\([`"$\\]\)/\\\1/g'# Same as above, but do not quote variable references.double_quote_subst='s/\(["`\\]\)/\\\1/g'# Re-`\' parameter expansions in output of double_quote_subst that were# `\'-ed in input to the same. If an odd number of `\' preceded a '$'# in input to double_quote_subst, that '$' was protected from expansion.# Since each input `\' is now two `\'s, look for any number of runs of# four `\'s followed by two `\'s and then a '$'. `\' that '$'. Note# that the embedded single quotes serve only to enhance readability.sed_double_backslash='s/^\(\(''\\\\''\\\\''\)*''\\\\''\)\$/\1\\$/; s/\([^\\]\(''\\\\''\\\\''\)*''\\\\''\)\$/\1\\$/g'# test EBCDIC or ASCIIcase `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr SP2NL='tr \040 \012' NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system SP2NL='tr \100 \n' NL2SP='tr \r\n \100\100' ;;esac# Standard options:opt_dry_run=falseopt_help=falseopt_quiet=falseopt_verbose=false# func_echo arg...# Echo program name prefixed message, along with the current mode# name if it has been set yet.func_echo (){ $ECHO "$progname${mode+: }$mode: "${1+"$@"}}# func_verbose arg...# Echo program name prefixed message in verbose mode only.func_verbose (){ $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: :}# func_error arg...# Echo program name prefixed message to standard error.func_error (){ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2}# func_warning arg...# Echo program name prefixed warning message to standard error.func_warning (){ $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2}# func_fatal_error arg...# Echo program name prefixed message to standard error, and exit.func_fatal_error (){ func_error ${1+"$@"} exit $EXIT_FAILURE}# func_fatal_help arg...# Echo program name prefixed message to standard error, followed by# a help hint, and exit.func_fatal_help (){ func_error ${1+"$@"} func_fatal_error "$help"}help="Try \`$progname --help' for more information." ## default# func_grep expression filename# Check whether EXPRESSION matches any line of FILENAME, without output.func_grep (){ $GREP "$1" "$2" >/dev/null 2>&1}# func_mkdir_p directory-path# Make sure the entire path to DIRECTORY-PATH is available.func_mkdir_p (){ my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi}# func_mktempdir [string]# Make a temporary directory that won't clash with other running# libtool processes, and avoids race conditions if possible. If# given, STRING is the basename for that directory.func_mktempdir (){ my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed}# func_quote_for_eval arg# Aesthetically quote ARG to be evaled later.# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT# is double-quoted, suitable for a subsequent eval, whereas# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters# which are still active within double quotes backslashified.func_quote_for_eval (){ case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac}# func_quote_for_expand arg# Aesthetically quote ARG to be evaled later; same as above,# but do not quote variable references.func_quote_for_expand (){ case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg"}# func_show_eval cmd [fail_exp]# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP# is given, then evaluate it.func_show_eval (){ my_cmd="$1" my_fail_exp="${2-:}"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -