diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-17 17:27:25 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-05 11:39:09 +0100 |
commit | 463b38f605ba0d29768d4f4d1857f9c9b7da27c3 (patch) | |
tree | 374350806bb8c0c73e6307e4ff2c9be4208c29b6 /meta | |
parent | 89e8be62389217b7ca8f45fda4e75842c70ea00c (diff) | |
download | poky-463b38f605ba0d29768d4f4d1857f9c9b7da27c3.tar.gz |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-package-cross.inc | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-package-cross.inc b/meta/recipes-devtools/gcc/gcc-package-cross.inc index 3d27788c56..15627e7d92 100644 --- a/meta/recipes-devtools/gcc/gcc-package-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-package-cross.inc | |||
@@ -33,20 +33,22 @@ do_install () { | |||
33 | find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f | 33 | find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f |
34 | 34 | ||
35 | # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build | 35 | # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build |
36 | if [ "${PN}" == "gcc-cross" -o "${PN}" == "gcc-crosssdk" ]; then | 36 | case ${PN} in |
37 | dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS} | 37 | *gcc-cross|*gcc-crosssdk) |
38 | oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc | 38 | dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS} |
39 | oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc | ||
39 | 40 | ||
40 | # Ideally here we'd override the libgcc Makefile's idea of slibdir but | 41 | # Ideally here we'd override the libgcc Makefile's idea of slibdir but |
41 | # for now, we just move the files to the correct location | 42 | # for now, we just move the files to the correct location |
42 | 43 | ||
43 | install -d $dest${target_base_libdir} | 44 | install -d $dest${target_base_libdir} |
44 | mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir} | 45 | mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir} |
45 | rm -rf $dest${target_exec_prefix}/${TARGET_SYS} | 46 | rm -rf $dest${target_exec_prefix}/${TARGET_SYS} |
46 | 47 | ||
47 | # Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files | 48 | # Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files |
48 | 49 | ||
49 | mv $dest${target_libdir}/gcc/* $dest${target_libdir}/ | 50 | mv $dest${target_libdir}/gcc/* $dest${target_libdir}/ |
50 | rmdir $dest${target_libdir}/gcc | 51 | rmdir $dest${target_libdir}/gcc |
51 | fi | 52 | ;; |
53 | esac | ||
52 | } | 54 | } |