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

📄 ltmain.sh

📁 移植到WLIT项目的redboot源代码
💻 SH
📖 第 1 页 / 共 5 页
字号:
	    echo "*** The inter-library dependencies that have been dropped here will be"	    echo "*** automatically added whenever a program is linked with this library"	    echo "*** or is declared to -dlopen it."	  fi	fi      fi      # test again, we may have decided not to build it any more      if test "$build_libtool_libs" = yes; then	deplibs=$newdeplibs	# Done checking deplibs! 	# Get the real and link names of the library.	eval library_names=\"$library_names_spec\"	set dummy $library_names	realname="$2"	shift; shift	if test -n "$soname_spec"; then	  eval soname=\"$soname_spec\"	else	  soname="$realname"	fi	lib="$output_objdir/$realname"	for link	do	  linknames="$linknames $link"	done	# Ensure that we have .o objects for linkers which dislike .lo	# (e.g. aix) incase we are running --disable-static	for obj in $libobjs; do	  oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"`	  test -f $oldobj || ${LN_S} $obj $oldobj	done	# Use standard objects if they are pic	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`	if test -n "$whole_archive_flag_spec"; then	  if test -n "$convenience"; then	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"	  fi	else	  for xlib in $convenience; do	    # Extract the objects.	    xdir="$xlib"x	    generated="$generated $xdir"	    xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`	    $show "${rm}r $xdir"	    $run ${rm}r "$xdir"	    $show "mkdir $xdir"	    $run mkdir "$xdir"	    status=$?	    if test $status -ne 0 && test ! -d "$xdir"; then	      exit $status	    fi	    $show "(cd $xdir && $AR x ../$xlib)"	    $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?	    libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`	  done	fi	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then	  eval flag=\"$thread_safe_flag_spec\"	  linkopts="$linkopts $flag"	fi	# Prepare the list of exported symbols	if test -z "$export_symbols"; then	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then	    $show "generating symbol list for \`$libname.la'"	    export_symbols="$objdir/$libname.exp"	    $run $rm $export_symbols	    eval cmds=\"$export_symbols_cmds\"	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'	    for cmd in $cmds; do	      IFS="$save_ifs"	      $show "$cmd"	      $run eval "$cmd" || exit $?	    done	    IFS="$save_ifs"	    if test -n "$export_symbols_regex"; then	      $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""	      $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""	      $run eval '$mv "${export_symbols}T" "$export_symbols"'	    fi	  fi	fi	if test -n "$export_symbols" && test -n "$include_expsyms"; then	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'	fi	# Do each of the archive commands.	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then	  eval cmds=\"$archive_expsym_cmds\"	else	  eval cmds=\"$archive_cmds\"	fi	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'	for cmd in $cmds; do	  IFS="$save_ifs"	  $show "$cmd"	  $run eval "$cmd" || exit $?	done	IFS="$save_ifs"	# Create links to the real library.	for linkname in $linknames; do	  if test "$realname" != "$linkname"; then	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?	  fi	done	# If -module or -export-dynamic was specified, set the dlname.	if test "$module" = yes || test "$export_dynamic" = yes; then	  # On all known operating systems, these are identical.	  dlname="$soname"	fi      fi      ;;    *.lo | *.o | *.obj)      if test -n "$link_against_libtool_libs"; then	$echo "$modename: error: cannot link libtool libraries into objects" 1>&2	exit 1      fi      if test -n "$deplibs"; then	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2      fi      if test -n "$dlfiles$dlprefiles"; then	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2      fi      if test -n "$rpath"; then	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2      fi      if test -n "$xrpath"; then	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2      fi      if test -n "$vinfo"; then	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2      fi      if test -n "$release"; then	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2      fi      case "$output" in      *.lo)	if test -n "$objs"; then	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2	  exit 1	fi	libobj="$output"	obj=`$echo "X$output" | $Xsed -e "$lo2o"`	;;      *)	libobj=	obj="$output"	;;      esac      # Delete the old objects.      $run $rm $obj $libobj      # Create the old-style object.      reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`      output="$obj"      eval cmds=\"$reload_cmds\"      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'      for cmd in $cmds; do	IFS="$save_ifs"	$show "$cmd"	$run eval "$cmd" || exit $?      done      IFS="$save_ifs"      # Exit if we aren't doing a library object file.      test -z "$libobj" && exit 0      if test "$build_libtool_libs" != yes; then	# Create an invalid libtool object if no PIC, so that we don't	# accidentally link it into a program.	$show "echo timestamp > $libobj"	$run eval "echo timestamp > $libobj" || exit $?	exit 0      fi      if test -n "$pic_flag"; then	# Only do commands if we really have different PIC objects.	reload_objs="$libobjs"	output="$libobj"	eval cmds=\"$reload_cmds\"	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'	for cmd in $cmds; do	  IFS="$save_ifs"	  $show "$cmd"	  $run eval "$cmd" || exit $?	done	IFS="$save_ifs"      else	# Just create a symlink.	$show $rm $libobj	$run $rm $libobj	$show "$LN_S $obj $libobj"	$run $LN_S $obj $libobj || exit $?      fi      exit 0      ;;    # Anything else should be a program.    *)      if test -n "$vinfo"; then	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2      fi      if test -n "$release"; then	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2      fi      if test "$preload" = yes; then	if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&	   test "$dlopen_self_static" = unknown; then	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."	fi       fi          if test "$dlself" = yes && test "$export_dynamic" = no; then	$echo "$modename: error: \`-dlopen self' requires \`-export-dynamic'" 1>&2	exit 1      fi      if test -n "$rpath$xrpath"; then	# If the user specified any rpath flags, then add them.	for libdir in $rpath $xrpath; do	  # This is the magic to use -rpath.	  case "$compile_rpath " in	  *" $libdir "*) ;;	  *) compile_rpath="$compile_rpath $libdir" ;;	  esac	  case "$finalize_rpath " in	  *" $libdir "*) ;;	  *) finalize_rpath="$finalize_rpath $libdir" ;;	  esac	done      fi      # Now hardcode the library paths      rpath=      hardcode_libdirs=      for libdir in $compile_rpath $finalize_rpath; do	if test -n "$hardcode_libdir_flag_spec"; then	  if test -n "$hardcode_libdir_separator"; then	    if test -z "$hardcode_libdirs"; then	      hardcode_libdirs="$libdir"	    else	      # Just accumulate the unique libdirs.	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)		;;	      *)		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"		;;	      esac	    fi	  else	    eval flag=\"$hardcode_libdir_flag_spec\"	    rpath="$rpath $flag"	  fi	elif test -n "$runpath_var"; then	  case "$perm_rpath " in	  *" $libdir "*) ;;	  *) perm_rpath="$perm_rpath $libdir" ;;	  esac	fi      done      # Substitute the hardcoded libdirs into the rpath.      if test -n "$hardcode_libdir_separator" &&	 test -n "$hardcode_libdirs"; then	libdir="$hardcode_libdirs"	eval rpath=\" $hardcode_libdir_flag_spec\"      fi      compile_rpath="$rpath"      rpath=      hardcode_libdirs=      for libdir in $finalize_rpath; do	if test -n "$hardcode_libdir_flag_spec"; then	  if test -n "$hardcode_libdir_separator"; then	    if test -z "$hardcode_libdirs"; then	      hardcode_libdirs="$libdir"	    else	      # Just accumulate the unique libdirs.	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)		;;	      *)		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"		;;	      esac	    fi	  else	    eval flag=\"$hardcode_libdir_flag_spec\"	    rpath="$rpath $flag"	  fi	elif test -n "$runpath_var"; then	  case "$finalize_perm_rpath " in	  *" $libdir "*) ;;	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;	  esac	fi      done      # Substitute the hardcoded libdirs into the rpath.      if test -n "$hardcode_libdir_separator" &&	 test -n "$hardcode_libdirs"; then	libdir="$hardcode_libdirs"	eval rpath=\" $hardcode_libdir_flag_spec\"      fi      finalize_rpath="$rpath"      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`      if test "X$output_objdir" = "X$output"; then	output_objdir="$objdir"      else	output_objdir="$output_objdir/$objdir"      fi      if test -n "$libobjs" && test "$build_old_libs" = yes; then	# Transform all the library objects into standard objects.	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`      fi      dlsyms=      if test -n "$dlfiles$dlprefiles" || test "$dlself" = yes; then	if test -n "$NM" && test -n "$global_symbol_pipe"; then	  dlsyms="${outputname}S.c"	else	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2	fi      fi      if test -n "$dlsyms"; then	case "$dlsyms" in	"") ;;	*.c)	  # Discover the nlist of each of the dlfiles.	  nlist="$objdir/${output}.nm"	  if test -d $objdir; then	    $show "$rm $nlist ${nlist}S ${nlist}T"	    $run $rm "$nlist" "${nlist}S" "${nlist}T"	  else	    $show "$mkdir $objdir"	    $run $mkdir $objdir	    status=$?	    if test $status -ne 0 && test ! -d $objdir; then	      exit $status	    fi	  fi	  # Parse the name list into a source file.	  $show "creating $objdir/$dlsyms"	  $echo > "$objdir/$dlsyms" "\/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. *//* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */#ifdef __cplusplusextern \"C\" {#endif/* Prevent the only kind of declaration conflicts we can make. */#define lt_preloaded_symbols some_other_symbol/* External symbol declarations for the compiler. */\"	  if test "$dlself" = yes; then	    $show "generating symbol list for \`$output'"	    echo ': @PROGRAM@ ' > "$nlist"	    # Add our own program objects to the symbol list.	    progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`	    for arg in $progfiles; do	      $show "extracting global C symbols from \`$arg'"	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"	    done	    if test -n "$exclude_expsyms"; then	      $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'	      $run eval '$mv "$nlist"T "$nlist"'	    fi	    	    if test -n "$export_symbols_regex"; then	      $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'	      $run eval '$mv "$nlist"T "$nlist"'	    fi	    # Prepare the list of exported symbols	    if test -z "$export_symbols"; then	      export_symbols="$objdir/$output.exp"	      $run $rm $export_symbols	      $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'	    else	      $run $rm $export_symbols	      $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$objdir/$output.exp"'	      $run eval 'grep -f "$objdir/$output.exp" < "$nlist" > "$nlist"T'	      $run eval 'mv "$nlist"T "$nlist"'	    fi	  fi	  for arg in $dlprefiles; do	    $show "extracting global C symbols from \`$arg'"	    name=`echo "$arg" | sed -e 's%^.*/%%'`	    $run eval 'echo ": $name " >> "$nlist"'	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"	  done	  if test -z "$run"; then	    # Make sure we have at least an empty file.	    test -f "$nlist" || : > "$nlist"	    if test -n "$exclude_expsyms"; then	      egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T	      $mv "$nlist"T "$nlist"	    fi	    # Try sorting and uniquifying the output.	    if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then	      :	    else	      grep -v "^: " < "$nlist" > "$nlist"S	    fi	    if test -f "$nlist"S; then	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'	    else	      echo '/* NONE */' >> "$output_objdir/$dlsyms"	    fi	    $echo >> "$output_objdir/$dlsyms" "\#undef lt_preloaded_symbols#if defined (__STDC__) && __STDC__# define lt_ptr_t void *#else# define lt_ptr_t char *# define const#endif/* The mapping between symbol names and symbols. */const struct {  const char *name;  lt_ptr_t address;}lt_preloaded_symbols[] ={\"	    sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \		-e 's/^. 

⌨️ 快捷键说明

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