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

📄 ltmain.sh

📁 Linux 下察看 Chm 文件 的 源码
💻 SH
📖 第 1 页 / 共 5 页
字号:
    # 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 1      ;;    esac    # 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.    if test -n "$available_tags" && test -z "$tagname"; then      case $base_compile 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` "*) ;;      # 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$" < "$0" > /dev/null; then	    # Evaluate the configuration.	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`"	    case "$base_compile " in	    "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*)	      # 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 1#        else#          $echo "$modename: using $tagname tagged configuration"	fi	;;      esac    fi    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 1    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 1" 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 1" 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 "$0" "$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 1      fi      $echo $srcfile > "$lockfile"    fi    if test -n "$fix_srcfile_path"; then      eval srcfile=\"$fix_srcfile_path\"    fi    $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 $srcfile $pic_flag"      else	# Don't build PIC code	command="$base_compile $srcfile"      fi      if test ! -d "${xdir}$objdir"; then	$show "$mkdir ${xdir}$objdir"	$run $mkdir ${xdir}$objdir	status=$?	if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then	  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 1      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 1      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.      suppress_output=' >/dev/null 2>&1'    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    # Only build a position-dependent object if we build old libraries.    if test "$build_old_libs" = yes; then      if test "$pic_mode" != yes; then	# Don't build PIC code	command="$base_compile $srcfile"      else	command="$base_compile $srcfile $pic_flag"      fi      if test "$compiler_c_o" = yes; then	command="$command -o $obj"      fi      # Suppress compiler output if we already did a PIC compilation.      command="$command$suppress_output"      $run $rm "$obj" "$output_obj"      $show "$command"      if $run eval "$command"; then :      else	$run $rm $removelist	exit 1      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 1      fi      # Just move the object if needed      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then	$show "$mv $output_obj $obj"	if $run $mv $output_obj $obj; then :	else	  error=$?	  $run $rm $removelist	  exit $error	fi      fi      # Append the name of the non-PIC object the libtool object file.      # Only append if the libtool object file exists.      test -z "$run" && cat >> ${libobj}T <<EOF# Name of the non-PIC object.non_pic_object='$objname'EOF    else      # Append the name of the non-PIC object the libtool object file.      # Only append if the libtool object file exists.      test -z "$run" && cat >> ${libobj}T <<EOF# Name of the non-PIC object.non_pic_object=noneEOF    fi    $run $mv "${libobj}T" "${libobj}"    # Unlock the critical section if it was locked    if test "$need_locks" != no; then      $run $rm "$lockfile"    fi    exit 0    ;;  # libtool link mode  link | relink)    modename="$modename: link"    case $host in    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)      # It is impossible to link a dll without this setting, and      # we shouldn't force the makefile maintainer to figure out      # which system we are compiling for in order to pass an extra      # flag for every libtool invocation.      # allow_undefined=no      # FIXME: Unfortunately, there are problems with the above when trying      # to make a dll which has undefined symbols, in which case not      # even a static library is built.  For now, we need to specify      # -no-undefined on the libtool link line when we can be certain      # that all symbols are satisfied, otherwise we get a static library.      allow_undefined=yes      ;;    *)      allow_undefined=yes      ;;    esac    libtool_args="$nonopt"    base_compile="$nonopt"    compile_command="$nonopt"    finalize_command="$nonopt"    compile_rpath=    finalize_rpath=    compile_shlibpath=    finalize_shlibpath=    convenience=    old_convenience=    deplibs=    old_deplibs=    compiler_flags=    linker_flags=    dllsearchpath=    lib_search_path=`pwd`    inst_prefix_dir=    avoid_version=no    dlfiles=    dlprefiles=    dlself=no    export_dynamic=no    export_symbols=    export_symbols_regex=    generated=    libobjs=    ltlibs=    module=no    no_install=no    objs=    non_pic_objects=    prefer_static_libs=no    preload=no    prev=    prevarg=    release=    rpath=    xrpath=    perm_rpath=    temp_rpath=    thread_safe=no    vinfo=    vinfo_number=no    # 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"; then	  if 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	  if test -n "$link_static_flag"; then	    dlopen_self=$dlopen_self_static	  fi	else	  if test -z "$pic_flag" && test -n "$link_static_flag"; then	    dlopen_self=$dlopen_self_static	  fi	fi	build_libtool_libs=no	build_old_libs=yes	prefer_static_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.    while test "$#" -gt 0; do      arg="$1"      base_compile="$base_compile $arg"      shift      case $arg in      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test	;;      *) qarg=$arg ;;      esac      libtool_args="$libtool_args $qarg"      # 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)	  if test "$preload" = no; then	    # Add the symbol object into the linking commands.	    compile_command="$compile_command @SYMFILE@"	    finalize_command="$finalize_command @SYMFILE@"	    preload=yes	  fi	  case $arg in	  *.la | *.lo) ;;  # We handle these cases below.	  force)	    if test "$dlself" = no; then	      dlself=needless	      export_dynamic=yes	    fi	    prev=	    continue	    ;;	  self)	    if test "$prev" = dlprefiles; then	      dlself=yes	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then	      dlself=yes	    else	      dlself=needless	      export_dynamic=yes	    fi	    prev=	    continue	    ;;	  *)	    if test "$prev" = dlfiles; then	      dlfiles="$dlfiles $arg"	    else	      dlprefiles="$dlprefiles $arg"	    fi	    prev=	    continue	    ;;	  esac	  ;;	expsyms)	  export_symbols="$arg"	  if test ! -f "$arg"; then	    $echo "$modename: symbol file \`$arg' does not exist"

⌨️ 快捷键说明

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