?? ltconfig
字號:
#! /bin/sh# ltconfig - Create a system-specific libtool.# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001# Free Software Foundation, Inc.# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996## This file 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.# A lot of this script is taken from autoconf-2.10.# Check that we are running under the correct shell.SHELL=${CONFIG_SHELL-/bin/sh}echo=echoif test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shiftelif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over :elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then # Yippee, $echo works! :else # Restart under the correct shell. exec "$SHELL" "$0" --no-reexec ${1+"$@"}fiif test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF$*EOF exit 0fi# Find the correct PATH separator. Usually this is `:', but# DJGPP uses `;' like DOS.if test "X${PATH_SEPARATOR+set}" != Xset; then UNAME=${UNAME-`uname 2>/dev/null`} case X$UNAME in *-DOS) PATH_SEPARATOR=';' ;; *) PATH_SEPARATOR=':' ;; esacfi# The HP-UX ksh and POSIX shell print the target directory to stdout# if CDPATH is set.if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fiif test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string="`eval $cmd`") 2>/dev/null && echo_test_string="`eval $cmd`" && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then break fi donefiif test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then :else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH /usr/ucb; do if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running ltconfig again with it. ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec "${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}}" "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fifi# Sed substitution that helps us do robust quoting. It backslashifies# metacharacters that are still active within double-quoted strings.Xsed='sed -e s/^X//'sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'# Same as above, but do not quote variable references.double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'# Sed substitution to delay expansion of an escaped shell variable in a# double_quote_subst'ed string.delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'# The name of this program.progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`# Constants:PROGRAM=ltconfigPACKAGE=libtoolVERSION=1.4aTIMESTAMP=" (1.641.2.206mm 2001/04/03 21:47:47)"ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'rm="rm -f"help="Try \`$progname --help' for more information."# Global variables:default_ofile=libtoolcan_build_shared=yesenable_shared=yes# All known linkers require a `.a' archive for static linking (except M$VC,# which needs '.lib').enable_static=yesenable_fast_install=yesenable_dlopen=unknownenable_win32_dll=nopic_mode=defaultltmain=silent=srcdir=ac_config_guess=ac_config_sub=host=build=NONEnonopt=NONEofile="$default_ofile"verify_host=yestagname=with_gcc=nowith_gnu_ld=noneed_locks=yesac_ext=clibext=acache_file=max_cmd_len=## Dependencies to place before and after the object being linked:predep_objects=postdep_objects=predeps=postdeps=compiler_lib_search_path=## Link characteristics:allow_undefined_flag=no_undefined_flag=need_lib_prefix=unknownneed_version=unknown# when you set need_version to no, make sure it does not cause -set_version# flags to be left without argumentsarchive_cmds=archive_expsym_cmds=old_archive_from_new_cmds=old_archive_from_expsyms_cmds=striplib=old_striplib=export_dynamic_flag_spec=whole_archive_flag_spec=thread_safe_flag_spec=hardcode_into_libs=nohardcode_libdir_flag_spec=hardcode_libdir_separator=hardcode_direct=nohardcode_minus_L=nohardcode_shlibpath_var=unsupportedrunpath_var=link_all_deplibs=unknownalways_export_symbols=noexport_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'# include_expsyms should be a list of space-separated symbols to be *always*# included in the symbol listinclude_expsyms=# exclude_expsyms can be an egrep regular expression of symbols to exclude# it will be wrapped by ` (' and `)$', so one must not match beginning or# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',# as well as any symbol that contains `d'.exclude_expsyms="_GLOBAL_OFFSET_TABLE_"# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out# platforms (ab)use it in PIC code, but their linkers get confused if# the symbol is explicitly referenced. Since portable code cannot# rely on this symbol name, it's probably fine to never include it in# preloaded symbol tables.extract_expsyms_cmds=## Tools:old_AR="$AR"old_AR_FLAGS="$AR_FLAGS"old_CC="$CC"old_CFLAGS="$CFLAGS"old_CPPFLAGS="$CPPFLAGS"old_LDFLAGS="$LDFLAGS"old_LIBS="$LIBS"old_MAGIC_CMD="$MAGIC_CMD"old_LD="$LD"old_LN_S="$LN_S"old_LTCC="$LTCC"old_NM="$NM"old_RANLIB="$RANLIB"old_STRIP="$STRIP"old_AS="$AS"old_DLLTOOL="$DLLTOOL"old_OBJDUMP="$OBJDUMP"old_OBJEXT="$OBJEXT"old_EXEEXT="$EXEEXT"old_reload_flag="$reload_flag"old_deplibs_check_method="$deplibs_check_method"old_file_magic_cmd="$file_magic_cmd"# Parse the command line options.args=prev=for optiondo case $option in -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac # If the previous option needs an argument, assign it. if test -n "$prev"; then eval "$prev=\$option" prev= continue fi case $option in --help) cat <<EOMUsage: $progname [OPTION]... LTMAIN [HOST]Generate a system-specific libtool script. --build configure for building on BUILD [BUILD=HOST] --debug enable verbose shell tracing --disable-shared do not build shared libraries --disable-static do not build static libraries --disable-fast-install do not optimize for fast installation --enable-dlopen enable dlopen support --enable-win32-dll enable building dlls on win32 hosts --help display this help and exit --no-verify do not verify that HOST is a valid host type-o, --output=FILE specify the output file [default=$default_ofile] --quiet same as \`--silent' --silent do not print informational messages --srcdir=DIR find \`config.guess' in DIR --version output version information and exit --add-tag=TAG append an alternate configuration --with-gcc assume that the GNU C compiler will be used --with-gnu-ld assume that the C compiler uses the GNU linker --prefer-pic try to use only PIC objects --prefer-non-pic try to use only non-PIC objects --disable-lock disable file locking --cache-file=FILE configure cache fileLTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' programthat provides basic libtool functionality.HOST is the canonical host system name [default=guessed].EOM exit 0 ;; --build) prev=build ;; --build=*) build="$optarg" ;; --debug) echo "$progname: enabling shell trace mode" set -x ;; --disable-shared) enable_shared=no ;; --disable-static) enable_static=no ;; --disable-fast-install) enable_fast_install=no ;; --enable-dlopen) enable_dlopen=yes ;; --enable-win32-dll) enable_win32_dll=yes ;; --quiet | --silent) silent=yes ;; --srcdir) prev=srcdir ;; --srcdir=*) srcdir="$optarg" ;; --no-verify) verify_host=no ;; --output | -o) prev=ofile ;; --output=*) ofile="$optarg" ;; --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;; --add-tag) prev=tagname ;; --add-tag=*) tagname="$optarg" ;; --with-gcc) with_gcc=yes ;; --with-gnu-ld) with_gnu_ld=yes ;; --prefer-pic) pic_mode=yes ;; --prefer-non-pic) pic_mode=no ;; --disable-lock) need_locks=no ;; --cache-file=*) cache_file="$optarg" ;; -*) echo "$progname: unrecognized option \`$option'" 1>&2 echo "$help" 1>&2 exit 1 ;; *) if test -z "$ltmain"; then ltmain="$option" elif test -z "$host"; then# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then# echo "$progname: warning \`$option' is not a valid host type" 1>&2# fi host="$option" else echo "$progname: too many arguments" 1>&2 echo "$help" 1>&2 exit 1 fi ;; esacdoneif test -z "$ltmain"; then echo "$progname: you must specify a LTMAIN file" 1>&2 echo "$help" 1>&2 exit 1fiif test ! -f "$ltmain"; then echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1fiif test -n "$tagname"; then # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's/[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]//g'` in "") ;; *) echo "$progname: invalid tag name: $tagname" 1>&2
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -