[oe] bitbake and OE opperation

Tim Bird tim.bird at am.sony.com
Wed Mar 28 17:54:25 UTC 2007


Richard Purdie wrote:
> 
>> What triggers do_configure to be executed and when?
> 
> Read base.bbclass. It sets up a number of tasks and a default task,
> "build". You'd add configure after patch, before compile. compile would
> be before build. "bitbake somefile" would cause the default task (and
> its dependent tasks) to be executed. You could also do "bitbake somefile
> -c configure" to specifically execute the configure task.

I'm sorry, but I don't understand most of that paragraph.

I've read the manuals - maybe I missed it, but I have the same question.

In <oe>/classes/base.bbclass I see:

BB_DEFAULT_TASK = "build"

at the top of the file.

There's no "def build()" or "def do_build()"
There are the following lines - I don't know if they're related or not:

addtask build after do_populate_staging
do_build = ""
do_build[func] = "1"

In <bitbake>/classes/base.bbclass I see:

addtask build
do_build[dirs] = "${TOPDIR}"
do_build[nostamp] = "1"
python base_do_build () {
        bb.note("The included, default BB base.bbclass does not define a useful default task.")
        bb.note("Try running the 'listtasks' task against a .bb to see what tasks are defined.")
}

Maybe I'm thinking procedurally, and this is all declarative, but where
the heck are the actual statements executed during a "build"?

Back to Mark's point, how are the stages "fetch", "compile", "install"
known to the system, and sequenced.  Are these hardcoded in bitbake?
I'm guessing not, from the answer above and the structure of the
"addtask <foo> before|after <bar>" statements.  But I can't find
anywhere in the bbclass files where this is expressed.

Please help me understand this.

Thanks,
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Electronics
=============================





More information about the Openembedded-devel mailing list