From 83af822f7b28169b096d592027e97c55cc83eb27 Mon Sep 17 00:00:00 2001 From: Martin Banky Date: Sat, 9 Oct 2010 12:52:49 +0200 Subject: Added the ability to patch ltmain.sh based on version There are two versions of ltmain.sh in use in the buildroot system, 1.5.x and 2.2.x. buildroot-libtool.patch would only patch 1.5.x, which meant that for 2.2.x, a separate patch for the affected package had to be maintained. Modified Makefile.autotools.in to check the version of ltmain.sh and apply the correct patch. Signed-off-by: Martin Banky Signed-off-by: Thomas Petazzoni --- package/buildroot-libtool-v1.5.patch | 69 ++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 package/buildroot-libtool-v1.5.patch (limited to 'package/buildroot-libtool-v1.5.patch') diff --git a/package/buildroot-libtool-v1.5.patch b/package/buildroot-libtool-v1.5.patch new file mode 100644 index 000000000..57a7c58e3 --- /dev/null +++ b/package/buildroot-libtool-v1.5.patch @@ -0,0 +1,69 @@ +--- a/ltmain.sh 2006-03-11 13:49:04.000000000 -0500 ++++ b/ltmain.sh 2008-04-30 09:55:28.000000000 -0400 +@@ -273,8 +273,9 @@ func_infer_tag () + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" +- $echo "$modename: specify a tag with \`--tag'" 1>&2 +- exit $EXIT_FAILURE ++ $echo "$modename: defaulting to \`CC'" ++ $echo "$modename: if this is not correct, specify a tag with \`--tag'" ++# exit $EXIT_FAILURE + # else + # $echo "$modename: using $tagname tagged configuration" + fi +@@ -2407,8 +2408,14 @@ EOF + absdir="$abs_ladir" + libdir="$abs_ladir" + else +- dir="$libdir" +- absdir="$libdir" ++ # Adding 'libdir' from the .la file to our library search paths ++ # breaks crosscompilation horribly. We cheat here and don't add ++ # it, instead adding the path where we found the .la. -CL ++ dir="$abs_ladir" ++ absdir="$abs_ladir" ++ libdir="$abs_ladir" ++ #dir="$libdir" ++ #absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else +@@ -2545,7 +2552,7 @@ EOF + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" +- need_relink=yes ++ need_relink=no + fi + # This is a shared library + +@@ -5606,6 +5623,10 @@ fi\ + # 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) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` +@@ -5927,10 +5948,13 @@ relink_command=\"$relink_command\"" + # 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. +- if test "$inst_prefix_dir" = "$destdir"; then +- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 +- exit $EXIT_FAILURE +- fi ++ # ++ # This breaks install into our staging area. -PB ++ # ++ # if test "$inst_prefix_dir" = "$destdir"; then ++ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 ++ # exit $EXIT_FAILURE ++ # fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. -- cgit v1.2.3