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

📄 libtool

📁 MODBUS/TCP to RS-232/485 MODBUS/RTU gateway server
💻
📖 第 1 页 / 共 5 页
字号:
	  exit 1	fi	current="$2"	revision="$3"	age="$4"	# Check that each of the things are valid numbers.	case "$current" in	0 | [1-9] | [1-9][0-9]*) ;;	*)	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2	  exit 1	  ;;	esac	case "$revision" in	0 | [1-9] | [1-9][0-9]*) ;;	*)	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2	  exit 1	  ;;	esac	case "$age" in	0 | [1-9] | [1-9][0-9]*) ;;	*)	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2	  exit 1	  ;;	esac	if test $age -gt $current; then	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2	  exit 1	fi	# Calculate the version variables.	major=	versuffix=	verstring=	case "$version_type" in	none) ;;	irix)	  major=`expr $current - $age + 1`	  versuffix="$major.$revision"	  verstring="sgi$major.$revision"	  # Add in all the interfaces that we are compatible with.	  loop=$revision	  while test $loop != 0; do	    iface=`expr $revision - $loop`	    loop=`expr $loop - 1`	    verstring="sgi$major.$iface:$verstring"	  done	  ;;	linux)	  major=.`expr $current - $age`	  versuffix="$major.$age.$revision"	  ;;	osf)	  major=`expr $current - $age`	  versuffix=".$current.$age.$revision"	  verstring="$current.$age.$revision"	  # Add in all the interfaces that we are compatible with.	  loop=$age	  while test $loop != 0; do	    iface=`expr $current - $loop`	    loop=`expr $loop - 1`	    verstring="$verstring:${iface}.0"	  done	  # Make executables depend on our current version.	  verstring="$verstring:${current}.0"	  ;;	sunos)	  major=".$current"	  versuffix=".$current.$revision"	  ;;	freebsd-aout)	  major=".$current"	  versuffix=".$current.$revision";	  ;;	freebsd-elf)	  major=".$current"	  versuffix=".$current";	  ;;	windows)	  # Like Linux, but with '-' rather than '.', since we only	  # want one extension on Windows 95.	  major=`expr $current - $age`	  versuffix="-$major-$age-$revision"	  ;;	*)	  $echo "$modename: unknown library version type \`$version_type'" 1>&2	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2	  exit 1	  ;;	esac	# Clear the version info if we defaulted, and they specified a release.	if test -z "$vinfo" && test -n "$release"; then	  major=	  verstring="0.0"	  if test "$need_version" = no; then	    versuffix=	  else	    versuffix=".0.0"	  fi	fi	# Remove version info from name if versioning should be avoided	if test "$avoid_version" = yes && test "$need_version" = no; then	  major=	  versuffix=	  verstring=""	fi		# Check to see if the archive will have undefined symbols.	if test "$allow_undefined" = yes; then	  if test "$allow_undefined_flag" = unsupported; then	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2	    build_libtool_libs=no	    build_old_libs=yes	  fi	else	  # Don't allow undefined symbols.	  allow_undefined_flag="$no_undefined_flag"	fi	dependency_libs="$deplibs"	case "$host" in	*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)	  # these systems don't actually have a c library (as such)!	  ;;	*-*-freebsd*)	  # FreeBSD doesn't need this...	  ;;	*)	  # Add libc to deplibs on all other systems.	  deplibs="$deplibs -lc"	  ;;	esac      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; 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"      # Create the output directory, or remove our outputs if we need to.      if test -d $output_objdir; then	$show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"	$run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*      else	$show "$mkdir $output_objdir"	$run $mkdir $output_objdir	status=$?	if test $status -ne 0 && test ! -d $output_objdir; then	  exit $status	fi      fi      # Now set the variables for building old libraries.      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then	if test "$release_suffix" = all; then	 oldlibs="$oldlibs $output_objdir/$libname$release.$libext"	else	 oldlibs="$oldlibs $output_objdir/$libname.$libext"	fi	# Transform .lo files to .o files.	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`      fi      if test "$build_libtool_libs" = yes; then	# Transform deplibs into only deplibs that can be linked in shared.	name_save=$name	libname_save=$libname	release_save=$release	versuffix_save=$versuffix	major_save=$major	# I'm not sure if I'm treating the release correctly.  I think	# release should show up in the -l (ie -lgmp5) so we don't want to	# add it in twice.  Is that correct?	release=""	versuffix=""	major=""	newdeplibs=	droppeddeps=no	case "$deplibs_check_method" in	pass_all)	  # Don't check for shared/static.  Everything works.	  # This might be a little naive.  We might want to check	  # whether the library exists or not.  But this is on	  # osf3 & osf4 and I'm not really sure... Just	  # implementing what was already the behaviour.	  newdeplibs=$deplibs	  ;;	test_compile)	  # This code stresses the "libraries are programs" paradigm to its	  # limits. Maybe even breaks it.  We compile a program, linking it	  # against the deplibs as a proxy for the library.  Then we can check	  # whether they linked in statically or dynamically with ldd.	  $rm conftest.c	  cat > conftest.c <<EOF	  int main() { return 0; }EOF	  $rm conftest	  $CC -o conftest conftest.c $deplibs	  if test $? -eq 0 ; then	    ldd_output=`ldd conftest`	    for i in $deplibs; do	      name="`expr $i : '-l\(.*\)'`"	      # If $name is empty we are operating on a -L argument.	      if test "$name" != "" ; then		libname=`eval \\$echo \"$libname_spec\"`		deplib_matches=`eval \\$echo \"$library_names_spec\"`		set dummy $deplib_matches		deplib_match=$2		if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then		  newdeplibs="$newdeplibs $i"		else		  droppeddeps=yes		  echo		  echo "*** Warning: This library needs some functionality provided by $i."		  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."		fi	      else		newdeplibs="$newdeplibs $i"	      fi	    done	  else	    # Error occured in the first compile.  Let's try to salvage the situation:	    # Compile a seperate program for each library.	    for i in $deplibs; do	      name="`expr $i : '-l\(.*\)'`"	     # If $name is empty we are operating on a -L argument.	      if test "$name" != "" ; then		$rm conftest		$CC -o conftest conftest.c $i		# Did it work?		if test $? -eq 0 ; then		  ldd_output=`ldd conftest`		  libname=`eval \\$echo \"$libname_spec\"`		  deplib_matches=`eval \\$echo \"$library_names_spec\"`		  set dummy $deplib_matches		  deplib_match=$2		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then		    newdeplibs="$newdeplibs $i"		  else		    droppeddeps=yes		    echo		    echo "*** Warning: This library needs some functionality provided by $i."		    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."		  fi		else		  droppeddeps=yes		  echo		  echo "*** Warning!  Library $i is needed by this library but I was not able to"		  echo "***  make it link in!  You will probably need to install it or some"		  echo "*** library that it depends on before this library will be fully"		  echo "*** functional.  Installing it before continuing would be even better."		fi	      else		newdeplibs="$newdeplibs $i"	      fi	    done	  fi	  ;;	file_magic*)	  set dummy $deplibs_check_method	  file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"	  for a_deplib in $deplibs; do	    name="`expr $a_deplib : '-l\(.*\)'`"	    # If $name is empty we are operating on a -L argument.	    if test "$name" != "" ; then	      libname=`eval \\$echo \"$libname_spec\"`	      for i in $lib_search_path; do		    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`		    for potent_lib in $potential_libs; do		      # Follow soft links.		      if ls -lLd "$potent_lib" 2>/dev/null \			 | grep " -> " >/dev/null; then			continue 		      fi		      # The statement above tries to avoid entering an		      # endless loop below, in case of cyclic links.		      # We might still enter an endless loop, since a link		      # loop can be closed while we follow links,		      # but so what?		      potlib="$potent_lib"		      while test -h "$potlib" 2>/dev/null; do			potliblink=`ls -ld $potlib | sed 's/.* -> //'`			case "$potliblink" in			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;			esac		      done		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \			 | sed 10q \			 | egrep "$file_magic_regex" > /dev/null; then			newdeplibs="$newdeplibs $a_deplib"			a_deplib=""			break 2		      fi		    done	      done	      if test -n "$a_deplib" ; then		droppeddeps=yes		echo		echo "*** Warning: This library needs some functionality provided by $a_deplib."		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."	      fi	    else	      # Add a -L argument.	      newdeplibs="$newdeplibs $a_deplib"	    fi	  done # Gone through all deplibs.	  ;;	none | unknown | *)	  newdeplibs=""	  if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \	       -e 's/ -[LR][^ ]*//g' -e 's/[ 	]//g' |	     grep . >/dev/null; then	    echo	    if test "X$deplibs_check_method" = "Xnone"; then	      echo "*** Warning: inter-library dependencies are not supported in this platform."	    else	      echo "*** Warning: inter-library dependencies are not known to be supported."	    fi	    echo "*** All declared inter-library dependencies are being dropped."	    droppeddeps=yes	  fi	  ;;	esac	versuffix=$versuffix_save	major=$major_save	release=$release_save	libname=$libname_save	name=$name_save	if test "$droppeddeps" = yes; then	  if test "$module" = yes; then	    echo	    echo "*** Warning: libtool could not satisfy all declared inter-library"	    echo "*** dependencies of module $libname.  Therefore, libtool will create"	    echo "*** a static module, that should work as long as the dlopening"	    echo "*** application is linked with the -dlopen flag."	    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	      if test "$release_suffix" = all; then	        oldlibs="$output_objdir/$libname$release.$libext"	      else	        oldlibs="$output_objdir/$libname.$libext"	      fi	      build_libtool_libs=module	      build_old_libs=yes	    else	      build_libtool_libs=no	    fi	  else	    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	# Done checking deplibs!	deplibs=$newdeplibs      fi      # All the libr

⌨️ 快捷键说明

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