Autotools — это набор инструментов для программирования, предназначенный для обеспечения переносимости исходного кода пакетов между различными Unix-подобными системами. Он автоматизирует процесс конфигурации и сборки, позволяя разработчикам писать программное обеспечение, которое может быть скомпилировано на широком спектре платформ без ручной настройки. Основными компонентами являются Autoconf, Automake и Libtool. Файл configure.ac (или более старый configure.in) является основным входным файлом для Autoconf. Это шаблон сценария оболочки (shell script), написанный на языке макросов M4. Этот файл содержит серию макросов M4, которые выполняют тесты на системные функции, библиотеки, заголовочные файлы и программы, необходимые для данного программного обеспечения. На основе этих тестов Autoconf обрабатывает configure.ac для генерации сценария configure. Когда конечный пользователь запускает сгенерированный сценарий configure, он сканирует его специфическую системную среду и генерирует файлы Makefile (из шаблонов Makefile.in, предоставляемых Automake) и другие необходимые файлы, специфичные для этой системы. Это гарантирует, что программное обеспечение может быть правильно скомпилировано на целевой машине, абстрагируя различия, специфичные для платформы. По сути, configure.ac определяет требования к сборке и логику конфигурации для проекта, использующего систему Autotools, что делает его критически важным файлом для любого дистрибутива программного обеспечения на базе Autotools.