📄 ltconfig
字号:
#! /bin/sh# ltconfig - Create a system-specific libtool.# Copyright (C) 1996-1998 Free Software Foundation, Inc.# 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.# The HP-UX ksh and POSIX shell print the target directory to stdout# if CDPATH is set.if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fiecho=echoif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :else # The Solaris and AIX default echo program unquotes backslashes. # This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # So, we emulate echo with printf '%s\n' echo="printf %s\\n" if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : else # Oops. We have no working printf. Try to find a not-so-buggy echo. echo=echo IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" for dir in $PATH /usr/ucb; do if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then echo="$dir/echo" break fi done IFS="$save_ifs" 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'# The name of this program.progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`# Constants:PROGRAM=ltconfigPACKAGE=libtoolVERSION=1.2ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'rm="rm -f"help="Try \`$progname --help' for more information."# Global variables:can_build_shared=yesenable_shared=yes# All known linkers require a `.a' archive for static linking.enable_static=yesltmain=silent=srcdir=ac_config_guess=ac_config_sub=host=nonopt=verify_host=yeswith_gcc=nowith_gnu_ld=noold_AR="$AR"old_CC="$CC"old_CFLAGS="$CFLAGS"old_CPPFLAGS="$CPPFLAGS"old_LD="$LD"old_LN_S="$LN_S"old_NM="$NM"old_RANLIB="$RANLIB"# 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. --disable-shared do not build shared libraries --disable-static do not build static libraries --help display this help and exit --no-verify do not verify that HOST is a valid host type --quiet same as \`--silent' --silent do not print informational messages --srcdir=DIR find \`config.guess' in DIR --version output version information and exit --with-gcc assume that the GNU C compiler will be used --with-gnu-ld assume that the C compiler uses the GNU linkerLTMAIN is the \`ltmain.sh' shell script fragment that provides basic libtoolfunctionality.HOST is the canonical host system name [default=guessed].EOM exit 0 ;; --disable-shared) enable_shared=no ;; --disable-static) enable_static=no ;; --quiet | --silent) silent=yes ;; --srcdir) prev=srcdir ;; --srcdir=*) srcdir="$optarg" ;; --no-verify) verify_host=no ;; --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;; --with-gcc) with_gcc=yes ;; --with-gnu-ld) with_gnu_ld=yes ;; -*) 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 :else echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1fi# Quote any args containing shell metacharacters.ltconfig_args=for argdo case "$arg" in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ltconfig_args="$ltconfig_args '$arg'" ;; *) ltconfig_args="$ltconfig_args $arg" ;; esacdone# A relevant subset of AC_INIT.# File descriptor usage:# 0 standard input# 1 file creation# 2 errors and warnings# 3 some systems may open it to /dev/tty# 4 used on the Kubota Titan# 5 compiler messages saved in config.log# 6 checking for... messages and resultsif test "$silent" = yes; then exec 6>/dev/nullelse exec 6>&1fiexec 5>>./config.log# NLS nuisances.# Only set LANG and LC_ALL to C if already set.# These must not be set unconditionally because not all systems understand# e.g. LANG=C (notably SCO).if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fiif test "${LANG+set}" = set; then LANG=C; export LANG; fiif (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c='' ac_t=' ' else ac_n=-n ac_c= ac_t= fielse ac_n= ac_c='\c' ac_t=fiif test -z "$srcdir"; then # Assume the source directory is the same one as the path to ltmain.sh. srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'` test "$srcdir" = "$ltmain" && srcdir=.fitrap "$rm conftest*; exit 1" 1 2 15if test "$verify_host" = yes; then # Check for config.guess and config.sub. ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/config.guess; then ac_aux_dir=$ac_dir break fi done if test -z "$ac_aux_dir"; then echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 echo "$help" 1>&2 exit 1 fi ac_config_guess=$ac_aux_dir/config.guess ac_config_sub=$ac_aux_dir/config.sub # Make sure we can run config.sub. if $ac_config_sub sun4 >/dev/null 2>&1; then : else echo "$progname: cannot run $ac_config_sub" 1>&2 echo "$help" 1>&2 exit 1 fi echo $ac_n "checking host system type""... $ac_c" 1>&6 host_alias=$host case "$host_alias" in "") if host_alias=`$ac_config_guess`; then : else echo "$progname: cannot guess host type; you must specify one" 1>&2 echo "$help" 1>&2 exit 1 fi ;; esac host=`$ac_config_sub $host_alias` echo "$ac_t$host" 1>&6 # Make sure the host verified. test -z "$host" && exit 1elif test -z "$host"; then echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 echo "$help" 1>&2 exit 1else host_alias=$hostfi# Transform linux* to *-*-linux-gnu*, to support old configure scripts.case "$host_os" inlinux-gnu*) ;;linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`esachost_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`case "$host_os" inaix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "${COLLECT_NAMES+set}" != set; then COLLECT_NAMES= export COLLECT_NAMES fi ;;esac# Determine commands to create old-style static archives.old_archive_cmds='$AR cru $oldlib$oldobjs'old_postinstall_cmds='chmod 644 $oldlib'old_postuninstall_cmds=# Set a sane default for `AR'.test -z "$AR" && AR=ar# If RANLIB is not set, then run the test.if test "${RANLIB+set}" != "set"; then result=no echo $ac_n "checking for ranlib... $ac_c" 1>&6 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/ranlib; then RANLIB="ranlib" result="ranlib" break fi done IFS="$save_ifs" echo "$ac_t$result" 1>&6fiif test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"fi# Check to see if we are using GCC.if test "$with_gcc" != yes || test -z "$CC"; then # If CC is not set, then try to find GCC or a usable CC. if test -z "$CC"; then echo $ac_n "checking for gcc... $ac_c" 1>&6 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do IFS="$save_ifs" test -z "$dir" && dir=. if test -f $dir/gcc; then CC="gcc" break fi done IFS="$save_ifs" if test -n "$CC"; then echo "$ac_t$CC" 1>&6 else echo "$ac_t"no 1>&6 fi fi # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". if test -z "$CC"; then echo $ac_n "checking for cc... $ac_c" 1>&6 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" cc_rejected=no for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/cc; then if test "$dir/cc" = "/usr/ucb/cc"; then cc_rejected=yes continue fi CC="cc" break fi done IFS="$save_ifs" if test $cc_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $CC shift if test $# -gt 0; then # We chose a different compiler from the bogus one. # However, it has the same name, so the bogon will be chosen # first if we set CC to just the name; use the full file name. shift set dummy "$dir/cc" "$@" shift CC="$@" fi fi if test -n "$CC"; then echo "$ac_t$CC" 1>&6 else echo "$ac_t"no 1>&6 fi if test -z "$CC"; then echo "$progname: error: no acceptable cc found in \$PATH" 1>&2 exit 1 fi fi # Now see if the compiler is really GCC. with_gcc=no echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 echo "$progname:424: checking whether we are using GNU C" >&5 $rm conftest.c cat > conftest.c <<EOF#ifdef __GNUC__ yes;#endifEOF if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c echo "$ac_t$with_gcc" 1>&6fi# Allow CC to be a program name with arguments.set dummy $CCcompiler="$2"echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6pic_flag=special_shlib_compile_flags=wl=link_static_flag=no_builtin_flag=if test "$with_gcc" = yes; then wl='-Wl,' link_static_flag='-static' no_builtin_flag=' -fno-builtin' case "$host_os" in aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) # PIC is the default for these OSes. ;; os2*) # We can build DLLs from non-PIC. ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. pic_flag='-m68020 -resident32 -malways-restore-a4' ;; *) pic_flag='-fPIC' ;; esacelse # PORTME Check for PIC flags for the system compiler. case "$host_os" in aix3* | aix4*) # All AIX code is PIC. link_static_flag='-bnso -bI:/lib/syscalls.exp' ;; hpux9* | hpux10*) # Is there a better link_static_flag that works with the bundled CC? wl='-Wl,' link_static_flag="${wl}-a ${wl}archive" pic_flag='+Z' ;; irix5* | irix6*) wl='-Wl,' link_static_flag='-non_shared' # PIC (with -KPIC) is the default. ;; os2*) # We can build DLLs from non-PIC. ;; osf3* | osf4*) # All OSF/1 code is PIC. wl='-Wl,' link_static_flag='-non_shared' ;; sco3.2v5*) pic_flag='-Kpic' link_static_flag='-dn'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -