⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ltmain.sh

📁 jpegsrc.v6b2000.tar.gz
💻 SH
📖 第 1 页 / 共 5 页
字号:
# ltmain.sh - Provide generalized library-building support services.# NOTE: Changing this file will not affect anything until you rerun ltconfig.## Copyright (C) 1996-1998 Free Software Foundation, Inc.# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996## 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., 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.# The name of this program.progname=`$echo "$0" | sed 's%^.*/%%'`modename="$progname"# Constants.PROGRAM=ltmain.shPACKAGE=libtoolVERSION=1.2default_mode=help="Try \`$progname --help' for more information."magic="%%%MAGIC variable%%%"mkdir="mkdir"mv="mv -f"rm="rm -f"# 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'# 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 test "$LTCONFIG_VERSION" != "$VERSION"; then  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2  exit 1fiif test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then  echo "$modename: not configured to build any kind of library" 1>&2  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2  exit 1fi# Global variables.mode=$default_modenonopt=prev=prevopt=run=show="$echo"show_help=execute_dlfiles=# Parse our command line options once, thoroughly.while test $# -gt 0do  arg="$1"  shift  case "$arg" in  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;  *) optarg= ;;  esac  # If the previous option needs an argument, assign it.  if test -n "$prev"; then    case "$prev" in    execute_dlfiles)      eval "$prev=\"\$$prev \$arg\""      ;;    *)      eval "$prev=\$arg"      ;;    esac    prev=    prevopt=    continue  fi  # Have we seen a non-optional argument yet?  case "$arg" in  --help)    show_help=yes    ;;  --version)    echo "$PROGRAM (GNU $PACKAGE) $VERSION"    exit 0    ;;  --dry-run | -n)    run=:    ;;  --features)    echo "host: $host"    if test "$build_libtool_libs" = yes; then      echo "enable shared libraries"    else      echo "disable shared libraries"    fi    if test "$build_old_libs" = yes; then      echo "enable static libraries"    else      echo "disable static libraries"    fi    exit 0    ;;  --finish) mode="finish" ;;  --mode) prevopt="--mode" prev=mode ;;  --mode=*) mode="$optarg" ;;  --quiet | --silent)    show=:    ;;  -dlopen)    prevopt="-dlopen"    prev=execute_dlfiles    ;;  -*)    $echo "$modename: unrecognized option \`$arg'" 1>&2    $echo "$help" 1>&2    exit 1    ;;  *)    nonopt="$arg"    break    ;;  esacdoneif test -n "$prevopt"; then  $echo "$modename: option \`$prevopt' requires an argument" 1>&2  $echo "$help" 1>&2  exit 1fiif test -z "$show_help"; then  # Infer the operation mode.  if test -z "$mode"; then    case "$nonopt" in    *cc | *++ | gcc* | *-gcc*)      mode=link      for arg      do        case "$arg" in        -c)           mode=compile           break           ;;        esac      done      ;;    *db | *dbx)      mode=execute      ;;    *install*|cp|mv)      mode=install      ;;    *rm)      mode=uninstall      ;;    *)      # If we have no mode, but dlfiles were specified, then do execute mode.      test -n "$execute_dlfiles" && mode=execute      # Just use the default operation mode.      if test -z "$mode"; then        if test -n "$nonopt"; then          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2        else          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2        fi      fi      ;;    esac  fi  # Only execute mode is allowed to have -dlopen flags.  if test -n "$execute_dlfiles" && test "$mode" != execute; then    $echo "$modename: unrecognized option \`-dlopen'" 1>&2    $echo "$help" 1>&2    exit 1  fi  # Change the help message to a mode-specific one.  generic_help="$help"  help="Try \`$modename --help --mode=$mode' for more information."  # These modes are in order of execution frequency so that they run quickly.  case "$mode" in  # libtool compile mode  compile)    modename="$modename: compile"    # Get the compilation command and the source file.    base_compile=    lastarg=    srcfile="$nonopt"    suppress_output=    for arg    do      # Accept any command-line options.      case "$arg" in      -o)	$echo "$modename: you cannot specify the output filename with \`-o'" 1>&2	$echo "$help" 1>&2	exit 1	;;      -static)	build_libtool_libs=no	build_old_libs=yes	continue	;;      esac      # Accept the current argument as the source file.      lastarg="$srcfile"      srcfile="$arg"      # Aesthetically quote the previous argument.      # Backslashify any backslashes, double quotes, and dollar signs.      # These are the only characters that are still specially      # interpreted inside of double-quoted scrings.      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`      # Double-quote args containing other shell metacharacters.      # Many Bourne shells cannot handle close brackets correctly in scan      # sets, so we specify it separately.      case "$lastarg" in      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)	lastarg="\"$lastarg\""	;;      esac      # Add the previous argument to base_compile.      if test -z "$base_compile"; then	base_compile="$lastarg"      else	base_compile="$base_compile $lastarg"      fi    done    # Get the name of the library object.    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`    # Recognize several different file suffixes.    xform='[cCFSfms]'    case "$libobj" in    *.ada) xform=ada ;;    *.adb) xform=adb ;;    *.ads) xform=ads ;;    *.asm) xform=asm ;;    *.c++) xform=c++ ;;    *.cc) xform=cc ;;    *.cpp) xform=cpp ;;    *.cxx) xform=cxx ;;    *.f90) xform=f90 ;;    *.for) xform=for ;;    esac    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`    case "$libobj" in    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;    *)      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2      exit 1      ;;    esac    if test -z "$base_compile"; then      $echo "$modename: you must specify a compilation command" 1>&2      $echo "$help" 1>&2      exit 1    fi    # Delete any leftover library objects.    if test "$build_old_libs" = yes; then      $run $rm $obj $libobj      trap "$run $rm $obj $libobj; exit 1" 1 2 15    else      $run $rm $libobj      trap "$run $rm $libobj; exit 1" 1 2 15    fi    # Only build a PIC object if we are building libtool libraries.    if test "$build_libtool_libs" = yes; then      # Without this assignment, base_compile gets emptied.      fbsd_hideous_sh_bug=$base_compile      # All platforms use -DPIC, to notify preprocessed assembler code.      $show "$base_compile$pic_flag -DPIC $srcfile"      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :      else        test -n "$obj" && $run $rm $obj        exit 1      fi      # If we have no pic_flag, then copy the object into place and finish.      if test -z "$pic_flag"; then        $show "$LN_S $obj $libobj"        $run $LN_S $obj $libobj        exit $?      fi      # Just move the object, then go on to compile the next one      $show "$mv $obj $libobj"      $run $mv $obj $libobj || exit 1      # Allow error messages only from the first compilation.      suppress_output=' >/dev/null 2>&1'    fi    # Only build a position-dependent object if we build old libraries.    if test "$build_old_libs" = yes; then      # Suppress compiler output if we already did a PIC compilation.      $show "$base_compile $srcfile$suppress_output"      if $run eval "$base_compile \$srcfile$suppress_output"; then :      else        $run $rm $obj $libobj        exit 1      fi    fi    # Create an invalid libtool object if no PIC, so that we do not    # accidentally link it into a program.    if test "$build_libtool_libs" != yes; then      $show "echo timestamp > $libobj"      $run eval "echo timestamp > \$libobj" || exit $?    fi    exit 0    ;;  # libtool link mode  link)    modename="$modename: link"    CC="$nonopt"    allow_undefined=yes    compile_command="$CC"    finalize_command="$CC"    compile_shlibpath=    finalize_shlibpath=    deplibs=    dlfiles=    dlprefiles=    export_dynamic=no    hardcode_libdirs=    libobjs=    link_against_libtool_libs=    ltlibs=    objs=    prev=    prevarg=    release=    rpath=    perm_rpath=    temp_rpath=    vinfo=    # We need to know -static, to get the right output filenames.    for arg    do      case "$arg" in      -all-static | -static)        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2        fi        build_libtool_libs=no	build_old_libs=yes        break        ;;      esac    done    # See if our shared archives depend on static archives.    test -n "$old_archive_from_new_cmds" && build_old_libs=yes    # Go through the arguments, transforming them on the way.    for arg    do      # If the previous option needs an argument, assign it.      if test -n "$prev"; then        case "$prev" in        output)          compile_command="$compile_command @OUTPUT@"          finalize_command="$finalize_command @OUTPUT@"          ;;        esac        case "$prev" in        dlfiles|dlprefiles)          case "$arg" in          *.la | *.lo) ;;  # We handle these cases below.          *)            dlprefiles="$dlprefiles $arg"            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"            prev=            ;;          esac          ;;	release)	  release="-$arg"	  prev=	  continue	  ;;        rpath)          rpath="$rpath $arg"	  prev=	  continue	  ;;        *)          eval "$prev=\"\$arg\""          prev=          continue          ;;        esac      fi      prevarg="$arg"      case "$arg" in      -all-static)	if test -n "$link_static_flag"; then          compile_command="$compile_command $link_static_flag"	  finalize_command="$finalize_command $link_static_flag"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -