[OE-core] [PATCH 1/2] scons.bbclass: Force rebuild if necessary

Burton, Ross ross.burton at intel.com
Tue Nov 13 11:06:42 UTC 2018


This make me look at scons a bit closer, somewhat in shock that it
doesn't have a native way of doing out of tree builds.  Apparently
abusing the repository argument will sometimes work for out of tree
(so you could just put B=$WORKDIR/build and add B to [cleandirs]) but
abusing sounds like 'doesn't always work' to me.

I then discovered that the one recipe in oe-core that uses scons
doesn't in fact use the class, and switching to it breaks because
there's no standard way of passing install paths (serf tries to
install to /usr on the host).

So how is your experience with the scons class? Is it actually useful?

Ross
On Tue, 13 Nov 2018 at 10:18, Andreas Müller <schnitzeltony at gmail.com> wrote:
>
> Signed-off-by: Andreas Müller <schnitzeltony at gmail.com>
> ---
>  meta/classes/scons.bbclass | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/scons.bbclass b/meta/classes/scons.bbclass
> index b9ae19d582..286843f74c 100644
> --- a/meta/classes/scons.bbclass
> +++ b/meta/classes/scons.bbclass
> @@ -2,7 +2,16 @@ DEPENDS += "python-scons-native"
>
>  EXTRA_OESCONS ?= ""
>
> -do_configure[noexec] = "1"
> +do_configure() {
> +       if [ -n "${CONFIGURESTAMPFILE}" ]; then
> +               if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
> +                       ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
> +               fi
> +
> +               mkdir -p `dirname ${CONFIGURESTAMPFILE}`
> +               echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
> +       fi
> +}
>
>  scons_do_compile() {
>          ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
> --
> 2.14.5
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list