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

📄 libtool

📁 linux下简单对象应用协议的开发库
💻
📖 第 1 页 / 共 5 页
字号:
# 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    case $nonopt in    *cc | *++ | gcc* | *-gcc*)      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 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=    prev=    lastarg=    srcfile="$nonopt"    suppress_output=    user_target=no    for arg    do      case $prev in      "") ;;      xcompiler)	# Aesthetically quote the previous argument.	prev=	lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`	case $arg in	# Double-quote args containing other shell metacharacters.	# Many Bourne shells cannot handle close brackets correctly	# in scan sets, so we specify it separately.	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")	  arg="\"$arg\""	  ;;	esac	# Add the previous argument to base_compile.	if test -z "$base_compile"; then	  base_compile="$lastarg"	else	  base_compile="$base_compile $lastarg"	fi	continue	;;      esac      # Accept any command-line options.      case $arg in      -o)	if test "$user_target" != "no"; then	  $echo "$modename: you cannot specify \`-o' more than once" 1>&2	  exit 1	fi	user_target=next	;;      -static)	build_old_libs=yes	continue	;;      -prefer-pic)	pic_mode=yes	continue	;;      -prefer-non-pic)	pic_mode=no	continue	;;      -Xcompiler)	prev=xcompiler	continue	;;      -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.	if test -z "$base_compile"; then	  base_compile="$lastarg"	else	  base_compile="$base_compile $lastarg"	fi	continue	;;      esac      case $user_target in      next)	# The next one is the -o target name	user_target=yes	continue	;;      yes)	# We got the output file	user_target=set	libobj="$arg"	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    case $user_target in    set)      ;;    no)      # Get the name of the library object.      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`      ;;    *)      $echo "$modename: you must specify a target with \`-o'" 1>&2      exit 1      ;;    esac    # Recognize several different file suffixes.    # If the user specifies -o file.o, it is replaced with file.lo    xform='[cCFSfmso]'    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 "$lo2o"` ;;    *)      $echo "$modename: cannot determine name of library object from \`$libobj'" 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      removelist="$obj $libobj"    else      removelist="$libobj"    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      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    # 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	# All platforms use -DPIC, to notify preprocessed assembler code.	command="$base_compile $srcfile $pic_flag -DPIC"      else	# Don't build PIC code	command="$base_compile $srcfile"      fi      if test "$build_old_libs" = yes; then	lo_libobj="$libobj"	dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`	if test "X$dir" = "X$libobj"; then	  dir="$objdir"	else	  dir="$dir/$objdir"	fi	libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`	if test -d "$dir"; then	  $show "$rm $libobj"	  $run $rm $libobj	else	  $show "$mkdir $dir"	  $run $mkdir $dir	  status=$?	  if test $status -ne 0 && test ! -d $dir; then	    exit $status	  fi	fi      fi      if test "$compiler_o_lo" = yes; then	output_obj="$libobj"	command="$command -o $output_obj"      elif test "$compiler_c_o" = yes; then	output_obj="$obj"	command="$command -o $output_obj"      fi      $run $rm "$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 x"$output_obj" != x"$libobj"; then	$show "$mv $output_obj $libobj"	if $run $mv $output_obj $libobj; then :	else	  error=$?	  $run $rm $removelist	  exit $error	fi      fi      # If we have no pic_flag, then copy the object into place and finish.      if (test -z "$pic_flag" || test "$pic_mode" != default) &&	 test "$build_old_libs" = yes; then	# Rename the .lo from within objdir to obj	if test -f $obj; then	  $show $rm $obj	  $run $rm $obj	fi	$show "$mv $libobj $obj"	if $run $mv $libobj $obj; then :	else	  error=$?	  $run $rm $removelist	  exit $error	fi	xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`	if test "X$xdir" = "X$obj"; then	  xdir="."	else	  xdir="$xdir"	fi	baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`	libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`	# Now arrange that obj and lo_libobj become the same file	$show "(cd $xdir && $LN_S $baseobj $libobj)"	if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then	  # Unlock the critical section if it was locked	  if test "$need_locks" != no; then	    $run $rm "$lockfile"	  fi	  exit 0	else	  error=$?	  $run $rm $removelist	  exit $error	fi      fi      # 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      if test "$pic_mode" != yes; then	# Don't build PIC code	command="$base_compile $srcfile"      else	# All platforms use -DPIC, to notify preprocessed assembler code.	command="$base_compile $srcfile $pic_flag -DPIC"      fi      if test "$compiler_c_o" = yes; then	command="$command -o $obj"	output_obj="$obj"      fi      # Suppress compiler output if we already did a PIC compilation.      command="$command$suppress_output"      $run $rm "$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 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      # 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 $?      else

⌨️ 快捷键说明

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