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

📄 ltmain.sh

📁 在Linux下实现magnification功能
💻 SH
📖 第 1 页 / 共 5 页
字号:
    else      $echo "disable static libraries"    fi    exit $?    ;;  --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    preserve_args="$preserve_args --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_FAILUREficase $disable_libs inno)   ;;shared)  build_libtool_libs=no  build_old_libs=yes  ;;static)  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`  ;;esac# 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	    IFS="$save_ifs"	    # Double-quote args containing other shell metacharacters.	    # Many Bourne shells cannot handle close brackets correctly	    # in scan sets, so we specify it separately.	    case $arg in	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	      arg="\"$arg\""	      ;;	    esac	    lastarg="$lastarg $arg"	  done	  IFS="$save_ifs"	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`	  # 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.      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`      case $lastarg in      # Double-quote args containing other shell metacharacters.      # Many Bourne shells cannot handle close brackets correctly      # in scan sets, and some SunOS ksh mistreat backslash-escaping      # in scan sets (worked around with variable expansion),      # and furthermore cannot handle '|' '&' '(' ')' in scan sets       # at all, so we specify them separately.      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	lastarg="\"$lastarg\""	;;      esac      base_compile="$base_compile $lastarg"    done # for arg    case $arg_mode in    arg)      $echo "$modename: you must specify an argument for -Xcompile"      exit $EXIT_FAILURE      ;;    target)      $echo "$modename: you must specify a target with \`-o'" 1>&2      exit $EXIT_FAILURE      ;;    *)      # Get the name of the library object.      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`      ;;    esac    # Recognize several different file suffixes.    # If the user specifies -o file.o, it is replaced with file.lo    xform='[cCFSifmso]'    case $libobj in    *.ada) xform=ada ;;    *.adb) xform=adb ;;    *.ads) xform=ads ;;    *.asm) xform=asm ;;    *.c++) xform=c++ ;;    *.cc) xform=cc ;;    *.ii) xform=ii ;;    *.class) xform=class ;;    *.cpp) xform=cpp ;;    *.cxx) xform=cxx ;;    *.f90) xform=f90 ;;    *.for) xform=for ;;    *.java) xform=java ;;    esac    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`    case $libobj in    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;    *)      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2      exit $EXIT_FAILURE      ;;    esac    func_infer_tag $base_compile    for arg in $later; do      case $arg in      -static)	build_old_libs=yes	continue	;;      -prefer-pic)	pic_mode=yes	continue	;;      -prefer-non-pic)	pic_mode=no	continue	;;      esac    done    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`    case $qlibobj in      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	qlibobj="\"$qlibobj\"" ;;    esac    test "X$libobj" != "X$qlibobj" \	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`    if test "X$xdir" = "X$obj"; then      xdir=    else      xdir=$xdir/    fi    lobj=${xdir}$objdir/$objname    if test -z "$base_compile"; then      $echo "$modename: you must specify a compilation command" 1>&2      $echo "$help" 1>&2      exit $EXIT_FAILURE    fi    # 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    $run $rm $removelist    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15    # 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"      removelist="$removelist $output_obj $lockfile"      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15    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 $run ln "$progpath" "$lockfile" 2>/dev/null; do	$show "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."	$run $rm $removelist	exit $EXIT_FAILURE      fi      $echo "$srcfile" > "$lockfile"    fi    if test -n "$fix_srcfile_path"; then      eval srcfile=\"$fix_srcfile_path\"    fi    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`    case $qsrcfile in      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")      qsrcfile="\"$qsrcfile\"" ;;    esac    $run $rm "$libobj" "${libobj}T"    # Create a libtool object file (analogous to a ".la" file),    # but don't create it if we're doing a dry run.    test -z "$run" && cat > ${libobj}T <<EOF# $libobj - a libtool object file# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP## Please DO NOT delete this file!# It is necessary for linking the library.# Name of the PIC object.EOF    # 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      if test ! -d "${xdir}$objdir"; then	$show "$mkdir ${xdir}$objdir"	$run $mkdir ${xdir}$objdir	exit_status=$?	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then	  exit $exit_status	fi      fi      if test -z "$output_obj"; then	# Place PIC objects in $objdir	command="$command -o $lobj"      fi      $run $rm "$lobj" "$output_obj"      $show "$command"      if $run eval "$command"; then :      else	test -n "$output_obj" && $run $rm $removelist	exit $EXIT_FAILURE      fi      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."	$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	$show "$mv $output_obj $lobj"	if $run $mv $output_obj $lobj; then :	else	  error=$?	  $run $rm $removelist	  exit $error	fi      fi      # Append the name of the PIC object to the libtool object file.      test -z "$run" && cat >> ${libobj}T <<EOFpic_object='$objdir/$objname'EOF      # Allow error messages only from the first compilation.      if test "$suppress_opt" = yes; then        suppress_output=' >/dev/null 2>&1'      fi    else      # No PIC object so indicate it doesn't exist in the libtool      # object file.      test -z "$run" && cat >> ${libobj}T <<EOFpic_object=noneEOF    fi

⌨️ 快捷键说明

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