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

📄 libtool

📁 一个GNU的开源软件,基于linux下X-Window的flash播放器,工作稳定,方便移植和修改
💻
📖 第 1 页 / 共 5 页
字号:
func_win32_libid () {  win32_libid_type="unknown"  win32_fileres=`file -L $1 2>/dev/null`  case $win32_fileres in  *ar\ archive\ import\ library*) # definitely import    win32_libid_type="x86 archive import"    ;;  *ar\ archive*) # could be an import, or static    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then      win32_nmres=`eval $NM -f posix -A $1 | \	sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`      if test "X$win32_nmres" = "Ximport" ; then        win32_libid_type="x86 archive import"      else        win32_libid_type="x86 archive static"      fi    fi    ;;  *DLL*)    win32_libid_type="x86 DLL"    ;;  *executable*) # but shell scripts are "executable" too...    case $win32_fileres in    *MS\ Windows\ PE\ Intel*)      win32_libid_type="x86 DLL"      ;;    esac    ;;  esac  $echo $win32_libid_type}# func_infer_tag arg# Infer tagged configuration to use if any are available and# if one wasn't chosen via the "--tag" command line option.# Only attempt this if the compiler in the base compile# command doesn't match the default compiler.# arg is usually of the form 'gcc ...'func_infer_tag () {    if test -n "$available_tags" && test -z "$tagname"; then      CC_quoted=      for arg in $CC; do	case $arg in	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	  arg="\"$arg\""	  ;;	esac	CC_quoted="$CC_quoted $arg"      done      case $@ in      # Blanks in the command may have been stripped by the calling shell,      # but not from the CC environment variable when configure was run.      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;      # Blanks at the start of $base_compile will cause this to fail      # if we don't check for them as well.      *)	for z in $available_tags; do	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then	    # Evaluate the configuration.	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"	    CC_quoted=	    for arg in $CC; do	    # Double-quote args containing other shell metacharacters.	    case $arg in	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	      arg="\"$arg\""	      ;;	    esac	    CC_quoted="$CC_quoted $arg"	  done	    case "$@ " in	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)	      # The compiler in the base compile command matches	      # the one in the tagged configuration.	      # Assume this is the tagged configuration we want.	      tagname=$z	      break	      ;;	    esac	  fi	done	# If $tagname still isn't set, then no tagged configuration	# was found and let the user know that the "--tag" command	# line option must be used.	if test -z "$tagname"; then	  $echo "$modename: unable to infer tagged configuration"	  $echo "$modename: specify a tag with \`--tag'" 1>&2	  exit $EXIT_FAILURE#        else#          $echo "$modename: using $tagname tagged configuration"	fi	;;      esac    fi}# func_extract_archives gentop oldlib ...func_extract_archives () {    my_gentop="$1"; shift    my_oldlibs=${1+"$@"}    my_oldobjs=""    my_xlib=""    my_xabs=""    my_xdir=""    my_status=""    $show "${rm}r $my_gentop"    $run ${rm}r "$my_gentop"    $show "$mkdir $my_gentop"    $run $mkdir "$my_gentop"    my_status=$?    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then      exit $my_status    fi    for my_xlib in $my_oldlibs; do      # Extract the objects.      case $my_xlib in	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;	*) my_xabs=`pwd`"/$my_xlib" ;;      esac      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`      my_xdir="$my_gentop/$my_xlib"      $show "${rm}r $my_xdir"      $run ${rm}r "$my_xdir"      $show "$mkdir $my_xdir"      $run $mkdir "$my_xdir"      status=$?      if test "$status" -ne 0 && test ! -d "$my_xdir"; then	exit $status      fi      case $host in      *-darwin*)	$show "Extracting $my_xabs"	# Do not bother doing anything if just a dry run	if test -z "$run"; then	  darwin_orig_dir=`pwd`	  cd $my_xdir || exit $?	  darwin_archive=$my_xabs	  darwin_curdir=`pwd`	  darwin_base_archive=`basename $darwin_archive`	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`	  if test -n "$darwin_arches"; then 	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`	    darwin_arch=	    $show "$darwin_base_archive has multiple architectures $darwin_arches"	    for darwin_arch in  $darwin_arches ; do	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"	      # Remove the table of contents from the thin files.	      $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF 2>/dev/null || true	      $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF\ SORTED 2>/dev/null || true	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"	      $AR -xo "${darwin_base_archive}"	      rm "${darwin_base_archive}"	      cd "$darwin_curdir"	    done # $darwin_arches      ## Okay now we have a bunch of thin objects, gotta fatten them up :)	    darwin_filelist=`find unfat-$$ -type f | xargs basename | sort -u | $NL2SP`	    darwin_file=	    darwin_files=	    for darwin_file in $darwin_filelist; do	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`	      lipo -create -output "$darwin_file" $darwin_files	    done # $darwin_filelist	    rm -rf unfat-$$	    cd "$darwin_orig_dir"	  else	    cd $darwin_orig_dir	    (cd $my_xdir && $AR x $my_xabs) || exit $?	  fi # $darwin_arches	fi # $run      ;;      *)	# We will extract separately just the conflicting names and we will	# no longer touch any unique names. It is faster to leave these	# extract automatically by $AR in one run.	$show "(cd $my_xdir && $AR x $my_xabs)"	$run eval "(cd \$my_xdir && $AR x \$my_xabs)" || exit $?	if ($AR t "$my_xabs" | sort | sort -uc >/dev/null 2>&1); then	  :	else	  $echo "$modename: warning: object name conflicts; renaming object files" 1>&2	  $echo "$modename: warning: to ensure that they will not overwrite" 1>&2	  $AR t "$my_xabs" | sort | uniq -cd | while read -r count name	  do	    i=1	    while test "$i" -le "$count"	    do	      # Put our $i before any first dot (extension)	      # Never overwrite any file	      name_to="$name"	      while test "X$name_to" = "X$name" || test -f "$my_xdir/$name_to"	      do		name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`	      done	      $show "(cd $my_xdir && $AR xN $i $my_xabs '$name' && $mv '$name' '$name_to')"	      $run eval "(cd \$my_xdir && $AR xN $i \$my_xabs '$name' && $mv '$name' '$name_to')" || exit $?	      i=`expr $i + 1`	    done	  done	fi	;;      esac      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`    done    func_extract_archives_result="$my_oldobjs"}# End of Shell function definitions###################################### Darwin suckseval std_shrext=\"$shrext_cmds\"# 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)      execute_dlfiles="$execute_dlfiles $arg"      ;;    tag)      tagname="$arg"      preserve_args="${preserve_args}=$arg"      # Check whether tagname contains only valid characters      case $tagname in      *[!-_A-Za-z0-9,/]*)	$echo "$progname: invalid tag name: $tagname" 1>&2	exit $EXIT_FAILURE	;;      esac      case $tagname in      CC)	# Don't test for the "default" C tag, as we know, it's there, but	# not specially marked.	;;      *)	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then	  taglist="$taglist $tagname"	  # Evaluate the configuration.	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"	else	  $echo "$progname: ignoring unknown tag $tagname" 1>&2	fi	;;      esac      ;;    *)      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$TIMESTAMP"    $echo    $echo "Copyright (C) 2003  Free Software Foundation, Inc."    $echo "This is free software; see the source for copying conditions.  There is NO"    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."    exit $EXIT_SUCCESS    ;;  --config)    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath    # Now print the configurations for the tags.    for tagname in $taglist; do      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"    done    exit $EXIT_SUCCESS    ;;  --debug)    $echo "$progname: enabling shell trace mode"    set -x    preserve_args="$preserve_args $arg"    ;;  --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 $EXIT_SUCCESS    ;;  --finish) mode="finish" ;;  --mode) prevopt="--mode" prev=mode ;;  --mode=*) mode="$optarg" ;;  --preserve-dup-deps) duplicate_deps="yes" ;;  --quiet | --silent)    show=:    preserve_args="$preserve_args $arg"    ;;  --tag) prevopt="--tag" prev=tag ;;  --tag=*)    set tag "$optarg" ${1+"$@"}    shift    prev=tag    preserve_args="$preserve_args --tag"    ;;  -dlopen)    prevopt="-dlopen"    prev=execute_dlfiles    ;;  -*)    $echo "$modename: unrecognized option \`$arg'" 1>&2    $echo "$help" 1>&2    exit $EXIT_FAILURE    ;;  *)    nonopt="$arg"    break    ;;  esacdoneif test -n "$prevopt"; then  $echo "$modename: option \`$prevopt' requires an argument" 1>&2  $echo "$help" 1>&2  exit $EXIT_FAILUREfi# 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# left over by shells.exec_cmd=if test -z "$show_help"; then  # Infer the operation mode.  if test -z "$mode"; then    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2    $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2    case $nonopt in    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)      mode=link      for arg      do	case $arg in	-c)	   mode=compile	   break	   ;;	esac      done      ;;    *db | *dbx | *strace | *truss)      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 $EXIT_FAILURE  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=    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"    suppress_opt=yes    suppress_output=    arg_mode=normal    libobj=    later=    for arg    do      case "$arg_mode" in      arg  )	# do not "continue".  Instead, add this to base_compile	lastarg="$arg"	arg_mode=normal	;;      target )	libobj="$arg"	arg_mode=normal	continue	;;      normal )	# Accept any command-line options.	case $arg in	-o)	  if test -n "$libobj" ; then	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2	    exit $EXIT_FAILURE	  fi	  arg_mode=target	  continue	  ;;	-static | -prefer-pic | -prefer-non-pic)	  later="$later $arg"	  continue	  ;;	-no-suppress)	  suppress_opt=no	  continue	  ;;	-Xcompiler)	  arg_mode=arg  #  the next one goes into the "base_compile" arg list	  continue      #  The current "srcfile" will either be retained or	  ;;            #  replaced later.  I would guess that would be a bug.	-Wc,*)	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`	  lastarg=	  save_ifs="$IFS"; IFS=',' 	  for arg in $args; do

⌨️ 快捷键说明

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