[bitbake-devel] configuration based builds with BB

Aleh Arol aleh.arol at gmail.com
Fri Mar 9 21:30:25 UTC 2012


Hi,

I'm using BB outside of OE for building pythonogre and its deps from
source(around 15 recipes). I stripped OE's environment to the minimal
subset that works (another goal is to deeply understand OE's
infrastructure) - with no cross compilation and assuming toolchain is
always provided.

Now I'm trying to have builds driven by configuration concept (similar
to the project configuration in MS Visual Studio - e.g. debug, release,
devel, prof and so on). Configuration in my case is renders to just a
set of different compiler flags. so I have a global metadata called
CONFIGURATION which is "devel" by default. And that implies using for
example "-g -O2". After I have all built I'd like to rebuild release
packages and what I did that just made a .conf file per configuration:
cat release.conf -> CONFIGURATION = "release"
cat debug.conf -> CONFIGURATION = "debug"

And then folder's metadata as WORKDIR, STAGEDIR and STAMP are all
depends on currend selected conf - so in my staging dir I get
/release/
	/include
	/lib
	...
	/bin
/devel
	/include
	/lib
	...
	/bin
and so on.

And I run nondevel conf build like: bitbake ... -r ./conf/release.conf
However recipes is cached with bb when I build first time(and stamps of
the tasks of the same recipes are cached as I got from the source - so
the effect I want - change a portion of the stamp dir - is not working)
and I need to do explicit touch ./conf/release.conf to force rebuild
with release.conf influence on the metadata defined.

That a situation... questions:
1) Is there's a true BB way of having config driven builds(I know this
can be weird and maybe I don't understand something in OE environment -
so any explanations will be greatly appreciated)
2) What are setscene tasks - couldn't google anything descriptive. (also
not so much comments in the code)

Thanks in advance.

-- 
Best regards,
Aleh Arol





More information about the bitbake-devel mailing list