From automake manual - Introducing the GNU Build System: "In 1991, David J. MacKenzie got tired of customizing Makefile for the 20 platforms he had to deal with. Instead, he handcrafted a little shell script called configure to automatically adjust the Makefile... Compiling his package was now as simple as running ./configure && make."
From autoconf manual - Introduction: "Autoconf is a tool for producing shell scripts that automatically configure software source code packages to adapt to many kinds of Posix-like systems..."
From automake manual - Introduction: "Automake is a tool for automatically generating Makefile.ins... The generated Makefile.ins are compliant with the GNU Makefile standards... The goal of Automake is to remove the burden of Makefile maintenance..."
From libtool manual - Introduction: "In the past, if a source code package developer wanted to take advantage of the power of shared libraries, he needed to write custom support code for each platform... GNU Libtool simplifies the developer's job..."
From gettext manual - Purpouse: "...Using a common language is quite handy for communication between developers, maintainers and users from all countries. On the other hand, most people are less comfortable with English than with their own native language, and would prefer to use their mother tongue for day to day's work, as far as possible. Many would simply love to see their computer screen showing a lot less of English, and far more of their own language...
The Translation Project... has a good chance to get all of us nearer the achievement of a truly multi-lingual set of programs."
TODO: INCLUDE gettext IN glibc EXAMPLES INSTEAD OF LIST IT HERE?
What is Autotools NOT?
Autotools is NOT a piece of software that automagically ports all your software to any existing platform.
For example, UNIX sleep() will not automatically work on MS Windows, which uses Sleep() instead, just because you use Autotools.
You still haved to port your software:
#include<windows.h>/* Needed for Windows Sleep() */#definesleep(x) (Sleep(x * 1000))
#else#include<unistd.h>/* Needed for BSD sleep() */#endif