linux autotools autoreconf

linux - ¿Por qué el "autoreconf" no se usa a menudo?



autotools (2)

Ejecutar autoreconf requiere tener ya instalada la versión correcta de autotools. Esto conduce a un problema del huevo y la gallina: ¿cómo se instalan las herramientas automáticas en primer lugar? También agrega una dependencia adicional que la mayoría de los usuarios finales no necesitan realmente.

Como resultado, la mayoría de los envasadores ejecutan autocontonada antes de producir los archivos fuente que distribuyen. Esto significa que si descarga un archivo de ese tipo, puede configurarlo y compilarlo sin necesidad de instalar primero las herramientas automáticas.

Soy novato de autotools. A mi entender, uno usaría los siguientes pasos básicos para construir software usando Autotools:

  1. autoreconf --install
  2. ./configure
  3. make

Sin embargo, noté que la mayoría de los paquetes de software de código abierto (en Linux) no necesitan el paso 1. La mayoría de las veces solo necesitan los pasos 2 y 3 para compilar. Parece que ya están empaquetados con Makefile.in . Me pregunto por qué? ¿Codifican manualmente el Makefile.in , o el desarrollador del software usa autoreconf para generar el Makefile.in antes de crear el paquete de software?

Gracias.


El desarrollador de software que crea el archivo comprimido (o que extrae las fuentes de un sistema de control de versiones) usualmente invoca autoreconf desde un script llamado bootstrap.sh o autogen.sh que puede hacer otras cosas. autoreconf puede ser invocado por Makefile (como cuando configure.ac ha cambiado).

La mayoría de los usuarios nunca necesitarán ejecutar autoreconf , incluso aquellos que están realizando algunas modificaciones en la fuente (por ejemplo, parches). Solo aquellos que necesiten realizar modificaciones en el paquete en sí (realizar cambios en configure.ac y / o Makefile.am ) necesitarán la autoreconf .