I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times and NetBSD was the best choice for it. Let's look at why its build system helps.
Great writing, I wonder if wrapping make calls with Bazel would be enough to replace the build system, the input of such rule would be the entire directory with a gigantic blob, sure you may still choke c++ if the lib is big enough and you're running with make -j nproc on each call, but you would still benefit from caching even when switching flags, with a minimal change. Sure you would need to find how to translate the dependencies into Bazel ones, but that sounds like something that can be automated, switching the whole build system is a bit insane and will not run at all.
I wonder how long until someone rewrites the core of Bazel in golang or some other efficient language, specially now that starlarkfication of rules is pretty complete
Yeah, Bazel.... I doubt that's going to get much traction in NetBSD circles.
Something like Peter Miller's Cook, or Schris Seiwald's Jam (or maybe FT Jam) might be more in tune with those who follow NetBSD's philosophies.
Thanks for a nice overview!
One tweak you may want to make: "my own Buildtool" currently links to localhost.
Thanks again for sharing!
Always, always, always, one of those broken links leaks in. Fixed now. Thanks!
Great writing, I wonder if wrapping make calls with Bazel would be enough to replace the build system, the input of such rule would be the entire directory with a gigantic blob, sure you may still choke c++ if the lib is big enough and you're running with make -j nproc on each call, but you would still benefit from caching even when switching flags, with a minimal change. Sure you would need to find how to translate the dependencies into Bazel ones, but that sounds like something that can be automated, switching the whole build system is a bit insane and will not run at all.
I wonder how long until someone rewrites the core of Bazel in golang or some other efficient language, specially now that starlarkfication of rules is pretty complete
Thank you for this wiring! I recently started playing with FreeBSD and your article helped me understand few things about the build system!
This is really cool. The world needs to know about how powerful the NetBSD build system is.