diff --git a/conf/distro/include/toolchain-external.inc b/conf/distro/include/toolchain-external.inc index 59b6470..cf8b79a 100644 --- a/conf/distro/include/toolchain-external.inc +++ b/conf/distro/include/toolchain-external.inc @@ -8,3 +8,5 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-toolchain-${TOOLCHAIN TOOLCHAIN_VENDOR ?= "${TARGET_VENDOR}" TARGET_VENDOR := "${TOOLCHAIN_VENDOR}" + +LIBTOOL_HAS_SYSROOT = "no" diff --git a/recipes/libtool/libtool.inc b/recipes/libtool/libtool.inc index 97fdb30..71bd243 100644 --- a/recipes/libtool/libtool.inc +++ b/recipes/libtool/libtool.inc @@ -18,7 +18,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://trailingslash.patch \ file://prefix-manpage-fix.patch \ file://resolve-sysroot.patch \ - file://use-sysroot-in-libpath.patch \ + ${@['file://do-not-use-sysroot-in-libpath.patch','file://use-sysroot-in-libpath.patch'][bb.data.getVar('LIBTOOL_HAS_SYSROOT', d, 1) == 'yes']} \ " do_configure_prepend () { if ${@['true', 'false'][bb.data.inherits_class('native', d) or bb.data.inherits_class('sdk', d) or (bb.data.getVar('PN', d, 1) == 'libtool-cross')]} --- /dev/null +++ b/recipes/libtool/libtool-2.4/do-not-use-sysroot-in-libpath.patch @@ -0,0 +1,18 @@ +When using sysroot we should append it to libdir which is helpful in cross builds +as the system is staged in the sysroot. For normal build i.e. when lt_sysroot is not +set it will still behave same and add -L/usr/lib to relink command + +-Khem + +Index: libtool-2.4/libltdl/config/ltmain.m4sh +=================================================================== +--- libtool-2.4.orig/libltdl/config/ltmain.m4sh ++++ libtool-2.4/libltdl/config/ltmain.m4sh +@@ -6122,7 +6122,6 @@ func_mode_link () + 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