This patch shows projects/bmake share/mk vs head
Most of the changes revolve around "staging" files (think auto-install to DESTDIR, but with cookies for tracking dependencies).
sys.mk needs to enable a small number of options
others that depend on META_MODE can be enabled in bsd.opts.mk
Details
Normal buildworld etc work
buildworld -DWITH_META_FILES builds normally but produces .meta files which can be useful for debugging
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
I'll review all of this in the next week or two. I've been planning some big changes for Isilon's build system and considering projects/bmake as a solution for some of it.
These changes look OK, though some things lack documentation. Maybe that's in a different review?
share/mk/bsd.compiler.mk | ||
---|---|---|
28 | These patches introduce 'magic' MACHINE types, without defining them. Please define them. | |
share/mk/bsd.obj.mk | ||
168 | I don't see where all these destroy targets are documented. | |
share/mk/sys.mk | ||
345 | I think the local.sys.mk vs src.sys.mk is backwards in these diffs, like we talked about. |
I don't see any significant problems with this change.
When you are staging, is a METALOG currently generated by the install commands? It would be really nice to have ownership and permissions recorded alongside the files.
The change to bsd.crunchgen.mk seems standalone and should probably just be committed on it's own.
The bsd.own.mk change (s/_gid/_gn/) appears gratuitous.
share/mk/bsd.compiler.mk | ||
---|---|---|
28 | common is a pseudo machine we use in Junos to for machine independent generated files can get consumed for multiple architectures. | |
share/mk/bsd.dep.mk | ||
150 | Yes, I think this can be removed now, bapt has committed a lot of stuff that precludes building with fmake | |
share/mk/sys.mk | ||
345 | My current thinking is that sys.mk should not know about src.sys.mk, but get it via local.sys.mk |