O GNU Autoconf é uma ferramenta para a produção de scripts shell para compilação, instalação e empacotamento de software em sistemas de computador onde o Bourne shell está disponível.
O Autoconf é agnóstico quanto à linguagem de programação utilizada, mas normalmente é usado para projetos que usam C, C++, Fortran, Fortran 77, Erlang ou Objective-C.
Um script configure configura um pacote de software para instalação em um sistema alvo particular. Após executar uma série de testes sobre o sistema alvo, o script configure gera arquivos de cabeçalho e um makefile a partir de templates, personalizando, desta forma, o pacote de software para o sistema alvo. Juntamente com o Automake e Libtool, o Autoconf forma o GNU Build System, que abrange várias outras ferramentas, notavelmente o Autoheader.
O autoconf faz uso do GNU m4 para transformar um arquivo configure.ac (primeiramente e em projetos antigos, chamado configure.in) escrito pelo usuário, em um script shell chamado configure. Quando executado, o script configure analisa as características do sistema presente de modo não interativo e gera ficheiros de cabeçalhos e makefiles personalizados derivados de modelos pré-escritos. Pode-se dizer que o autoconf compila o programa M4 do configure.ac em um script shell.