Hi all, Currently flac has 4 build systems: autotools (configure.ac), CMake, Makefile.lite and Visual Studio files. I think this is too much and like some opinions on which to remove. I propose to remove the Visual Studio files (a mention has already been put in the changelog and README of the 1.3.4 release that they will be removed) because that was already planned. CMake takes over the role of providing a build system for Visual Studio. As recent releases of Visual Studio actually feature integration of CMake, one could see CMake as being 'endorsed' by Microsoft. Visual Studio users will get a better maintained and configurable build system instead of the rigid files flac provides right now. I'd also like to remove the Makefile.lite build system. From a remark in the README it seems it was at some point created to provide an alternative or back-up for the autotools build system, but a much more flexible alternative is now available: CMake. I'd like to hear your thoughts on this matter. Kind regards, Martijn van Beurden
As a windows/visual studio user, I agree. CMake is a solid alternative for building flac. Thanks for supporting Windows! Jim ------------------------ On Sun, May 1, 2022 11:22 am, Martijn van Beurden wrote:> Hi all, > > > Currently flac has 4 build systems: autotools (configure.ac), CMake, > Makefile.lite and Visual Studio files. I think this is too much and > like some opinions on which to remove. > > I propose to remove the Visual Studio files (a mention has already > been put in the changelog and README of the 1.3.4 release that they will be > removed) because that was already planned. CMake takes over the role of > providing a build system for Visual Studio. As recent releases of Visual > Studio actually feature integration of CMake, one > could see CMake as being 'endorsed' by Microsoft. Visual Studio users will > get a better maintained and configurable build system instead of the rigid > files flac provides right now. > > I'd also like to remove the Makefile.lite build system. From a remark > in the README it seems it was at some point created to provide an > alternative or back-up for the autotools build system, but a much more > flexible alternative is now available: CMake. > > I'd like to hear your thoughts on this matter. > > > Kind regards, > > > Martijn van Beurden > _______________________________________________ > flac-dev mailing list flac-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/flac-dev
On 5/1/22, Martijn van Beurden <mvanb1 at gmail.com> wrote:> Hi all, > > Currently flac has 4 build systems: autotools (configure.ac), CMake, > Makefile.lite and Visual Studio files. I think this is too much and > like some opinions on which to remove. > > I propose to remove the Visual Studio files (a mention has already > been put in the changelog and README of the 1.3.4 release that they > will be removed) because that was already planned. CMake takes over > the role of providing a build system for Visual Studio. As recent > releases of Visual Studio actually feature integration of CMake, one > could see CMake as being 'endorsed' by Microsoft. Visual Studio users > will get a better maintained and configurable build system instead of > the rigid files flac provides right now. > > I'd also like to remove the Makefile.lite build system. From a remark > in the README it seems it was at some point created to provide an > alternative or back-up for the autotools build system, but a much more > flexible alternative is now available: CMake. > > I'd like to hear your thoughts on this matter.IMO, removal of both VS project files and Makefile.lite is OK.
On 5/1/22 19:22, Martijn van Beurden wrote:> Hi all, > > Currently flac has 4 build systems: autotools (configure.ac), CMake, > Makefile.lite and Visual Studio files. I think this is too much and > like some opinions on which to remove. > > I propose to remove the Visual Studio files (a mention has already > been put in the changelog and README of the 1.3.4 release that they > will be removed) because that was already planned. CMake takes over > the role of providing a build system for Visual Studio. As recent > releases of Visual Studio actually feature integration of CMake, one > could see CMake as being 'endorsed' by Microsoft. Visual Studio users > will get a better maintained and configurable build system instead of > the rigid files flac provides right now. > > I'd also like to remove the Makefile.lite build system. From a remark > in the README it seems it was at some point created to provide an > alternative or back-up for the autotools build system, but a much more > flexible alternative is now available: CMake. > > I'd like to hear your thoughts on this matter.Thanks for your work taking care of flac. I think a build system proliferation as FOSS is used on more platforms than expected is a bit of a rite of passage for projects started longer than 10 years ago. Libwebsockets grew in a similar way, make, replaced by autotools, then msvc project files that were contributed and incompatible by msvc version, finally cmake. Even, eg, mbedtls and wolfssl suffer something similar, they ship with both autotools and cmake, but the two are not in sync for options (or sometimes even agreeing on the list of sources and being able to build at all in mbedtls + cmake case). There's a lot of evidence this approach is not really maintainable. Libwebsockets moved entirely to cmake five or six years ago, dropping the other options and it has been great, it also provides ctest to provide crossplatform testing instead of the nest of nonportable bash scripts we had before. In the meanwhile everything else like Android build, msvc as you mentioned, iOS, bsds, solaris, cross-build... either has first-class cmake support or is now completely predicated around it. CMake won the argument a long time ago. So I would suggest that making a new release dropping everything except cmake is the best way to maintain this. -Andy