News for hackers. Stuff that matters.
Re:Evaluating Bazel for building Firefox by jcranmer on Tuesday October 29, 2019 @01:27PM (#21389733)
The problem with fully declarative systems is that, if you need something that is beyond the scope of the declarative semantics, you are screwed.

Build systems have the annoying property that they are ultimately highly declarative, but they need some pretty extreme scope to handle edge cases. Any C/C++ project is going to boil down to "compile these N source files, and link them into a library/executable", but the necessary build flags is going to come from several locations, there are multiple variations of build flags and compilers that need to be used at the same time, and there is going to be project-custom code to generate source files that involves potentially building the tools to generate the files as part of the build system. And mixed-language projects add more layers of pain.

Re:Evaluating Bazel for building Firefox by theamk on Tuesday October 29, 2019 @02:11PM (#21390301)
bazel in particular is pretty nice with that. There are multiple extension points -- there is embedded Python-like language, you can wrap arbitrary commands, and if this is not enough, you can dynamically general build files as well.