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

📄 ltmain.sh

📁 Linux 下察看 Chm 文件 的 源码
💻 SH
📖 第 1 页 / 共 5 页
字号:
	  fi	  continue	  ;;	%DEPLIBS%)	  alldeplibs=yes	  continue	  ;;	esac # case $deplib	if test "$found" = yes || test -f "$lib"; then :	else	  $echo "$modename: cannot find the library \`$lib'" 1>&2	  exit 1	fi	# Check to see that this really is a libtool archive.	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :	else	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2	  exit 1	fi	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`	test "X$ladir" = "X$lib" && ladir="."	dlname=	dlopen=	dlpreopen=	libdir=	library_names=	old_library=	# If the library was installed with an old release of libtool,	# it will not redefine variables installed, or shouldnotlink	installed=yes	shouldnotlink=no	# Read the .la file	case $lib in	*/* | *\\*) . $lib ;;	*) . ./$lib ;;	esac	if test "$linkmode,$pass" = "lib,link" ||	   test "$linkmode,$pass" = "prog,scan" ||	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"	fi	if test "$pass" = conv; then	  # Only check for convenience libraries	  deplibs="$lib $deplibs"	  if test -z "$libdir"; then	    if test -z "$old_library"; then	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2	      exit 1	    fi	    # It is a libtool convenience library, so add in its objects.	    convenience="$convenience $ladir/$objdir/$old_library"	    old_convenience="$old_convenience $ladir/$objdir/$old_library"	    tmp_libs=	    for deplib in $dependency_libs; do	      deplibs="$deplib $deplibs"              if test "X$duplicate_deps" = "Xyes" ; then	        case "$tmp_libs " in	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;	        esac              fi	      tmp_libs="$tmp_libs $deplib"	    done	  elif test "$linkmode" != prog && test "$linkmode" != lib; then	    $echo "$modename: \`$lib' is not a convenience library" 1>&2	    exit 1	  fi	  continue	fi # $pass = conv    	# Get the name of the library we link against.	linklib=	for l in $old_library $library_names; do	  linklib="$l"	done	if test -z "$linklib"; then	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2	  exit 1	fi	# This library was specified with -dlopen.	if test "$pass" = dlopen; then	  if test -z "$libdir"; then	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2	    exit 1	  fi	  if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then	    # If there is no dlname, no dlopen support or we're linking	    # statically, we need to preload.  We also need to preload any	    # dependent libraries so libltdl's deplib preloader doesn't	    # bomb out in the load deplibs phase.	    dlprefiles="$dlprefiles $lib $dependency_libs"	  else	    newdlfiles="$newdlfiles $lib"	  fi	  continue	fi # $pass = dlopen	# We need an absolute path.	case $ladir in	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;	*)	  abs_ladir=`cd "$ladir" && pwd`	  if test -z "$abs_ladir"; then	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2	    abs_ladir="$ladir"	  fi	  ;;	esac	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`	# Find the relevant object directory and library name.	if test "X$installed" = Xyes; then	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then	    $echo "$modename: warning: library \`$lib' was moved." 1>&2	    dir="$ladir"	    absdir="$abs_ladir"	    libdir="$abs_ladir"	  else	    dir="$libdir"	    absdir="$libdir"	  fi	else	  dir="$ladir/$objdir"	  absdir="$abs_ladir/$objdir"	  # Remove this search path later	  notinst_path="$notinst_path $abs_ladir"	fi # $installed = yes	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`	# This library was specified with -dlpreopen.	if test "$pass" = dlpreopen; then	  if test -z "$libdir"; then	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2	    exit 1	  fi	  # Prefer using a static library (so that no silly _DYNAMIC symbols	  # are required to link).	  if test -n "$old_library"; then	    newdlprefiles="$newdlprefiles $dir/$old_library"	  # Otherwise, use the dlname, so that lt_dlopen finds it.	  elif test -n "$dlname"; then	    newdlprefiles="$newdlprefiles $dir/$dlname"	  else	    newdlprefiles="$newdlprefiles $dir/$linklib"	  fi	fi # $pass = dlpreopen	if test -z "$libdir"; then	  # Link the convenience library	  if test "$linkmode" = lib; then	    deplibs="$dir/$old_library $deplibs"	  elif test "$linkmode,$pass" = "prog,link"; then	    compile_deplibs="$dir/$old_library $compile_deplibs"	    finalize_deplibs="$dir/$old_library $finalize_deplibs"	  else	    deplibs="$lib $deplibs" # used for prog,scan pass	  fi	  continue	fi    	if test "$linkmode" = prog && test "$pass" != link; then	  newlib_search_path="$newlib_search_path $ladir"	  deplibs="$lib $deplibs"	  linkalldeplibs=no	  if test "$link_all_deplibs" != no || test -z "$library_names" ||	     test "$build_libtool_libs" = no; then	    linkalldeplibs=yes	  fi	  tmp_libs=	  for deplib in $dependency_libs; do	    case $deplib in	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test	    esac	    # Need to link against all dependency_libs?	    if test "$linkalldeplibs" = yes; then	      deplibs="$deplib $deplibs"	    else	      # Need to hardcode shared library paths	      # or/and link against static libraries	      newdependency_libs="$deplib $newdependency_libs"	    fi	    if test "X$duplicate_deps" = "Xyes" ; then	      case "$tmp_libs " in	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;	      esac	    fi	    tmp_libs="$tmp_libs $deplib"	  done # for deplib	  continue	fi # $linkmode = prog...	if test "$linkmode,$pass" = "prog,link"; then	  if test -n "$library_names" &&	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then	    # We need to hardcode the library path	    if test -n "$shlibpath_var"; then	      # Make sure the rpath contains only unique directories.	      case "$temp_rpath " in	      *" $dir "*) ;;	      *" $absdir "*) ;;	      *) temp_rpath="$temp_rpath $dir" ;;	      esac	    fi	    # Hardcode the library path.	    # Skip directories that are in the system default run-time	    # search path.	    case " $sys_lib_dlsearch_path " in	    *" $absdir "*) ;;	    *)	      case "$compile_rpath " in	      *" $absdir "*) ;;	      *) compile_rpath="$compile_rpath $absdir"	      esac	      ;;	    esac	    case " $sys_lib_dlsearch_path " in	    *" $libdir "*) ;;	    *)	      case "$finalize_rpath " in	      *" $libdir "*) ;;	      *) finalize_rpath="$finalize_rpath $libdir"	      esac	      ;;	    esac	  fi # $linkmode,$pass = prog,link...	  if test "$alldeplibs" = yes &&	     { test "$deplibs_check_method" = pass_all ||	       { test "$build_libtool_libs" = yes &&		 test -n "$library_names"; }; }; then	    # We only need to search for static libraries	    continue	  fi	fi	link_static=no # Whether the deplib will be linked statically	if test -n "$library_names" &&	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then	  if test "$installed" = no; then	    notinst_deplibs="$notinst_deplibs $lib"	    need_relink=yes	  fi	  # This is a shared library	      # Warn about portability, can't link against -module's on some systems (darwin)      if test "$shouldnotlink" = yes && test "$pass" = link ; then	    $echo	    if test "$linkmode" = prog; then	      $echo "*** Warning: Linking the executable $output against the loadable module"	    else	      $echo "*** Warning: Linking the shared library $output against the loadable module"	    fi	    $echo "*** $linklib is not portable!"          fi	  	  if test "$linkmode" = lib &&	     test "$hardcode_into_libs" = yes; then	    # Hardcode the library path.	    # Skip directories that are in the system default run-time	    # search path.	    case " $sys_lib_dlsearch_path " in	    *" $absdir "*) ;;	    *)	      case "$compile_rpath " in	      *" $absdir "*) ;;	      *) compile_rpath="$compile_rpath $absdir"	      esac	      ;;	    esac	    case " $sys_lib_dlsearch_path " in	    *" $libdir "*) ;;	    *)	      case "$finalize_rpath " in	      *" $libdir "*) ;;	      *) finalize_rpath="$finalize_rpath $libdir"	      esac	      ;;	    esac	  fi	  if test -n "$old_archive_from_expsyms_cmds"; then	    # figure out the soname	    set dummy $library_names	    realname="$2"	    shift; shift	    libname=`eval \\$echo \"$libname_spec\"`	    # use dlname if we got it. it's perfectly good, no?	    if test -n "$dlname"; then	      soname="$dlname"	    elif test -n "$soname_spec"; then	      # bleh windows	      case $host in	      *cygwin* | mingw*)		major=`expr $current - $age`		versuffix="-$major"		;;	      esac	      eval soname=\"$soname_spec\"	    else	      soname="$realname"	    fi	    # Make a new name for the extract_expsyms_cmds to use	    soroot="$soname"	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"	    # If the library has no export list, then create one now	    if test -f "$output_objdir/$soname-def"; then :	    else	      $show "extracting exported symbol list from \`$soname'"	      save_ifs="$IFS"; IFS='~'	      eval cmds=\"$extract_expsyms_cmds\"	      for cmd in $cmds; do		IFS="$save_ifs"		$show "$cmd"		$run eval "$cmd" || exit $?	      done	      IFS="$save_ifs"	    fi	    # Create $newlib	    if test -f "$output_objdir/$newlib"; then :; else	      $show "generating import library for \`$soname'"	      save_ifs="$IFS"; IFS='~'	      eval cmds=\"$old_archive_from_expsyms_cmds\"	      for cmd in $cmds; do		IFS="$save_ifs"		$show "$cmd"		$run eval "$cmd" || exit $?	      done	      IFS="$save_ifs"	    fi	    # make sure the library variables are pointing to the new library	    dir=$output_objdir	    linklib=$newlib	  fi # test -n "$old_archive_from_expsyms_cmds"	  if test "$linkmode" = prog || test "$mode" != relink; then	    add_shlibpath=	    add_dir=	    add=	    lib_linked=yes	    case $hardcode_action in	    immediate | unsupported)	      if test "$hardcode_direct" = no; then		add="$dir/$linklib"		case $host in		  *-*-sco3.2v5* ) add_dir="-L$dir" ;;		  *-*-darwin* )		    # if the lib is a module then we can not link against it, someone		    # is ignoring the new warnings I added		    if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then		      $echo "** Warning, lib $linklib is a module, not a shared library"		      if test -z "$old_library" ; then		        $echo		        $echo "** And there doesn't seem to be a static archive available"		        $echo "** The link will probably fail, sorry"		      else		        add="$dir/$old_library"		      fi 		    fi		esac	      elif test "$hardcode_minus_L" = no; then		case $host in		*-*-sunos*) add_shlibpath="$dir" ;;		esac		add_dir="-L$dir"		add="-l$name"	      elif test "$hardcode_shlibpath_var" = no; then		add_shlibpath="$dir"		add="-l$name"	      else		lib_linked=no	      fi	      ;;	    relink)	      if test "$hardcode_direct" = yes; then		add="$dir/$linklib"	      elif test "$hardcode_minus_L" = yes; then		add_dir="-L$dir"		# Try looking first in the location we're being installed to.		if test -n "$inst_prefix_dir"; then		  case "$libdir" in		    [\\/]*)		      add_dir="$add_dir -L$inst_prefix_dir$libdir"		      ;;		  esac		fi		add="-l$name"	      elif test "$hardcode_shlibpath_var" = yes; then		add_shlibpath="$dir"		add="-l$name"	      else		lib_linked=no	      fi	      ;;	    *) lib_linked=no ;;	    esac	    if test "$lib_linked" != yes; then	      $echo "$modename: configuration error: unsupported hardcode properties"	      exit 1	    fi	    if test -n "$add_shlibpath"; then	      case :$compile_shlibpath: in	      *":$add_shlibpath:"*) ;;	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;	      esac	    fi	    if test "$linkmode" = prog; then	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"	      test -n "$add" && compile_deplibs="$add $compile_deplibs"	    else	      test -n "$add_dir" && deplibs="$add_dir $deplibs"	      test -n "$add" && deplibs="$add $deplibs"	      if test "$hardcode_direct" != yes && \		 test "$hardcode_minus_L" != yes && \		 test "$hardcode_shlibpath_var" = yes; then		case :$finalize_shlibpath: in		*":$libdir:"*) ;;		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;		esac	      fi	    fi	  fi	  if test "$linkmode" = prog || test "$mode" = relink; then	    add_shlibpath=	    add_dir=	    add=	    # Finalize command for both is simple: just hardcode it.	    if test "$hardcode_direct" = yes; then	      add="$libdir/$linklib"	    elif test "$hardcode_minus_L" = yes; then	      add_dir="-L$libdir"	      add="-l$name"	    elif test "$hardcode_shlibpath_var" = yes; then	      case :$finalize_shlibpath: in	      *":$libdir:"*) ;;	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;	      esac	      add="-l$name"	    elif test "$hardcode_automatic" = yes; then	      if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then	        add="$inst_prefix_dir$libdir/$linklib"	      else	        add="$libdir/$linklib"	      fi	    else	      # We cannot seem to hardcode it, guess we'll fake it.	      add_dir="-L$libdir"	      # Try looking first in the location we're being installed to.	      if test -n "$inst_prefix_dir"; then		case "$libdir" in		  [\\/]*)		    add_dir="$add_dir -L$inst_prefix_dir$libdir"		    ;;		esac	      fi	      add="-l$name"	    fi	    if test "$linkmode" = prog; then	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"	    else	      test -n "$add_dir" && deplibs="$add_dir $deplibs"	      test -n "$add" && deplibs="$add $deplibs"	    fi	  fi	elif test "$linkmode" = prog; then	  # Here we assume that one of hardcode_direct or hardcode_minus_L	  # is not unsupported.  This is valid on all known static and	  # shared platforms.	  if test "$hardcode_direct" != unsupported; then	    test -n "$old_library" && linklib="$old_lib

⌨️ 快捷键说明

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