Autotools è una suite di strumenti di programmazione progettata per rendere i pacchetti di codice sorgente portabili su vari sistemi Unix-like. Automatizza il processo di configurazione e compilazione (build process), consentendo agli sviluppatori di scrivere software che può essere compilato su un'ampia gamma di piattaforme senza aggiustamenti manuali. I componenti principali di questa suite sono Autoconf, Automake e Libtool.
configure.ac (o il più datato configure.in) è il file di input primario per Autoconf. Si tratta di un template di script shell scritto nel linguaggio di macro M4. Questo file contiene una serie di macro M4 che verificano le funzionalità di sistema, le librerie, gli header e i programmi richiesti dal software. Basandosi su questi test, Autoconf elabora configure.ac per generare uno script configure.
Quando un utente finale esegue lo script configure generato, questo analizza l'ambiente di sistema specifico e genera i Makefile (da template Makefile.in forniti da Automake) e altri file necessari specifici per quel sistema. Ciò assicura che il software possa essere compilato correttamente sulla macchina di destinazione, astraendo le differenze specifiche della piattaforma. In sostanza, configure.ac definisce i requisiti di compilazione (build requirements) e la logica di configurazione per un progetto che utilizza il sistema Autotools, rendendolo un file cruciale per qualsiasi distribuzione software basata su Autotools.