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
