Use a root level build script
Do not merge This is just a POC at the moment.
Summary
Do not rely on child crates to maintain their own build scripts. Instead create a build script for at the root level that takes care of things automagically.
This is more or less a Proof-of-concept for what I was thinking of in #94. There are some pros and cons to doing something like this
Pros
- We no longer need to create a build script for each new header crate.
- We can start implementing smaller headers as modules instead of crates.
Cons:
- We need to be careful about the layout of files.
- Could make build take longer. E.g. if you only change
stdio
since the build script is at the root level, AFAIK it will re-generate all of the headers.
Open Questions
- Would some sort of config be better than generating headers based off of the crate/module name?
Fixes: #94