gcc-package-cross: Switch to using pattern matching to detect when to stash libgcc into the sysroot

Currently, we stash libgcc if PN is gcc-cross or gcc-crosssdk. This patch
changes it to work for *gcc-cross and *-gcc-crosssdk which means it
will patch for multilib extended toolchains.

(From OE-Core rev: a39cbed2ec887fb83335ba93e92d971c84a0f4d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-06-17 17:27:25 +01:00
parent 89e8be6238
commit 463b38f605
1 changed files with 14 additions and 12 deletions

View File

@ -33,20 +33,22 @@ do_install () {
find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
# gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
if [ "${PN}" == "gcc-cross" -o "${PN}" == "gcc-crosssdk" ]; then
dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc
case ${PN} in
*gcc-cross|*gcc-crosssdk)
dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc
# Ideally here we'd override the libgcc Makefile's idea of slibdir but
# for now, we just move the files to the correct location
# Ideally here we'd override the libgcc Makefile's idea of slibdir but
# for now, we just move the files to the correct location
install -d $dest${target_base_libdir}
mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir}
rm -rf $dest${target_exec_prefix}/${TARGET_SYS}
install -d $dest${target_base_libdir}
mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir}
rm -rf $dest${target_exec_prefix}/${TARGET_SYS}
# Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files
# Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files
mv $dest${target_libdir}/gcc/* $dest${target_libdir}/
rmdir $dest${target_libdir}/gcc
fi
mv $dest${target_libdir}/gcc/* $dest${target_libdir}/
rmdir $dest${target_libdir}/gcc
;;
esac
}