Den mån 9 juni 2025 kl 19:48 skrev Branko Čibej <br...@apache.org>:
> On 9. 6. 25 19:20, Greg Stein wrote: > > Branko, > > > > With all your recent work on the scons and cmake build systems, should we > > throw one out? > > > > In the past, we had three separate build systems (iirc). One from > > autotools, one custom .py script, and a Windows makefile or such. Then we > > threw out all that junk and moved to SCons for all platforms, and our > > custom bits simply became python code within scons. > > > > But it seems we are back to dual-maintenance of build systems (again). > > > > What is your [Branko] thinking on going with just one, or keeping both? > > > > Others: how do you think we should proceed? It feels like there is more > > weight towards CMake over the past years. > > > > Personally, I like scons in that it uses python, so "we" know how to > extend > > it well for our needs. I don't know enough about CMake to judge it. > > > > Thoughts, people? > > This very question went through my mind earlier today, when I made SCons > work on ARM64 Windows. And a couple days ago, when I installed Python 2 > and SCons 2.3.0 to verify that the build still works with our baseline > versions. :) > > I like SCons, too. Our SConstruct is a bit of a mess in places, but > that's our problem, not SCons'. > > I have a deep antipathy towards CMake. But in today's world where > Windows development is basically becoming dependent on CMake, we can't > ignore it. And since we do have a CMake build, it should work "everywhere". > > So it comes down to platform support. To build Serf with SCons, you need > Python 2 and a compiler. Getting CMake to work is a bit more involved, > unless it's Windows/Linux/*BSD. > > Do we care? > Thanks Greg for the look-back, most valuable! I'm not too fond of having multiple build systems because of the cost of maintaining both and the risk of bitrot if one system starts lagging behind. There is also the issue of simplicity. When I first started looking at Serf, I was confused trying to figure out how to build it, which build system was better etc. Basically: it would be nice to have ONE tool to do the job GOOD than multiple tools each with their own issues. (I have said the same in Subversion and maybe also in APR). I'm not sure if we should care if it is possible to build using Python 2. Chances are that any dependencies will not build anyway and then you might be better off building an old version (which would support the old build tools). Cheers, Daniel