[OE-core] [PATCH 10/10] libgcc: get the gcc header files working

Richard Purdie richard.purdie at linuxfoundation.org
Wed Feb 22 13:43:07 UTC 2012


On Tue, 2012-02-21 at 22:37 -0800, nitin.a.kamble at intel.com wrote:
> From: Nitin A Kamble <nitin.a.kamble at intel.com>
> 
> Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> ---
>  meta/recipes-devtools/gcc/libgcc_4.6.bb |   53 +++++++++++++++++++++++++++++++
>  1 files changed, 53 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/recipes-devtools/gcc/libgcc_4.6.bb b/meta/recipes-devtools/gcc/libgcc_4.6.bb
> index 076cf37..6d93341 100644
> --- a/meta/recipes-devtools/gcc/libgcc_4.6.bb
> +++ b/meta/recipes-devtools/gcc/libgcc_4.6.bb
> @@ -14,6 +14,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*"
>  FILES_${PN}-dev = " \
>    ${base_libdir}/libgcc*.so \
>    ${libdir}/${TARGET_SYS}/${BINV}/crt* \
> +  ${libdir}/${TARGET_SYS}/${BINV}/32 \
> +  ${libdir}/${TARGET_SYS}/${BINV}/x32 \
> +  ${libdir}/${TARGET_SYS}/${BINV}/n32 \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
>  FILES_libgcov-dev = " \
>    ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a "
> @@ -51,3 +54,53 @@ BBCLASSEXTEND = "nativesdk"
>  INSANE_SKIP_libgcc-dev = "staticdev"
>  INSANE_SKIP_libgcov-dev = "staticdev"
>  
> +addtask multilib_install after do_install before do_package
> +
> +
> +# this makes multilib gcc files findable for target gcc
> +# like this directory is made findable 
> +#    /usr/lib/i586-pokymllib32-linux/4.6.3/
> +# by creating this symlink to it
> +#    /usr/lib64/x86_64-poky-linux/4.6.3/32

This might be one case where moving the files is actually the right
thing to do. The "pokymllib32" is an artefact of the way we do multilib
builds and likely shouldn't be exposed on the target. I'm not sure how
relocatable these files are though.

> +python do_multilib_install() {
> +        import re
> +        # do this only for multilib extended recipe
> +        if d.getVar('PN', 1) != 'libgcc':
> +                return
> +
> +        tune_arch = d.getVar('TUNE_ARCH', 1) or ''
> +        defaulttune = d.getVar('DEFAULTTUNE', 1) or ''
> +        multilibs = d.getVar('MULTILIB_VARIANTS', 1) or ''
> +        if multilibs == '':
> +                return
> +
> +	tunes_32 = ['x86', 'core2', 'i586', 'mips', 'mipsel', 'mips-nf', 'mipsel-nf', 'powerpc', 'powerpc-nf']
> +        tunes_64 = ['x86-64', 'core2-64', 'mips64', 'mips64el', 'mips64-nf', 'mips64el-nf', 'powerpc64']
> +        tunes_x32 = ['x86-64-x32', 'core2-64-x32']
> +        tunes_n32 = ['mips64-n32', 'mips64el-n32', 'mips64-nf-n32', 'mips64el-nf-n32']

Just for reference, duplicating these lists over two files is an
extremely bad idea...

I'm hoping we can clean some of this up with the comments in my reply to
the other patch too.

Cheers,

Richard






More information about the Openembedded-core mailing list