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

📄 ltmain.sh

📁 bookcase,by shell script and c++ and perl
💻 SH
📖 第 1 页 / 共 5 页
字号:
	  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	  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*)		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"	      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"		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"	    else	      # We cannot seem to hardcode it, guess we'll fake it.	      add_dir="-L$libdir"	      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_library"	    compile_deplibs="$dir/$linklib $compile_deplibs"	    finalize_deplibs="$dir/$linklib $finalize_deplibs"	  else	    compile_deplibs="-l$name -L$dir $compile_deplibs"	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"	  fi	elif test "$build_libtool_libs" = yes; then	  # Not a shared library	  if test "$deplibs_check_method" != pass_all; then	    # We're trying link a shared library against a static one	    # but the system doesn't support it.	    # Just print a warning and add the library to dependency_libs so	    # that the program can be linked against the static library.	    echo	    echo "*** Warning: This system can not link to static lib archive $lib."	    echo "*** I have the capability to make that library automatically link in when"	    echo "*** you link to this library.  But I can only do this if you have a"	    echo "*** shared version of the library, which you do not appear to have."	    if test "$module" = yes; then	      echo "*** But as you try to build a module library, libtool will still create "	      echo "*** a static module, that should work as long as the dlopening application"	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."	      if test -z "$global_symbol_pipe"; then		echo		echo "*** However, this would only work if libtool was able to extract symbol"		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"		echo "*** not find such a program.  So, this module is probably useless."		echo "*** \`nm' from GNU binutils and a full rebuild may help."	      fi	      if test "$build_old_libs" = no; then		build_libtool_libs=module		build_old_libs=yes	      else		build_libtool_libs=no	      fi	    fi	  else	    convenience="$convenience $dir/$old_library"	    old_convenience="$old_convenience $dir/$old_library"	    deplibs="$dir/$old_library $deplibs"	    link_static=yes	  fi	fi # link shared/static library?	if test "$linkmode" = lib; then	  #if test -n "$dependency_libs" &&	  #   { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes ||	  #     test "$link_static" = yes; }; then	    # Extract -R from dependency_libs	    temp_deplibs=	    for libdir in $dependency_libs; do	      case $libdir in	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`		   case " $xrpath " in		   *" $temp_xrpath "*) ;;		   *) xrpath="$xrpath $temp_xrpath";;		   esac;;	      *) temp_deplibs="$temp_deplibs $libdir";;	      esac	    done	    dependency_libs="$temp_deplibs"	  #fi	  newlib_search_path="$newlib_search_path $absdir"	  # Link against this library	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"	  # ... and its dependency_libs	  tmp_libs=	  for deplib in $dependency_libs; do	    newdependency_libs="$deplib $newdependency_libs"	    if test "X$duplicate_deps" = "Xyes" ; then	      case "$tmp_libs " in	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;	      esac	    fi	    tmp_libs="$tmp_libs $deplib"	  done	  if test "$link_all_deplibs" != no; then	    # Add the search paths of all dependency libraries	    for deplib in $dependency_libs; do	      case $deplib in	      -L*) path="$deplib" ;;	      *.la)		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`		test "X$dir" = "X$deplib" && dir="."		# We need an absolute path.		case $dir in		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;		*)		  absdir=`cd "$dir" && pwd`		  if test -z "$absdir"; then		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2		    absdir="$dir"		  fi		  ;;		esac		if grep "^installed=no" $deplib > /dev/null; then		  path="-L$absdir/$objdir"		else		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`		  if test -z "$libdir"; then		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2		    exit 1		  fi		  path="-L$absdir"		fi		;;	      *) continue ;;	      esac	      case " $deplibs " in	      *" $path "*) ;;	      *) deplibs="$deplibs $path" ;;	      esac	    done	  fi # link_all_deplibs != no	fi # linkmode = lib      done # for deplib in $libs      dependency_libs="$newdependency_libs"      if test "$pass" = dlpreopen; then	# Link the dlpreopened libraries before other libraries	for deplib in $save_deplibs; do	  deplibs="$deplib $deplibs"	done      fi      if test "$pass" != dlopen; then	if test "$pass" != conv; then	  # Make sure lib_search_path contains only unique directories.	  lib_search_path=	  for dir in $newlib_search_path; do	    case "$lib_search_path " in	    *" $dir "*) ;;	    *) lib_search_path="$lib_search_path $dir" ;;	    esac	  done	  newlib_search_path=	fi	if test "$linkmode,$pass" != "prog,link"; then	  vars="deplibs"	else	  vars="compile_deplibs finalize_deplibs"	fi	for var in $vars dependency_libs; do	  # Add libraries to $var in reverse order	  eval tmp_libs=\"\$$var\"	  new_libs=	  for deplib in $tmp_libs; do	    # FIXME: Pedantically, this is the right thing to do, so	    #        that some nasty dependency loop isn't accidentally	    #        broken:	    #new_libs="$deplib $new_libs"	    # Pragmatically, this seems to cause very few problems in	    # practice:	    case $deplib in	    -L*) new_libs="$deplib $new_libs" ;;	    *)	      # And here is the reason: when a library appears more	      # than once as an explicit dependence of a library, or	      # is implicitly linked in more than once by the	      # compiler, it is considered special, and multiple	      # occurrences thereof are not removed.  Compare this	      # with having the same library being listed as a	      # dependency of multiple other libraries: in this case,	      # we know (pedantically, we assume) the library does not	      # need to be listed more than once, so we keep only the	      # last copy.  This is not always right, but it is rare	      # enough that we require users that really mean to play	      # such unportable linking t

⌨️ 快捷键说明

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