Building Genode with Nix

Emery Hemingway emery at ...261...
Mon Aug 18 20:35:12 CEST 2014

I accidentally sent my last reply to Norman off-list, to paraphrase
what was said:

This experimental build system is much more intrusive to the host system
than the current Make system, and is pretty alien to most users.

As for more parrallelism, that is a claim that I can't back up yet, but
this system has the odd behavior of building objects for mulitple
dependencies before linking anything together. I expect per-object
complilation times to be more than that of the Make system, but I hope
to gain an edge in evaluation time. Realistically I won't know for some
time if this system can scale up to the same size as the Make system
with comparable performance.

>>  * Less boilerplate.
>>  * Less user interaction.
> Can you please substantiate those points a little? Are you referring to
> the installation of the tool-chain?

I was thinking of port and run targets. The ports issue was fixed in the
last release so I expect the verbosity of those to be about the same.

As for test runs, I can trim those down quite a bit but I don't yet have
a good idea on how to implement the details of per-platform
drivers. Norman pointed out that a test run is quite a different thing
than a package and configuration for a set of components, and that is
something that I will have to consider when generating init configs and
boot images.

As far as less user interaction, I meant that once you get over the
hurdle of installing Nix, the system can handle all the details of
managing the toolchain and other tools.

My latest piece of news is that I can actually make good on one of those
fantastic claims that I made, I have a working continuous build and test

This saves anyone who is curious about the state of this experiment the
effort of trying to reproduce it themselves.

For example here is a peek of what is building and what is not:

Once I get NOVA working I'll see if I can get it to make ISO's of run
targets available for download.


More information about the users mailing list