summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-28 11:13:23 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-28 16:52:57 +0100
commitcc953e2259bf77e9e1f7a1e3d0dbe1509c79477e (patch)
treee3daf32b8a207e0a52c1667bf093a2d1269af0c1 /meta
parente3408adc6912629f268795a1d3adb9df7134979b (diff)
downloadopenembedded-core-cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e.tar.gz
openembedded-core-cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e.tar.bz2
openembedded-core-cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e.tar.xz
openembedded-core-cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e.zip
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@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate.inc3
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 ea105e6eb..316a7647e 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}/