Joe Smith <[EMAIL PROTECTED]> writes: > I'm not sure why people don't like the autotools. They generally work > very well. The makefiles they make are even able to re-run the > autotools to update itself when needed! They generally work well.
They're painfully slow. When using Autoconf, I have to be very careful to avoid unnecessary checks and it still tends to do lots of checks I don't want that slows everything down (like check for ANSI C headers when the package in question doesn't support K&R systems in the first place, or the infamous Fortran checks in libtool). On some systems with defective shells, just running configure can take an hour. And due to worries about shell functions, it's not unusual for the configure script to as large or larger than the sum of all the other source files in the package. And that's just Autoconf. Automake is worse, and also makes your build logs nearly unreadable. I don't use Automake. I write makefiles myself. It takes longer, but I'm happier with the results. But for Autoconf, there really aren't a lot of good alternatives out there and it has a reasonably expressive language. Metaconfig is pretty much unusable for anything other than Perl at this point, and the other alternatives seem to be either too focused on some particular scripting paradigm that the author loved or in their infancy compared to what Autoconf can do. libtool is also painfully slow, but it really does do something that's extremely hard to duplicate otherwise. I hope that someone someday will rewrite it, but in the meantime, it's best of breed. > 3. Version differences: This is a legitamate gripe. The autotools don't > work nearly as wel as they could when developers are using different > versions. However, I see no way to easilly fix this. Well, Autoconf at least could have done a much better job with backward compatibility. Oh well. At this point, the maintainers seem to be maintaining backward compatibility by never releasing a new version. (Not that I'm not guilty of that myself with INN at the moment. *sigh*. I do understand not having enough hours in teh day.) > So I must ask why do people dislike the autotools? Are there really > problems that outweigh the benefits of being able to compile the program > on strange architectures with little difficulty? Remember that the > autotools let one compile the program in the same way on a GNU/Linux > system, Cygwin, BSD, and a large number of commercial unixes. Er, well, kind of. The autotools are one valuable tool to write portable code. Using them definitely will not make your code portable to all of those platforms. If the program is non-trivial, you will probably still have to do some porting. -- Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]