On Fri, May 2, 2014 at 10:21 AM, Richard Purdie
<[email protected]> wrote:
> On Fri, 2014-05-02 at 01:13 +0200, Andrea Adami wrote:
>> Klcc-cross is properly a crosscript so avoid to
>> inherit cross.bbclass and stage it in target sysroot
>> under usr/bin/crossscripts.
>> Minor adjustment is necessary for INSTALLDIR.
>>
>> Finally some optional magic mangling is added to better match the perl 
>> syntax:
>> let it commented for future reference.
>
> Why is this commented? Its not optional and the recipe will not work
> properly without that change.
>
> Cheers,
>
> Richard


Richard,

I probably misunderstand that part.

I could not see any difference in the produced klcc.cross scripts with
or without the mangling.
Tested runtime on 3 machines.
What I did not yet try is a rebuild from sstate but I expect it to be rebuilt.

Will send a patch v2.

Thanks

Andrea


>
>> Signed-off-by: Richard Purdie <[email protected]>
>> Signed-off-by: Andrea Adami <[email protected]>
>> ---
>>  .../recipes-devtools/klibc/klcc-cross_2.0.3.bb     | 40 
>> +++++++++++++---------
>>  1 file changed, 23 insertions(+), 17 deletions(-)
>>
>> diff --git a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb 
>> b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb
>> index 7ff9c2e..5e767c1 100644
>> --- a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb
>> +++ b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb
>> @@ -7,28 +7,34 @@ FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
>>
>>  SRC_URI += "file://use-env-for-perl.patch"
>>
>> -inherit cross
>> -
>>  # disable task already run in klibc recipe
>>  do_configure[noexec] = "1"
>> +
>>  do_compile() {
>> -    oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${target_libdir}/klibc' klcc
>> +    oe_runmake 'INSTALLDIR=${STAGING_DIR_TARGET}${libdir}/klibc' klcc
>>  }
>> -# The linux-libc-headers and klibc custom headers are not machine-specific
>> -# but are installed into machine sysroot.
>> -# Klcc wrapper is hardcoding some of these paths thus, to keep the recipe
>> -# arch-specific, we force the rebuild of klcc-cross for each machine.
>> -do_compile[vardeps] += "MACHINE"
>> +
>>  do_install() {
>> -    install -d ${D}${bindir}
>> -    install -m 0755 klcc/klcc ${D}${bindir}/${TARGET_PREFIX}klcc
>> +    install -d ${D}${bindir_crossscripts}/
>> +    install -m 0755 klcc/klcc 
>> ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
>> +    # Insert an unencoded path as a comment to trigger the sstate renaming 
>> functions
>> +    sed -i '2i #${STAGING_DIR_TARGET}'  
>> ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
>> +}
>> +
>> +SYSROOT_PREPROCESS_FUNCS += "klcc_sysroot_preprocess"
>> +
>> +klcc_sysroot_preprocess () {
>> +       sysroot_stage_dir ${D}${bindir_crossscripts} 
>> ${SYSROOT_DESTDIR}${bindir_crossscripts}
>>  }
>>
>> +deltask do_package
>> +deltask do_packagedata
>> +deltask do_package_write_ipk
>> +deltask do_package_write_rpm
>> +deltask do_package_write_deb
>> +deltask do_package_write_tar
>>
>> -# disable unneeded tasks
>> -do_package[noexec] = "1"
>> -do_packagedata[noexec] = "1"
>> -do_package_write_ipk[noexec] = "1"
>> -do_package_write_rpm[noexec] = "1"
>> -do_package_write_deb[noexec] = "1"
>> -do_package_write_tar[noexec] = "1"
>> +SSTATE_SCAN_FILES = "*"
>> +#EXTRA_STAGING_FIXMES = "MANGLEDSTAGINGDIRTARGET MANGLEDSTAGINGDIR"
>> +#MANGLEDSTAGINGDIR = "${@d.getVar("STAGING_DIR", True).replace("/", 
>> "\\\\/").replace("-", "\\-")}"
>> +#MANGLEDSTAGINGDIRTARGET = "${@d.getVar("STAGING_DIR_TARGET", 
>> True).replace("/", "\\\\/").replace("-", "\\-")}"
>
>
-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to