On Wed, Sep 18, 2024 at 03:39:13PM -0700, Junio C Hamano wrote: > Phillip Wood <phillip.wood123@xxxxxxxxx> writes: > > > We seem to get fairly regular bug reports about the configure script, > > presumably because most contributors are using the Makefile. It would > > certainly be nice if we could get the CMake support into a state where > > we could consider dropping the configure script. > > While I would agree that two is better than having to support three > build procedures, I am not sure how improvement of CMake support > needs to be a prerequisite for removal of autoconf. I'm mostly coming from the angle that autoconf is likely used by systems that are not perfectly supported by our current, static configuration. I don't want to make the life of such system integrators harder by having to figure out what kind of arcane functions they have to set manually now to make things build on their platform again. I'm not really sure whether distros _do_ actually use autoconf. Checking a few distros: - Arch doesn't. - Cygwin uses autoconf. - Debian doesn't. - FreeBSD uses autoconf. - Gentoo doesn't. - NixOS uses autoconf. - OpenBSD uses autoconf. - Ubuntu doesn't. So basically, we'd be making the life harder of anybody who doesn't conform to the "standard" way of doing things in Linux, which I think is not exactly a nice thing to do. And that's why I think we should have an alternative way to configure and build Git that can act as a replacement for autoconf, with my vote going to either CMake or Meson. They are a proper replacement for autoconf that makes the downstream maintainer's jobs easier while also bringing additional features to the table that we don't currently have. Eli makes a couple of good remarks in [1] about things that both CMake and Meson bring to the table in addition to that, while also mentioning some of the benefits of Meson over CMake. I would be okay to make Git work with such a build system myself. The current CMake build instructions can be used to _build_ Git, but AFAIU they cannot yet run the Git test suite. Dscho pointed me to a couple of patches from Ævar that work into this direction, and I'd be happy to revive them. I'd also be okay with picking Meson over CMake if that is what people want. But my ultimate goal would then be that we have at least one CI job build and test against such a build system and give it the "official blessing" as an alternative way to build Git. [1]: <0864bd25-d5c4-45ac-a59e-e6f7d24002de@xxxxxxxxxx> Patrick