Un script de configuración es un script ejecutable diseñado para ayudar a desarrollar un programa que se ejecutará en una gran cantidad de computadoras diferentes. Compara las bibliotecas de la computadora del usuario con las que necesita el programa antes de compilarlo a partir de su código fuente .
Como práctica habitual, todos los scripts de configuración se denominan configure
. Por lo general, los scripts de configuración se escriben para el shell Bourne , pero pueden escribirse para su ejecución en cualquier shell deseado.
Obtener software directamente del código fuente es un procedimiento común en las computadoras Unix y generalmente implica los siguientes tres pasos: configurar el makefile , compilar el código y, finalmente, instalar el ejecutable en las ubicaciones estándar. Un script de configuración realiza el primero de estos pasos. El uso de scripts de configuración es un método automatizado de generar makefiles antes de la compilación para adaptar el software al sistema en el que se compilará y ejecutará el ejecutable. El software ejecutable final se obtiene más comúnmente ejecutando los siguientes comandos en un shell que actualmente apunta al directorio que contiene el código fuente:
./configurarhacerhacer instalación
./configure
En lugar de simplemente configure
indicarle al shell que el script está en el directorio actual, se debe escribir . Esto se debe a que, como medida de seguridad, las configuraciones de Unix no buscan ejecutables en el directorio actual. Por lo tanto, para ejecutar programas en ese directorio, se debe especificar explícitamente su ubicación. [1]
Al finalizar, configure
imprime un informe en config.log
. Al ejecutarlo, ./configure --help
se muestra una lista de argumentos de línea de comandos para habilitar o deshabilitar funciones adicionales, como:
./configure --libs = "-lmpfr -lgmp"
./configure --prefix = /inicio/usuario/local
La primera línea incluye las bibliotecas mpfr
y gmp
. La segunda línea indica make
que se debe instalar la versión final en /home/user/local
.
A menudo, se incluye un documento con instrucciones. Esto puede resultar útil si configure
falla. Este archivo suele llamarse INSTALL
.
Los desarrolladores de software simplifican el desafío del desarrollo de software multiplataforma mediante el uso de GNU Autotools . [2] Estos scripts consultan el sistema en el que se ejecutan para conocer la configuración del entorno, la arquitectura de la plataforma y la existencia y ubicación de las dependencias de compilación y tiempo de ejecución requeridas. Almacenan la información recopilada en configure.ac
o en el ahora obsoleto configure.in
para que se pueda leer configure
durante la fase de instalación.
En un nuevo desarrollo, la comprobación de dependencias de bibliotecas se ha realizado en gran parte utilizando pkg-config a través de la macro m4 , PKG_CHECK_MODULES. Antes de que pkg-config ganara popularidad, se crearon macros m4 independientes para localizar archivos que se sabía que estaban incluidos en la distribución de las bibliotecas de las que dependían.
El primer programa que incluía un script de configuración fue rn, de Larry Wall, en 1984. El script se escribió a mano y producía un comentario jocoso al ejecutarse. Aún sobrevive como parte del sistema de compilación del programa trn . [3]
Desde entonces, ha crecido un ecosistema de programas para automatizar al máximo la creación de scripts de configuración, de los cuales el más común es el sistema GNU Autoconf .