Autotools는 다양한 유닉스 계열 시스템에서 소스 코드 패키지의 이식성을 높이기 위해 설계된 프로그래밍 도구 모음입니다. 이는 구성 및 빌드 프로세스를 자동화하여 개발자가 수동 조정 없이 광범위한 플랫폼에서 컴파일될 수 있는 소프트웨어를 작성할 수 있도록 합니다. Autotools의 핵심 구성 요소는 Autoconf, Automake, Libtool입니다.
configure.ac (또는 이전 버전인 configure.in)는 Autoconf의 주요 입력 파일입니다. 이 파일은 M4 매크로 언어로 작성된 셸 스크립트 템플릿입니다. configure.ac 파일에는 소프트웨어에 필요한 시스템 기능, 라이브러리, 헤더 및 프로그램을 테스트하는 일련의 M4 매크로가 포함되어 있습니다. 이러한 테스트를 기반으로 Autoconf는 configure.ac를 처리하여 configure 스크립트를 생성합니다.
최종 사용자가 생성된 configure 스크립트를 실행하면, 해당 시스템 환경을 조사하고 (Automake가 제공하는 Makefile.in 템플릿으로부터) Makefile과 해당 시스템에 특정한 다른 필수 파일들을 생성합니다. 이는 플랫폼별 차이점을 추상화하여 소프트웨어가 대상 머신에서 올바르게 컴파일될 수 있도록 보장합니다. 본질적으로 configure.ac는 Autotools 시스템을 사용하는 프로젝트의 빌드 요구 사항 및 구성 논리를 정의하며, 모든 Autotools 기반 소프트웨어 배포에 있어 중요한 파일입니다.