Pārlūkot izejas kodu

Makefile.autotools.in: add libtool v2.4 support

Packages (like avahi) are now using libtool 2.4, so extend the libtool
handling to support those as well.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard 14 gadi atpakaļ
vecāks
revīzija
f055b266f1
2 mainītis faili ar 49 papildinājumiem un 0 dzēšanām
  1. 2 0
      package/Makefile.autotools.in
  2. 47 0
      package/buildroot-libtool-v2.4.patch

+ 2 - 0
package/Makefile.autotools.in

@@ -145,6 +145,8 @@ define LIBTOOL_PATCH_HOOK
 				toolchain/patch-kernel.sh $$$${i%/*} package buildroot-libtool-v1.5.patch; \
 			elif test $$$${ltmain_version} = "2.2"; then\
 				toolchain/patch-kernel.sh $$$${i%/*} package buildroot-libtool-v2.2.patch; \
+			elif test $$$${ltmain_version} = "2.4"; then\
+				toolchain/patch-kernel.sh $$$${i%/*} package buildroot-libtool-v2.4.patch; \
 			fi \
 		done \
 	fi

+ 47 - 0
package/buildroot-libtool-v2.4.patch

@@ -0,0 +1,47 @@
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -1416,8 +1416,8 @@
+ 	# was found and let the user know that the "--tag" command
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+-	  func_echo "unable to infer tagged configuration"
+-	  func_fatal_error "specify a tag with \`--tag'"
++	  func_echo "defaulting to \`CC'"
++	  func_echo "if this is not correct, specify a tag with \`--tag'"
+ #	else
+ #	  func_verbose "using $tagname tagged configuration"
+ 	fi
+@@ -2962,8 +2962,11 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  test "$inst_prefix_dir" = "$destdir" && \
+-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
++	  #
++	  # This breaks install into our staging area.  -PB
++	  #
++	  # test "$inst_prefix_dir" = "$destdir" && \
++	  #   func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.
+@@ -6683,7 +6686,7 @@
+ 	  *)
+ 	    if test "$installed" = no; then
+ 	      func_append notinst_deplibs " $lib"
+-	      need_relink=yes
++	      need_relink=no
+ 	    fi
+ 	    ;;
+ 	  esac
+@@ -9257,6 +9260,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		func_basename "$deplib"