./configure: ¿Qué es un entorno de construcción loco?


Respuestas:


51

Esto proviene de automake , específicamente de su AM_SANITY_CHECK macro , que se llama desde AM_INIT_AUTOMAKE, que normalmente se llama desde el principio configure.ac. La esencia de esta macro es:

  • Verifique que la ruta al directorio de origen no contenga ciertos caracteres "inseguros" que pueden ser difíciles de incluir correctamente en los archivos de comandos de los scripts de shell.
  • Comprueba que lsparece funcionar.
  • Verifique que un nuevo archivo creado en el directorio de compilación sea más nuevo que el configurearchivo. Si no lo está (generalmente porque el reloj del sistema de compilación no está configurado correctamente), es probable que el proceso de compilación falle porque los procesos de compilación generalmente se basan en archivos generados que tienen una marca de tiempo más reciente que los archivos fuente de los que se generan.

¿Por qué lsespecíficamente? ¿Es solo para probar que los ejecutables básicos están disponibles y son funcionales o se lsutilizan de alguna manera en el proceso de creación?
terdon

2
@terdon Algunas plantillas de automake usan ls. La AM_SANITY_CHECKmacro en sí misma usa lspara verificar los tiempos relativos de configureun archivo temporal (no lo usa test -ntporque no todos los shells lo tienen).
Gilles 'SO- deja de ser malvado'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.