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

📄 ltmain.sh

📁 share BIDI DEMO code
💻 SH
📖 第 1 页 / 共 5 页
字号:
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      # 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 "$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	  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      command="$base_compile $srcfile"      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	# Move the .lo from within objdir	$show "$mv $libobj $lo_libobj"	if $run $mv $libobj $lo_libobj; then :	else	  error=$?	  $run $rm $removelist	  exit $error	fi      fi    fi    # Unlock the critical section if it was locked    if test "$need_locks" != no; then      $rm "$lockfile"    fi    exit 0    ;;  # libtool link mode  link)    modename="$modename: link"    case "$host" in    *-*-cygwin* | *-*-mingw* | *-*-os2*)      # It is impossible to link a dll without this setting, and      # we shouldn't force the makefile maintainer to figure out      # which system we are compiling for in order to pass an extra      # flag for every libtool invokation.      # allow_undefined=no      # FIXME: Unfortunately, there are problems with the above when trying      # to make a dll which has undefined symbols, in which case not      # even a static library is built.  For now, we need to specify      # -no-undefined on the libtool link line when we can be certain      # that all symbols are satisfied, otherwise we get a static library.      allow_undefined=yes      # This is a source program that is used to create dlls on Windows      # Don't remove nor modify the starting and closing comments# /* ltdll.c starts here */# #define WIN32_LEAN_AND_MEAN# #include <windows.h># #undef WIN32_LEAN_AND_MEAN# #include <stdio.h>## #ifndef __CYGWIN__# #  ifdef __CYGWIN32__# #    define __CYGWIN__ __CYGWIN32__# #  endif# #endif## #ifdef __cplusplus# extern "C" {# #endif# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);# #ifdef __cplusplus# }# #endif## #ifdef __CYGWIN__# #include <cygwin/cygwin_dll.h># DECLARE_CYGWIN_DLL( DllMain );# #endif# HINSTANCE __hDllInstance_base;## BOOL APIENTRY# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)# {#   __hDllInstance_base = hInst;#   return TRUE;# }# /* ltdll.c ends here */      # This is a source program that is used to create import libraries      # on Windows for dlls which lack them. Don't remove nor modify the      # starting and closing comments# /* impgen.c starts here */# /*   Copyright (C) 1999 Free Software Foundation, Inc.# #  This file is part of GNU libtool.# #  This program is free software; you can redistribute it and/or modify#  it under the terms of the GNU General Public License as published by#  the Free Software Foundation; either version 2 of the License, or#  (at your option) any later version.# #  This program is distributed in the hope that it will be useful,#  but WITHOUT ANY WARRANTY; without even the implied warranty of#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the#  GNU General Public License for more details.# #  You should have received a copy of the GNU General Public License#  along with this program; if not, write to the Free Software#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.#  */# #  #include <stdio.h>		/* for printf() */#  #include <unistd.h>		/* for open(), lseek(), read() */#  #include <fcntl.h>		/* for O_RDONLY, O_BINARY */#  #include <string.h>		/* for strdup() */# #  static unsigned int#  pe_get16 (fd, offset)#       int fd;#       int offset;#  {#    unsigned char b[2];#    lseek (fd, offset, SEEK_SET);#    read (fd, b, 2);#    return b[0] + (b[1]<<8);#  }# #  static unsigned int#  pe_get32 (fd, offset)#      int fd;#      int offset;#  {#    unsigned char b[4];#    lseek (fd, offset, SEEK_SET);#    read (fd, b, 4);#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);#  }# #  static unsigned int#  pe_as32 (ptr)#       void *ptr;#  {#    unsigned char *b = ptr;#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);#  }# #  int#  main (argc, argv)#      int argc;#      char *argv[];#  {#      int dll;#      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;#      unsigned long export_rva, export_size, nsections, secptr, expptr;#      unsigned long name_rvas, nexp;#      unsigned char *expdata, *erva;#      char *filename, *dll_name;# #      filename = argv[1];# #      dll = open(filename, O_RDONLY|O_BINARY);#      if (!dll)#  	return 1;# #      dll_name = filename;#    #      for (i=0; filename[i]; i++)#  	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')#  	    dll_name = filename + i +1;# #      pe_header_offset = pe_get32 (dll, 0x3c);#      opthdr_ofs = pe_header_offset + 4 + 20;#      num_entries = pe_get32 (dll, opthdr_ofs + 92);# #      if (num_entries < 1) /* no exports */#  	return 1;# #      export_rva = pe_get32 (dll, opthdr_ofs + 96);#      export_size = pe_get32 (dll, opthdr_ofs + 100);#      nsections = pe_get16 (dll, pe_header_offset + 4 +2);#      secptr = (pe_header_offset + 4 + 20 +#  	      pe_get16 (dll, pe_header_offset + 4 + 16));# #      expptr = 0;#      for (i = 0; i < nsections; i++)#      {#  	char sname[8];#  	unsigned long secptr1 = secptr + 40 * i;#  	unsigned long vaddr = pe_get32 (dll, secptr1 + 12);#  	unsigned long vsize = pe_get32 (dll, secptr1 + 16);#  	unsigned long fptr = pe_get32 (dll, secptr1 + 20);#  	lseek(dll, secptr1, SEEK_SET);#  	read(dll, sname, 8);#  	if (vaddr <= export_rva && vaddr+vsize > export_rva)#  	{#  	    expptr = fptr + (export_rva - vaddr);#  	    if (export_rva + export_size > vaddr + vsize)#  		export_size = vsize - (export_rva - vaddr);#  	    break;#  	}#      }# #      expdata = (unsigned char*)malloc(export_size);#      lseek (dll, expptr, SEEK_SET);#      read (dll, expdata, export_size);#      erva = expdata - export_rva;# #      nexp = pe_as32 (expdata+24);#      name_rvas = pe_as32 (expdata+32);# #      printf ("EXPORTS\n");#      for (i = 0; i<nexp; i++)#      {#  	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);#  	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);#      }# #      return 0;#  }# /* impgen.c ends here */      ;;    *)      allow_undefined=yes      ;;    esac    compile_command="$nonopt"    finalize_command="$nonopt"    compile_rpath=    finalize_rpath=    compile_shlibpath=    finalize_shlibpath=    convenience=    old_convenience=    deplibs=    linkopts=    if test -n "$shlibpath_var"; then      # get the directories listed in $shlibpath_var      eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`    else      lib_search_path=    fi    # now prepend the system-specific ones    eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"        avoid_version=no    dlfiles=    dlprefiles=    dlself=no    export_dynamic=no    export_symbols=    export_symbols_regex=    generated=    libobjs=    link_against_libtool_libs=    ltlibs=    module=no    objs=    prefer_static_libs=no    preload=no    prev=    prevarg=    release=    rpath=    xrpath=    perm_rpath=    temp_rpath=    thread_safe=no    vinfo=    # We need to know -static, to get the right output filenames.    for arg    do      case "$arg" in      -all-static | -static)	if test "X$arg" = "X-all-static"; then	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2	  fi	  if test -n "$link_static_flag"; then	    dlopen_self=$dlopen_self_static	  fi	else	  if test -z "$pic_flag" && test -n "$link_static_flag"; then	    dlopen_self=$dlopen_self_static	  fi	fi	build_libtool_libs=no	build_old_libs=yes	prefer_static_libs=yes	break	;;      esac    done    # See if our shared archives depend on static archives.    test -n "$old_archive_from_new_cmds" && build_old_libs=yes    # Go through the arguments, transforming them on the way.    while test $# -gt 0; do      arg="$1"      shift      # If the previous option needs an argument, assign it.      if test -n "$prev"; then	case "$prev" in	output)	  compile_command="$compile_command @OUTPUT@"	  finalize_command="$finalize_command @OUTPUT@"	  ;;	esac	case "$prev" in	dlfiles|dlprefiles)	  if test "$preload" = no; then	    # Add the symbol object into the linking commands.	    compile_command="$compile_command @SYMFILE@"	    finalize_command="$finalize_command @SYMFILE@"	    preload=yes	  fi	  case "$arg" in	  *.la | *.lo) ;;  # We handle these cases below.	  force)	    if test "$dlself" = no; then	      dlself=needless	      export_dynamic=yes	    fi	    prev=	    continue	    ;;	  self)	    if test "$prev" = dlprefiles; then	      dlself=yes	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then	      dlself=yes	    else	      dlself=needless	      export_dynamic=yes	    fi	    prev=	    continue	    ;;	  *)	    if test "$prev" = dlfiles; then	      dlfiles="$dlfiles $arg"	    else	      dlprefiles="$dlprefiles $arg"	    fi	    prev=	    ;;	  esac	  ;;	expsyms)	  export_symbols="$arg"	  if test ! -f "$arg"; then	    $echo "$modename: symbol file \`$arg' does not exist"	    exit 1	  fi	  prev=	  continue	  ;;	expsyms_regex)	  export_symbols_regex="$arg"	  prev=	  continue	  ;;	release)	  release="-$arg"	  prev=	  continue	  ;;	rpath | xrpath)	  # We need an absolute path.	  case "$arg" in	  [\\/]* | [A-Za-z]:[\\/]*) ;;	  *)	    $echo "$modename: only absolute run-paths are allowed" 1>&2	    exit 1	    ;;	  esac	  if test "$prev" = rpath; then	    case "$rpath " in	    *" $arg "*) ;;

⌨️ 快捷键说明

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