[oe-commits] Richard Purdie : gcc-cross-intermediate: Ensure we move the libraries from the correct location

git at git.openembedded.org git at git.openembedded.org
Wed Mar 28 15:57:33 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Wed Mar 28 11:13:23 2012 +0000

gcc-cross-intermediate: Ensure we move the libraries from the correct location

This fixes multilib issues if you try for example to use a BASELIB of /lib32
which wouldn't work without this change since the compiler install location
is taken from gcc -print-multi-os-directory which can still turn out to be
"/lib".

The reason is that a 32 bit gcc has no multilib code enabled and will always
return "." as that value rather than "../${base_libdir}" which our changes
to gcc enable and return in 64 bit mode.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 .../gcc/gcc-cross-intermediate.inc                 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
index ea105e6..316a764 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
@@ -37,7 +37,8 @@ do_compile () {
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
 	install -d ${D}${target_base_libdir}/
-	mv ${D}${exec_prefix}/${TARGET_SYS}/${baselib}/* ${D}${target_base_libdir}/
+	osdir=`${D}${STAGING_BINDIR_TOOLCHAIN}.${PN}/${TARGET_PREFIX}gcc -print-multi-os-directory`
+	mv ${D}${exec_prefix}/${TARGET_SYS}/lib/$osdir/* ${D}${target_base_libdir}/
 
 	# We don't really need this (here shares/ contains man/, info/, locale/).
 	rm -rf ${D}${datadir}/





More information about the Openembedded-commits mailing list