On Monday, 28.09.2015 at 15:37, Antti Kantee wrote:
> So, for example, if I wanted hw_virtio but with an extra object file and
> without sysproxy, I would have a local config file like this:
>
> === snip ===
> bakeconf_version 20150928
>
> bakeconf_create hw_coolbeans "Insert coolbeans descr here"
> bakeconf_assimilate hw_coolbeans hw_virtio
> bakeconf_elem_del hw_coolbeans -lrumpkern_sysproxy
> bakeconf_elem_add hw_coolbeans /home/pooka/startmsg.o
> === snip ===
>
> Note! The config file syntax is not intended to have shell syntax. It's
> just an implementation detail. Not sure if we at some point want to
> implement the same in !shell.
>
> Thoughts? I'd like to declare the bake.conf syntax and semantics stable very
> soon now. We still need to figure out how various configs map to various
> build targets (e.g. hw_generic does not make sense for ARM), though.
Have you considered simplifying the syntax even more? If we remove
everything that's redundant your example from above becomes:
=== snip ===
version 20150928
create hw_coolbeans "Insert coolbeans descr here"
assimilate hw_virtio
remove -lrumpkern_sysproxy
add /home/pooka/startmsg.o
=== snip ===
For prior art in this space, take a look at FireHOL, a firewall generator
using a shell-based DSL for configuration: http://firehol.org/#firehol
Also, how about using the more conventional "include" or "import" instead
of "assimilate"?
-mato