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

📄 ltmain.sh

📁 Linux下fuse用户文件系统的的源代码
💻 SH
📖 第 1 页 / 共 5 页
字号:
lt_${my_prefix}_LTX_preloaded_symbols[] ={\  { \"$my_originator\", (void *) 0 },"	  eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"	  $ECHO >> "$output_objdir/$my_dlsyms" "\  {0, (void *) 0}};/* This works around a problem in FreeBSD linker */#ifdef FREEBSD_WORKAROUNDstatic const void *lt_preloaded_setup() {  return lt_${my_prefix}_LTX_preloaded_symbols;}#endif#ifdef __cplusplus}#endif\"	} # !$opt_dry_run  	pic_flag_for_symtable=	case "$compile_command " in	*" -static "*) ;;	*)	  case $host in	  # compiling the symbol table file with pic_flag works around	  # a FreeBSD bug that causes programs to crash when -lm is	  # linked before any other PIC object.  But we must not use	  # pic_flag when linking with -static.  The problem exists in	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;	  *-*-hpux*)	    pic_flag_for_symtable=" $pic_flag"  ;;	  *)	    if test "X$my_pic_p" != Xno; then	      pic_flag_for_symtable=" $pic_flag"	    fi	    ;;	  esac	  ;;	esac	symtab_cflags=	for arg in $LTCFLAGS; do	  case $arg in	  -pie | -fpie | -fPIE) ;;	  *) symtab_cflags="$symtab_cflags $arg" ;;	  esac	done	# Now compile the dynamic symbol file.	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'	# Clean up the generated files.	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'	# Transform the symbol file into the correct name.	symfileobj="$output_objdir/${my_outputname}S.$objext"	case $host in	*cygwin* | *mingw* )	  if test -f "$output_objdir/$my_outputname.def"; then	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`	  else	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`	  fi	  ;;	*)	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`	  ;;	esac	;;      *)	func_fatal_error "unknown suffix for \`$my_dlsyms'"	;;      esac    else      # We keep going just in case the user didn't refer to      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe      # really was required.      # Nullify the symbol file.      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`    fi}# func_extract_an_archive dir oldlibfunc_extract_an_archive (){    $opt_debug    f_ex_an_ar_dir="$1"; shift    f_ex_an_ar_oldlib="$1"    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" 'exit $?'    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then     :    else      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"    fi}# func_extract_archives gentop oldlib ...func_extract_archives (){    $opt_debug    my_gentop="$1"; shift    my_oldlibs=${1+"$@"}    my_oldobjs=""    my_xlib=""    my_xabs=""    my_xdir=""    for my_xlib in $my_oldlibs; do      # Extract the objects.      case $my_xlib in	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;	*) my_xabs=`pwd`"/$my_xlib" ;;      esac      func_basename "$my_xlib"      my_xlib="$func_basename_result"      my_xdir="$my_gentop/$my_xlib"      func_mkdir_p "$my_xdir"      case $host in      *-darwin*)	func_echo "Extracting $my_xabs"	# Do not bother doing anything if just a dry run	$opt_dry_run || {	  darwin_orig_dir=`pwd`	  cd $my_xdir || exit $?	  darwin_archive=$my_xabs	  darwin_curdir=`pwd`	  darwin_base_archive=`basename $darwin_archive`	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`	  if test -n "$darwin_arches"; then	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`	    darwin_arch=	    func_echo "$darwin_base_archive has multiple architectures $darwin_arches"	    for darwin_arch in  $darwin_arches ; do	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"	      cd "$darwin_curdir"	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"	    done # $darwin_arches            ## Okay now we've a bunch of thin objects, gotta fatten them up :)	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`	    darwin_file=	    darwin_files=	    for darwin_file in $darwin_filelist; do	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`	      lipo -create -output "$darwin_file" $darwin_files	    done # $darwin_filelist	    $RM -rf unfat-$$	    cd "$darwin_orig_dir"	  else	    cd $darwin_orig_dir	    func_extract_an_archive "$my_xdir" "$my_xabs"	  fi # $darwin_arches	} # !$opt_dry_run	;;      *)        func_extract_an_archive "$my_xdir" "$my_xabs"	;;      esac      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`    done    func_extract_archives_result="$my_oldobjs"}# func_mode_compile arg...func_mode_compile (){    $opt_debug    # Get the compilation command and the source file.    base_compile=    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"    suppress_opt=yes    suppress_output=    arg_mode=normal    libobj=    later=    pie_flag=    for arg    do      case $arg_mode in      arg  )	# do not "continue".  Instead, add this to base_compile	lastarg="$arg"	arg_mode=normal	;;      target )	libobj="$arg"	arg_mode=normal	continue	;;      normal )	# Accept any command-line options.	case $arg in	-o)	  test -n "$libobj" && \	    func_fatal_error "you cannot specify \`-o' more than once"	  arg_mode=target	  continue	  ;;	-pie | -fpie | -fPIE)          pie_flag="$pie_flag $arg"	  continue	  ;;	-shared | -static | -prefer-pic | -prefer-non-pic)	  later="$later $arg"	  continue	  ;;	-no-suppress)	  suppress_opt=no	  continue	  ;;	-Xcompiler)	  arg_mode=arg  #  the next one goes into the "base_compile" arg list	  continue      #  The current "srcfile" will either be retained or	  ;;            #  replaced later.  I would guess that would be a bug.	-Wc,*)	  func_stripname '-Wc,' '' "$arg"	  args=$func_stripname_result	  lastarg=	  save_ifs="$IFS"; IFS=','	  for arg in $args; do	    IFS="$save_ifs"	    func_quote_for_eval "$arg"	    lastarg="$lastarg $func_quote_for_eval_result"	  done	  IFS="$save_ifs"	  func_stripname ' ' '' "$lastarg"	  lastarg=$func_stripname_result	  # Add the arguments to base_compile.	  base_compile="$base_compile $lastarg"	  continue	  ;;	*)	  # Accept the current argument as the source file.	  # The previous "srcfile" becomes the current argument.	  #	  lastarg="$srcfile"	  srcfile="$arg"	  ;;	esac  #  case $arg	;;      esac    #  case $arg_mode      # Aesthetically quote the previous argument.      func_quote_for_eval "$lastarg"      base_compile="$base_compile $func_quote_for_eval_result"    done # for arg    case $arg_mode in    arg)      func_fatal_error "you must specify an argument for -Xcompile"      ;;    target)      func_fatal_error "you must specify a target with \`-o'"      ;;    *)      # Get the name of the library object.      test -z "$libobj" && {	func_basename "$srcfile"	libobj="$func_basename_result"      }      ;;    esac    # 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"` ;;    *)      func_fatal_error "cannot determine name of library object from \`$libobj'"      ;;    esac    func_infer_tag $base_compile    for arg in $later; do      case $arg in      -shared)	test "$build_libtool_libs" != yes && \	  func_fatal_configuration "can not build a shared library"	build_old_libs=no	continue	;;      -static)	build_libtool_libs=no	build_old_libs=yes	continue	;;      -prefer-pic)	pic_mode=yes	continue	;;      -prefer-non-pic)	pic_mode=no	continue	;;      esac    done    func_quote_for_eval "$libobj"    test "X$libobj" != "X$func_quote_for_eval_result" \      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' 	&()|`$[]' \      && func_warning "libobj name \`$libobj' may not contain shell special characters."    func_basename "$obj"    objname="$func_basename_result"    func_dirname "$obj" "/" ""    xdir="$func_dirname_result"    lobj=${xdir}$objdir/$objname    test -z "$base_compile" && \      func_fatal_help "you must specify a compilation command"    # 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    $opt_dry_run || $RM $removelist    trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 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 "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 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 $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do	func_echo "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."	$opt_dry_run || $RM $removelist	exit $EXIT_FAILURE      fi      $ECHO "$srcfile" > "$lockfile"    fi    if test -n "$fix_srcfile_path"; then      eval srcfile=\"$fix_srcfile_path\"    fi    func_quote_for_eval "$srcfile"    qsrcfile=$func_quote_for_eval_result    $opt_dry_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.    $opt_dry_run || cat > ${libobj}T <<EOF# $libobj - a libtool object file# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION## 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 $qsrcfile $pic_flag"      else	# Don't build PIC code	command="$base_compile $qsrcfile"      fi      func_mkdir_p "$xdir$objdir"      if test -z "$output_obj"; then	# Place PIC objects in $objdir

⌨️ 快捷键说明

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