Autotools est une suite d'outils de programmation conçue pour rendre les paquets de code source portables sur divers systèmes de type Unix. Il automatise le processus de configuration et de compilation (build), permettant aux développeurs d'écrire des logiciels pouvant être compilés sur une large gamme de plateformes sans ajustements manuels. Les composants principaux de cette suite sont Autoconf, Automake et Libtool. Le fichier configure.ac (ou l'ancien configure.in) constitue le fichier d'entrée principal pour Autoconf. Il s'agit d'un modèle de script shell écrit dans le langage de macros M4. Ce fichier contient une série de macros M4 qui testent les fonctionnalités du système, les bibliothèques, les en-têtes (headers) et les programmes requis par le logiciel. Sur la base de ces tests, Autoconf traite le fichier configure.ac pour générer un script de configuration autonome nommé configure. Lorsqu'un utilisateur final exécute ce script configure généré, celui-ci sonde son environnement système spécifique et génère des fichiers Makefile (à partir des modèles Makefile.in fournis par Automake) ainsi que d'autres fichiers nécessaires propres à ce système. Cela garantit que le logiciel peut être compilé correctement sur la machine cible, en faisant abstraction des différences spécifiques à chaque plateforme. En substance, configure.ac définit les exigences de compilation et la logique de configuration d'un projet utilisant le système Autotools, ce qui en fait un fichier crucial pour toute distribution logicielle basée sur Autotools.