diff --git a/recipes/libtool/libtool-2.2.10/lzma_removed.patch b/recipes/libtool/libtool-2.2.10/lzma_removed.patch
deleted file mode 100644
index 70ce57b..0000000
--- a/recipes/libtool/libtool-2.2.10/lzma_removed.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN libtool-2.2.10/configure.ac libtool-2.2.10.mod/configure.ac
---- libtool-2.2.10/configure.ac	2010-06-09 15:00:04.000000000 +0200
-+++ libtool-2.2.10.mod/configure.ac	2012-10-10 01:35:44.000000000 +0200
-@@ -122,7 +122,7 @@
- 
- dnl These are bootstrap requirements! Once built, libtool may work with
- dnl much older releases of autoconf and automake.  See release notes.
--AM_INIT_AUTOMAKE([1.10.1 gnu subdir-objects dist-lzma])
-+AM_INIT_AUTOMAKE([1.10.1 gnu subdir-objects])
- 
- dnl We use m4sh to generate libtool's portable shell scripts
- AC_SUBST([M4SH], ['$(AUTOM4TE) --language=m4sh'])
diff --git a/recipes/libtool/libtool-2.4.2/cross_compile.patch b/recipes/libtool/libtool-2.4.2/cross_compile.patch
new file mode 100644
index 0000000..149a17f
--- /dev/null
+++ b/recipes/libtool/libtool-2.4.2/cross_compile.patch
@@ -0,0 +1,43 @@
+diff -urN a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
+--- a/libltdl/config/ltmain.m4sh	2011-10-17 12:17:05.000000000 +0200
++++ b/libltdl/config/ltmain.m4sh	2013-10-22 17:50:24.921016169 +0200
+@@ -5731,8 +5731,9 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$lt_sysroot$libdir"
+-	    absdir="$lt_sysroot$libdir"
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -6130,8 +6131,6 @@
+ 		add="$libdir/$linklib"
+ 	      fi
+ 	    else
+-	      # We cannot seem to hardcode it, guess we'll fake it.
+-	      add_dir="-L$libdir"
+ 	      # Try looking first in the location we're being installed to.
+ 	      if test -n "$inst_prefix_dir"; then
+ 		case $libdir in
+@@ -6286,7 +6285,17 @@
+ 		  fi
+ 		  ;;
+ 		*)
+-		  path="-L$absdir/$objdir"
++                  # OE sets installed=no in staging. We need to look in $objdir and $absdir, 
++                  # preferring $objdir. RP 31/04/2008
++                  if test -f "$absdir/$objdir/$depdepl" ; then
++		    depdepl="$absdir/$objdir/$depdepl"
++		    path="-L$absdir/$objdir"
++                  elif test -f "$absdir/$depdepl" ; then
++		    depdepl="$absdir/$depdepl"
++		    path="-L$absdir"
++                  else
++		    path="-L$absdir/$objdir"
++                  fi
+ 		  ;;
+ 		esac
+ 		else
diff --git a/recipes/libtool/libtool-2.2.10/default-bindir.patch b/recipes/libtool/libtool-2.4.2/default-bindir.patch
similarity index 100%
rename from recipes/libtool/libtool-2.2.10/default-bindir.patch
rename to recipes/libtool/libtool-2.4.2/default-bindir.patch
diff --git a/recipes/libtool/libtool-2.4.2/syslib.patch b/recipes/libtool/libtool-2.4.2/syslib.patch
new file mode 100644
index 0000000..912c010
--- /dev/null
+++ b/recipes/libtool/libtool-2.4.2/syslib.patch
@@ -0,0 +1,30 @@
+diff -urN a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
+--- a/libltdl/config/ltmain.m4sh	2011-10-17 12:17:05.000000000 +0200
++++ b/libltdl/config/ltmain.m4sh	2014-04-02 23:19:35.179802667 +0200
+@@ -5397,9 +5397,9 @@
+ 	  func_stripname '-l' '' "$deplib"
+ 	  name=$func_stripname_result
+ 	  if test "$linkmode" = lib; then
+-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
++	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs"
+ 	  else
+-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
++	    searchdirs="$newlib_search_path $lib_search_path"
+ 	  fi
+ 	  for searchdir in $searchdirs; do
+ 	    for search_ext in .la $std_shrext .so .a; do
+diff -urN a/libltdl/config/ltmain.sh b/libltdl/config/ltmain.sh
+--- a/libltdl/config/ltmain.sh	2011-10-17 12:19:35.000000000 +0200
++++ b/libltdl/config/ltmain.sh	2014-04-02 23:19:20.428198693 +0200
+@@ -6184,9 +6184,9 @@
+ 	  func_stripname '-l' '' "$deplib"
+ 	  name=$func_stripname_result
+ 	  if test "$linkmode" = lib; then
+-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
++	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs"
+ 	  else
+-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
++	    searchdirs="$newlib_search_path $lib_search_path"
+ 	  fi
+ 	  for searchdir in $searchdirs; do
+ 	    for search_ext in .la $std_shrext .so .a; do
diff --git a/recipes/libtool/libtool-2.2.inc b/recipes/libtool/libtool-2.4.inc
similarity index 100%
rename from recipes/libtool/libtool-2.2.inc
rename to recipes/libtool/libtool-2.4.inc
diff --git a/recipes/libtool/libtool_2.2.10.oe.sig b/recipes/libtool/libtool_2.2.10.oe.sig
deleted file mode 100644
index b29f5a6..0000000
--- a/recipes/libtool/libtool_2.2.10.oe.sig
+++ /dev/null
@@ -1 +0,0 @@
-e8fa9813d8e9a5497c636744e6fd3f55d86eec38  libtool-2.2.10.tar.gz
diff --git a/recipes/libtool/libtool_2.2.10.oe b/recipes/libtool/libtool_2.4.2.oe
similarity index 51%
rename from recipes/libtool/libtool_2.2.10.oe
rename to recipes/libtool/libtool_2.4.2.oe
index df5e62d..d8fe10a 100644
--- a/recipes/libtool/libtool_2.2.10.oe
+++ b/recipes/libtool/libtool_2.4.2.oe
@@ -1,17 +1,20 @@
 LICENSE = "GPL-2.0+"
 LICENSE_${PN}-libltdl = "LGPL-2.1+"
 
-require libtool-2.2.inc
+require libtool-2.4.inc
 
-SRC_URI += "file://lzma_removed.patch"
+SRC_URI += "file://syslib.patch"
+
+libtool_cross_compile = ""
+libtool_cross_compile:cross = "file://cross_compile.patch"
+libtool_cross_compile:sdk-cross = "file://cross_compile.patch"
+SRC_URI += "${libtool_cross_compile}"
 
 addtask bootstrap before configure after fetch unpack patch stage
 do_bootstrap[dirs] = "${S}"
 
 do_bootstrap () {
-	if [ "${RECIPE_TYPE}" != "native" ]; then
-		./bootstrap
-	fi
+	./bootstrap
 }
 
 SRC_URI:>TARGET_LIBC_mingw = " file://default-bindir.patch"
diff --git a/recipes/libtool/libtool_2.4.2.oe.sig b/recipes/libtool/libtool_2.4.2.oe.sig
new file mode 100644
index 0000000..20f70c3
--- /dev/null
+++ b/recipes/libtool/libtool_2.4.2.oe.sig
@@ -0,0 +1 @@
+22b71a8b5ce3ad86e1094e7285981cae10e6ff88  libtool-2.4.2.tar.gz
