Question

When some project is having all that "ltmain", "aclocal.m4" and other "autogen.sh" it brings discomfort:

  1. ./autogen.sh is slow. ./configure is slow.
  2. ./configure fails complaining missing somewthing. I fix it and it complains about something next. Slow.
  3. Makefiles are BIG. configure script is BIG. Even configure.ac is usually big and incomprehensible.
  4. Makefile.am and configure.ac is full of mostly mysterious variables. How it deduces rules?
  5. I suddenly realize that I copied only libtool's shell script stub and actual binary is in .deps or .libs or whatever.
  6. In general if something is broken there I feel unsure what to do and error messages are usually confusing.
  7. Finally, even small project is at least 50kb in archive when it have autotool's configure script (when the source code can be 5kb in archive).

Every problem with it adds more and more hate points to {auto,lib}tool.

How to get on well with that things? Is there a short tutorial (not longish "introduction to GNU Build System" or how is it called) plus comprehensive reference how to create, fix and debug that things?

Was it helpful?

Solution

http://www.lrde.epita.fr/~adl/autotools.html is a fantastic tutorial. Don't let the page count put you off: most of it is diagrams appearing piece by piece.

OTHER TIPS

There is a book GNU Autoconf, Automake and Libtool published by New Riders. I own a copy, but can't strongly recommend it, mainly because I'm not really interested in the tools. It seems fairly authoritative though - authors are Red Hat people and GNU maintainers.

Update: It seems like the book's content is available on-line here.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top