4 ms·
I don't think it's fair to say "because they are lazy or don't understand". Who would want to understand that mess? It isn't a virtue. A fairer criticism would
by IshKebab 2y ago
I don't think it's fair to say "because they are lazy or don't understand". Who would want to understand that mess? It isn't a virtue.
A fairer criticism would be that they have no sense to use a more sane build system. CMake is a mess but even that is faaaaar saner than autotools, and probably more popular at this point.
- xiaoyu2006 2y agoAutotools use M4 to meta-program a bash script that meta-programs a bunch of C(++) sources and generates C(++) sources that utilizes meta-programming for different configurations; after which the meta-programmed script, again, meta-programs monolithic makefiles. This is peak engineering.
- krior 2y agoSounds like a headache. Is there a nice Python lib to generate all this M4-mumbo-jumbo?
- lionkor 2y ago"Sounds complicated. I want it to throw exceptions and have significant whitespace on top of all that complexity!"
- 1718627440 2y agoYes, that sound ridiculous, but it is that way, so that the user can modify each intermediate step, which is the main selling point. As a user I really prefer that experience, which is why I as a developer put up with the non-sense of M4. (Which I think is more due to M4 being a macro language, then inherent language flaws.)
- knorker 2y agoautotools is the worst, except for all the others. I'd like to think of myself as reasonable, so I'll just say that reasonable people may disagree with your assertion that cmake is in any way at all better than autotools.
- IshKebab 2y agoNope, autotools is actually the worst. There is no way in hell anyone reasonable could say that Autotools is better than CMake.
- tpoacher 2y agoAnd presumably the measure by which they are judged to be reasonable or not is if they prefer CMake over Autotools, correct? :D
- ordu 2y agoCorrect. I avoid autotools and cmake as much as I can. I'd better write Makefiles by hand. But when I need to deal with them, I'd prefer cmake. I can can modify CMakeLists.txt in a meaningful way and get the results I want. I wouldn't touch autotools build system because I never was able to figure out which of the files is the configuration that is meant to be edited by hands and not generated by scripts in other files. I tried to dig the documentation but I never made it.
- pletnes 2y agoConfigure-make is easier to use for someone else. Configuring a cmake based project is slightly harder. In every other conceivable way I agree 100% (until someone can convince me otherwise)
- jeroenhd 2y agoI've seen programs replicate autotools in their Makefiles. That's actually worse. I've also used the old Visual Studio build tooling. Autotools is terrible, but it's not the worst.
- 2y ago
- smartmic 2y agoI took the trouble (and even spent the money) to get to grips with autotools in a structured and detailed way by buying a book [1] about it and reading as much as possible. Yes, it's not trivial, but autotools are not witchcraft either, but as written elsewhere, a masterpiece of engineering. I have dealt with it without prejudice and since then I have been more of a fan of autotools than a hater. Anyway, I highly recommend the book and yes, after reading it, I think autotools is better than its reputation. [1] https://nostarch.com/autotools2e https://nostarch.com/autotools2e
- deleted 2y ago[deleted]
- NekkoDroid 2y ago> CMake is a mess but even that is faaaaar saner than autotools, and probably more popular at this point. Having done a deep dive into CMake I actually kinda like it (really modern cmake is actually very nice, except the DSL but that probably isn't changing any time soon), but that is also the problem: I had to do a deep dive into learning it.
- kazinator 2y agoSomeone who doesn't want to understand a huge mess should probably not be bringing it into their project. In software you sometimes have to have the courage to reject doing what others do, especially if they're only doing it because of others.