On 10/25/24 3:59 PM, Taylor Blau wrote: > == Conclusion > > To step back, I want to say that I appreciate your work on this series > and am certainly not opposed[^1] to the idea that we may need to make > significant changes to our build infrastructure to support the project's > goals. > > But I think that what I'm missing currently is a clear picture of what > goals we *can't* achieve with the existing build system (or could, but > only at significant cost/awkwardness), and why Meson is the right choice > to address those gaps. > > If the project can agree that pursuing Meson as a replacement for Make, > CMake, or both, then I think we would need further clarification on what > we want to do with CMake (and more generally how we want to support new > efforts to add additional build systems to Git in the future). One extremely big distinction is that Make is not a configuration system, and cannot be, and git has many configuration options that are currently underserved to the point of nonexistence. This causes a *lot* of trouble to people attempting to build git as it's not often clear how to do so other than by building a stock no-options build. When you do try it, you frequently end up with broken option passing resulting in an inconsistent git installation where some parts of the code are built with one option, and other parts of the code are built with its inverse, and neither of them are the third set of options that you had finally settled on. This also affects distro maintainers. The configure.ac tries to solve this problem and fails because it appears no one bothers to maintain it. The CMake files try to solve this problem but only for Windows (?). Possibly the reason people struggle with both is because both feel quite painful to use -- the initial premise of this patch series is, after all, "I the submitter believe this build system is nicer than the other option". -- Eli Schwartz
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature