News for hackers. Stuff that matters.
Re:Autotools Mythbuster by adekok on Thursday December 17, 2015 @11:48AM (#10752543)
Even worse, autotools doesn't have the concept of modularization.

Look at the nginx configure scripts. They're hand-written, and modularized. Check for "foo"? There's a shell script. Autotools does the same thing via special-purpose autogenerated shell code.

That's why the configure script is 1000's to 10's of 1000's of lines of shell script. It's all auto-generated crap.

And autotools doesn't have the concept of bootstrapping. Building a C program? Great! Test everything with shell scripts. It might be more efficient to have C programs doing work, but no... it has to be the lowest common denominator.

Because managing multiple pieces is too hard. Why? Because there's no modularization.

I've used autotools for decades because everything else is worse. But I have a long-term deep-seated loathing of it which is hard to put into words.

Re:Autotools Mythbuster by scrollaway on Thursday December 17, 2015 @12:49PM (#10752991)
> I've used autotools for decades because everything else is worse.

I take it you've used CMake - could you explain in which ways you think it's worse than autotools? I agree it has concerning design flaws, but they don't come anywhere close to autotools' and I'd say CMake is overall dozens of times saner.

Re:Autotools Mythbuster by kazinator on Thursday December 17, 2015 @02:54PM (#10754019)
Does CMake generate a deliverable which builds on a machine that doesn't have CMake installed? With full incremental build support and all, so reasonable development can take place on that system?
Re:Autotools Mythbuster by icebraining on Thursday December 17, 2015 @03:16PM (#10754189)
Yes to the first question, it generates platform-specific build files (e.g. Makefiles for Unix/Linux), which don't need cmake itself to build the software. Regarding the second question, I believe so, but I'm not sure.
Re:Autotools Mythbuster by atso on Thursday December 17, 2015 @04:23PM (#10754663)
Of course once the makefile is generated, there is no need to use cmake (as long as the project is not modified), but you cannot share a makefile generated by cmake, not even redistribute it. You cannot even re/locate it on your hard drive.

The difference is that autotools generates source distributions that do not need autotools to build, while a cmake project always requires cmake when building.

Re:Autotools Mythbuster by icebraining on Thursday December 17, 2015 @07:12PM (#10755719)
Oh, I wasn't aware it wasn't distributable, my bad.
Re:Autotools Mythbuster by kazinator on Thursday December 17, 2015 @03:18PM (#10754212)
Can we give everyone exactly the same tarball of a project and just have it unpack and build on their platform?
Re:Autotools Mythbuster by icebraining on Thursday December 17, 2015 @03:23PM (#10754238)
I think so, if you pre-generate the build files for every platform and distribute them all in the tarball.
Re:Autotools Mythbuster by jedisct1 on Thursday December 17, 2015 @06:27PM (#10755454)
Haha