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

📄 ltmain.sh

📁 最新的libusb库
💻 SH
📖 第 1 页 / 共 5 页
字号:
	exec 0<&5 5<&-    fi    test "$lalib_p" = yes}# func_ltwrapper_script_p file# True iff FILE is a libtool wrapper script# This function is only a basic sanity check; it will hardly flush out# determined imposters.func_ltwrapper_script_p (){    func_lalib_p "$1"}# func_ltwrapper_executable_p file# True iff FILE is a libtool wrapper executable# This function is only a basic sanity check; it will hardly flush out# determined imposters.func_ltwrapper_executable_p (){    func_ltwrapper_exec_suffix=    case $1 in    *.exe) ;;    *) func_ltwrapper_exec_suffix=.exe ;;    esac    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1}# func_ltwrapper_scriptname file# Assumes file is an ltwrapper_executable# uses $file to determine the appropriate filename for a# temporary ltwrapper_script.func_ltwrapper_scriptname (){    func_ltwrapper_scriptname_result=""    if func_ltwrapper_executable_p "$1"; then	func_dirname_and_basename "$1" "" "."	func_stripname '' '.exe' "$func_basename_result"	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"    fi}# func_ltwrapper_p file# True iff FILE is a libtool wrapper script or wrapper executable# This function is only a basic sanity check; it will hardly flush out# determined imposters.func_ltwrapper_p (){    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"}# func_execute_cmds commands fail_cmd# Execute tilde-delimited COMMANDS.# If FAIL_CMD is given, eval that upon failure.# FAIL_CMD may read-access the current command in variable CMD!func_execute_cmds (){    $opt_debug    save_ifs=$IFS; IFS='~'    for cmd in $1; do      IFS=$save_ifs      eval cmd=\"$cmd\"      func_show_eval "$cmd" "${2-:}"    done    IFS=$save_ifs}# func_source file# Source FILE, adding directory component if necessary.# Note that it is not necessary on cygwin/mingw to append a dot to# FILE even if both FILE and FILE.exe exist: automatic-append-.exe# behavior happens only for exec(3), not for open(2)!  Also, sourcing# `FILE.' does not work on cygwin managed mounts.func_source (){    $opt_debug    case $1 in    */* | *\\*)	. "$1" ;;    *)		. "./$1" ;;    esac}# 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 (){    $opt_debug    if test -n "$available_tags" && test -z "$tagname"; then      CC_quoted=      for arg in $CC; do        func_quote_for_eval "$arg"	CC_quoted="$CC_quoted $func_quote_for_eval_result"      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.	      func_quote_for_eval "$arg"	      CC_quoted="$CC_quoted $func_quote_for_eval_result"	    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	  func_echo "unable to infer tagged configuration"	  func_fatal_error "specify a tag with \`--tag'"#	else#	  func_verbose "using $tagname tagged configuration"	fi	;;      esac    fi}# func_write_libtool_object output_name pic_name nonpic_name# Create a libtool object file (analogous to a ".la" file),# but don't create it if we're doing a dry run.func_write_libtool_object (){    write_libobj=${1}    if test "$build_libtool_libs" = yes; then      write_lobj=\'${2}\'    else      write_lobj=none    fi    if test "$build_old_libs" = yes; then      write_oldobj=\'${3}\'    else      write_oldobj=none    fi    $opt_dry_run || {      cat >${write_libobj}T <<EOF# $write_libobj - a libtool object file# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION## Please DO NOT delete this file!# It is necessary for linking the library.# Name of the PIC object.pic_object=$write_lobj# Name of the non-PIC objectnon_pic_object=$write_oldobjEOF      $MV "${write_libobj}T" "${write_libobj}"    }}# func_mode_compile arg...func_mode_compile (){    $opt_debug    # 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=    pie_flag=    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)	  test -n "$libobj" && \	    func_fatal_error "you cannot specify \`-o' more than once"	  arg_mode=target	  continue	  ;;	-pie | -fpie | -fPIE)          pie_flag="$pie_flag $arg"	  continue	  ;;	-shared | -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,*)	  func_stripname '-Wc,' '' "$arg"	  args=$func_stripname_result	  lastarg=	  save_ifs="$IFS"; IFS=','	  for arg in $args; do	    IFS="$save_ifs"	    func_quote_for_eval "$arg"	    lastarg="$lastarg $func_quote_for_eval_result"	  done	  IFS="$save_ifs"	  func_stripname ' ' '' "$lastarg"	  lastarg=$func_stripname_result	  # Add the arguments to base_compile.	  base_compile="$base_compile $lastarg"	  continue	  ;;	*)	  # Accept the current argument as the source file.	  # The previous "srcfile" becomes the current argument.	  #	  lastarg="$srcfile"	  srcfile="$arg"	  ;;	esac  #  case $arg	;;      esac    #  case $arg_mode      # Aesthetically quote the previous argument.      func_quote_for_eval "$lastarg"      base_compile="$base_compile $func_quote_for_eval_result"    done # for arg    case $arg_mode in    arg)      func_fatal_error "you must specify an argument for -Xcompile"      ;;    target)      func_fatal_error "you must specify a target with \`-o'"      ;;    *)      # Get the name of the library object.      test -z "$libobj" && {	func_basename "$srcfile"	libobj="$func_basename_result"      }      ;;    esac    # Recognize several different file suffixes.    # If the user specifies -o file.o, it is replaced with file.lo    case $libobj in    *.[cCFSifmso] | \    *.ada | *.adb | *.ads | *.asm | \    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \    *.[fF][09]? | *.for | *.java | *.obj | *.sx)      func_xform "$libobj"      libobj=$func_xform_result      ;;    esac    case $libobj in    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;    *)      func_fatal_error "cannot determine name of library object from \`$libobj'"      ;;    esac    func_infer_tag $base_compile    for arg in $later; do      case $arg in      -shared)	test "$build_libtool_libs" != yes && \	  func_fatal_configuration "can not build a shared library"	build_old_libs=no	continue	;;      -static)	build_libtool_libs=no	build_old_libs=yes	continue	;;      -prefer-pic)	pic_mode=yes	continue	;;      -prefer-non-pic)	pic_mode=no	continue	;;      esac    done    func_quote_for_eval "$libobj"    test "X$libobj" != "X$func_quote_for_eval_result" \      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \      && func_warning "libobj name \`$libobj' may not contain shell special characters."    func_dirname_and_basename "$obj" "/" ""    objname="$func_basename_result"    xdir="$func_dirname_result"    lobj=${xdir}$objdir/$objname    test -z "$base_compile" && \      func_fatal_help "you must specify a compilation command"    # Delete any leftover library objects.    if test "$build_old_libs" = yes; then      removelist="$obj $lobj $libobj ${libobj}T"    else      removelist="$lobj $libobj ${libobj}T"    fi    # On Cygwin there's no "real" PIC flag so we must build both object types    case $host_os in    cygwin* | mingw* | pw32* | os2*)      pic_mode=default      ;;    esac    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then      # non-PIC code in shared libraries is not supported      pic_mode=default    fi    # Calculate the filename of the output object if compiler does    # not support -o with -c    if test "$compiler_c_o" = no; then      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}      lockfile="$output_obj.lock"    else      output_obj=      need_locks=no      lockfile=    fi    # Lock this critical section if it is needed    # We use this script file to make the link, it avoids creating a new file    if test "$need_locks" = yes; then      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do	func_echo "Waiting for $lockfile to be removed"	sleep 2      done    elif test "$need_locks" = warn; then      if test -f "$lockfile"; then	$ECHO "\*** ERROR, $lockfile exists and contains:`cat $lockfile 2>/dev/null`This indicates that another process is trying to use the sametemporary object file, and libtool could not work around it becauseyour compiler does not support \`-c' and \`-o' together.  If yourepeat this compilation, it may succeed, by chance, but you had betteravoid parallel builds (make -j) in this platform, or get a bettercompiler."	$opt_dry_run || $RM $removelist	exit $EXIT_FAILURE      fi      removelist="$removelist $output_obj"      $ECHO "$srcfile" > "$lockfile"    fi    $opt_dry_run || $RM $removelist    removelist="$removelist $lockfile"    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15    if test -n "$fix_srcfile_path"; then      eval srcfile=\"$fix_srcfile_path\"    fi    func_quote_for_eval "$srcfile"    qsrcfile=$func_quote_for_eval_result    # 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      if test "$pic_mode" != no; then	command="$base_compile $qsrcfile $pic_flag"      else	# Don't build PIC code	command="$base_compile $qsrcfile"      fi      func_mkdir_p "$xdir$objdir"      if test -z "$output_obj"; then	# Place PIC objects in $objdir	command="$command -o $lobj"      fi      func_show_eval_locale "$command"	\          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'      if test "$need_locks" = warn &&	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then	$ECHO "\*** ERROR, $lockfile contains:`cat $lockfile 2>/dev/null`but it should contain:$srcfileThis indicates that another process is trying to use the sametemporary object file, and libtool could not work around it becauseyour compiler does not support \`-c' and \`-o' together.  If yourepeat this compilation, it may succeed, by chance, but you had betteravoid parallel builds (make -j) in this platform, or get a bettercompiler."	$opt_dry_run || $RM $removelist	exit $EXIT_FAILURE      fi      # Just move the object if needed, then go on to compile the next one      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then	func_show_eval '$MV "$output_obj" "$lobj"' \

⌨️ 快捷键说明

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