On Tue, 2013-11-19 at 14:29 -0800, Khem Raj wrote:
> Well reproducer case is that build from sstate but such that an external 
> module needs to be rebuilt
> if external module also comes from sstate then it all is fine. Its only when 
> everything is coming from
> sstate except this external module which needs to be rebuilt then you see 
> this problem.
> 
> now, I see the code in module-base.class
> 
> #
> # Ensure the hostprogs are available for module compilation. Modules that
> # inherit this recipe and override do_compile() should be sure to call
> # do_make_scripts() or ensure the scripts are built independently.
> #
> do_make_scripts() {
>         unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 
>         make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
>                    -C ${STAGING_KERNEL_DIR} scripts
> }
> 
> so it expects that, do_make_scripts is explicitly called by external module 
> recipes
> 
> and my recipes did override module_do_compile task but not do_compile like 
> below
> 
> module_do_compile() {
>         oe_runmake
> }
> 
> so, is comment wrong there should it say module_do_compile instead ?

The comment is slightly wrong, yes.  For correct results you need to
either:

1. inherit module (not module-base), which does:

addtask make_scripts after do_patch before do_compile

and will ensure that the scripts are built before your module is
compiled without you needing to do anything else.  Or...

2. inherit module-base and arrange to call do_make_scripts() explicitly
from your own recipe.

p.


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to