From: Keith M. <kei...@to...> - 2006-07-04 10:34:38
|
Dave Korn wrote, quoting me: >> Welcome to `autohell'; but note that it isn't autoconf that causes this >> hell -- it's automake. (And this is the prime reason why I so utterly >> detest automake; I find autoconf *alone* to be quite useful, but add >> automake to the mix, and the nightmares begin). >> >> (And for those who do like automake, please accept that this is my >> opinion only. However, I've yet to see a convincing argument that >> would persuade me to change it). > > http://www.cygwin.com/ml/cygwin-talk/2005-q2/msg00081.html > > ;) And quoting DaveK himself, from that very thread: | " BECAUSE AUTOTOOLS IS A SCREAMING INSANE MESS OF NIGHTMARE GIBBERISH | SPAGHETTI NONSENSE THAT WILL SUCK EVERY LAST DROP OF SANITY OUT OF YOUR | BRAIN WITH A STRAW AND LEAVE YOU REELING, DROOLING AND GIBBERING IN A | CORNER DRESSED IN RAGS AND ROLLING IN YOUR OWN FAECES. " Which certainly would *not* convince me to change my opinion, but rather reinforces it. But I'd still say that the real bugbear is automake, and not so much autoconf. There *is* a perfectly acceptable alternative to automake -- it's called a Makefile, plain and simple; but what is the alternative to autoconf? Sure, autoconf generated scripts are not a picture of elegance. Some developers have said to me that they don't use autoconf, because it is easier to just write a configure script by hand. Oh yeah? And how many of those hand crafted configure scripts actually *work*, on any platform other than the one on which their developers wrote them? I've yet to find EVEN A SINGLE ONE, which originated on *nix, and will run under MSYS. IME, autoconf does a pretty good job of dealing with the portability issues; just don't try to decipher the generated script. Learn to read, and interpret configure.ac and aclocal.m4 instead; understanding of the workings of the generated script will likely follow -- it did for me. Of course, there are many quite horrendous examples of how *not* to write configure.ac out there, (many still bearing the deprecated configure.in name). These aren't the fault of autoconf, but rather are due to poor style, on the part of their respective developers. Regards, Keith. |