From 83b20f850881580660b74d571edf2f2586a7d473 Mon Sep 17 00:00:00 2001 From: Alexandru-Cezar Sardan Date: Thu, 27 Feb 2014 14:17:35 +0200 Subject: gcc: Enable SPE & AltiVec generation on powepc*linux target. [ADT bug #5761] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5761 Also this patch adds symlinks to libgcc such that a GCC configured by passing the target parameter without LIBCEXTENSION and ABIEXTENSION specifiers to find the correct startup files from a libgcc configured with these variables. (From OE-Core rev: 97f2a81d6796ddaf7bbaab86c2ab9039673c732c) Signed-off-by: Alexandru-Cezar Sardan Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/libgcc.inc | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'meta/recipes-devtools/gcc/libgcc.inc') diff --git a/meta/recipes-devtools/gcc/libgcc.inc b/meta/recipes-devtools/gcc/libgcc.inc index fe98238677..b185660ffd 100644 --- a/meta/recipes-devtools/gcc/libgcc.inc +++ b/meta/recipes-devtools/gcc/libgcc.inc @@ -17,7 +17,8 @@ FILES_${PN}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/32 \ ${libdir}/${TARGET_SYS}/${BINV}/x32 \ ${libdir}/${TARGET_SYS}/${BINV}/n32 \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${@base_conditional('TARGET_SYS_NO_EXTENSION', '${TARGET_SYS}', '', '${libdir}/${TARGET_SYS_NO_EXTENSION}', d)}" FILES_libgcov-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ " @@ -141,3 +142,24 @@ python do_multilib_install() { os.unlink(dest) os.symlink(src, dest) } + +addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot +python do_extra_symlinks() { + targetsysnoext = d.getVar('TARGET_SYS_NO_EXTENSION', True) + + if targetsysnoext != d.getVar('TARGET_SYS', True): + dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsysnoext + src = d.getVar('TARGET_SYS', True) + if not os.path.lexists(dest): + os.symlink(src, dest) +} + +python () { + targetsysnoext = d.getVar('TARGET_SYS', True) + + for suffix in [d.getVar('ABIEXTENSION', True), d.getVar('LIBCEXTENSION', True)]: + if suffix and targetsysnoext.endswith(suffix): + targetsysnoext = targetsysnoext[:-len(suffix)] + + d.setVar('TARGET_SYS_NO_EXTENSION', targetsysnoext) +} -- cgit v1.2.3-54-g00ecf