[okl4-developer] build system usage

Oliver Mayer-Buschmann omb at opensynergy.com
Thu Oct 23 22:22:30 EST 2008


Thank Josh!

After all I've decided to create a separate KengeEnvironment.
That's how it works:

the app's SConscript:
addressing = env.WeaverAddressing(virt_addr = 0x90000000)
obj = env.KengeProgram("omb_testapp",
                       weaver = env.WeaverIguanaProgram(priority=50,
addressing=addressing),
                       LIBS=["c", "iguana", "onoff", "l4", "l4e",
"mutex", "atomic_ops"])

the SConstruct:
reload_apps = []
...
iguana_omb_testapp=ig_env.Package("iguana/omb_testapp")
reload_apps+=[iguana_omb_testapp]
...
reload_env = build.KengeEnvironment("reload_images")
reload_env.LayoutVirtual(reload_apps) 
reload_spec = reload_env.GenWeaverXML(reload_apps)
reload_image = reload_env.CreateImages(reload_spec, reload_apps)
Default(reload_apps)

Greetings,

Oliver

Am Donnerstag, den 23.10.2008, 21:24 +1100 schrieb Joshua Root:
> Oliver Mayer-Buschmann wrote:
> > Can somebody give me a clue, how I can accomplish a second link-run
> > for the additional set of applications:
> > I do not need to create a second weaver.xml, nor a merged image, no
> > bootinfo, etc.
> > I just want to use the build system, to create me these elf files.
> > Can I create a second KengeEnvironment for doing this?
> > Some basic information of how a build is structured would help, too.
> 
> I think you can use the same KengeEnvironment. If you don't want an app
> to be put in the boot image, just don't add it to the 'apps' list (which
> is passed to GenWeaverXML() and CreateImages()). Then, to get the
> non-boot-image apps to build despite not being needed for the boot
> image, you add a call like: Default(my_app, other_app)
> 
> ELF files end up in build/environment_name/bin/.
> 
> - Josh



More information about the Developer mailing list