GNU build system

El GNU build system conocíu tamién como Autotools ye un conxuntu de ferramientes producíu pol proyeutu GNU. Estes ferramientes tán diseñaes p'ayudar a crear paquetes de códigu fuente portable a dellos sistemes Unix. El GNU build system forma parte de GNU toolchain y úsase enforma pa desenvolver software llibre. Anque les ferramientes que contién el GNU build system son GPL nun esiste nenguna restricción pa crear software portable non llibre con él.

 Ferramientes incluyíes con GNU build system 
El GNU build system entiende los programes d'utilidá GNU Autoconf, Automake y Libtool. Otres ferramientes usaes frecuentemente son el programa GNU make, GNU gettext, pkg-config y la GNU Compiler Collection (GCC).

 GNU Autoconf 
Autoconf procesa los archivos configure.in o configure.ac (anque s'encamienta usar configure.acWriting Autoconf Input - Autoconf). Cuando executa'l script de configuración tamién puede procesar otros archivos como Makefile.in pa producir como salida un archivu Makefile.

Autoconf usar pa intentar salvar les diferencies qu'esisten ente distintos tipos d'Unix. Por casu, dellos sistemes Unix pueden tener funcionalidades que nun esisten o nun funcionar n'otros sistemes. Autoconf puede detectar esi problema y busca la forma de solucionalo. La salida de Autoconf ye un script denomináu configure. Autoconf inclúi la ferramienta Autoheader que s'usa pa remanar los archivo de cabecera de C.

 GNU Automake 
Automake ayuda a crear archivos Makefile portables. Estos son procesaos dempués pola ferramienta make. Toma como entrada un archivu Makefile.am y tresformar nun Makefile.in. Este, de la mesma, ye utilizáu por Autoconf pa xenerar l'archivu Makefile final.

 GNU Libtool 
Libtool ayuda a crear biblioteques estátiques y dinámiques pa dellos sistemes operativos Unix. Libtool abstrae el procesu de creación de les biblioteques despintando les diferencies ente los distintos sistemes (ente GNU/Linux y Solaris por casu).

 Ventayes de GNU build system 
El GNU build system aprove d'una redolada de programación que dexa escribir códigu portable. Siquier ente distintos tipos d'Unix. Tamién llogra que'l procesu de construcción seya más fácil pal usuariu. Llogrando que l'usuariu tan solo precise un pequeñu númberu de comandos pa construyir ya instalar el programa.

Les utilidaes usaes pol GNU build system son necesaries puramente na máquina de desenvolvimientu. Los usuarios nun precisen Autoconf, Automake o Libtool pa construyir o instalar el software. Esto fai que'l GNU build system seya autu conteníu. Tan solo faen falta ferramientes estándares d'Unix pa construyilo. Esto consíguese usando scripts qu'ayuden a configurar el software pal sistema operativu d'un determináu usuariu.

Les utilidaes disponibles nel GNU build system pueden ser usaes xuntes o separaes. Un proyeutu puede usar una d'elles ensin necesidá d'utilizar el restu.

 Desventaxes del GNU build system 
El GNU build system usa scripts compatibles cola shell Bourne p'ayudar al usuariu na configuración y nel procesu de construcción. Sicasí hai dellos sistemes operativos (como la familia de Microsoft Windows) que nun pueden executar los scripts de la shell Bourne por si mesmos. Esto fai más difícil construyir software nos Sistemes Operativos Windows que nun sistema Unix. De toes formes puede instalase el sistema MinGW en Windows p'aprovir d'una capa compatible (y opcionalmente Cygwin p'añader compatibilidá con POSIX). D'esta forma disponer d'una redolada con toles ferramientes propies de Unix.

Los proyeutos qu'usen el GNU build system pueden disponer, o non, d'un archivu configure. Si nun dispón d'él podemos xeneralo siguiendo estos pasos:

$ aclocal 
$ autoheader 
$ automake 
$ autoconf

Non tolos comandos son necesarios. Dependiendo del usu que faiga'l proyeutu del GNU build system pue que tengamos qu'utilizar unu o más d'estos pasos.

 Referencies 

 Ver tamién 
 CMake
 Waf

 Enllaces esternos 
 El llibru GNU Autoconf, Automake and Libtool, por Gary V. Vaughan, Ben Elliston, Tom Tromey, y Ian Lance Taylor. 
 ISBN 1-57870-190-2
 disponible online en http://sources.redhat.com/autobook so los términos de la Open Publication License (con nenguna de les opciones exercitaes).
 El Estandard de codificación GNU (especialmente'l capítulu sobre The Release Process).
 El paquete pkg-config
 GNU Autoconf Sitiu web oficial (n'inglés)
 GNU Libtool Sitiu web oficial (n'inglés)
 GNU Automake Sitiu web oficial (n'inglés)
 GNU Automake homepage Sitiu oficial (n'inglés)
 The GNU Coding Standards (especialmente'l capítulu The Release Process).
 pkg-config paquete
 Tutorial sobre Autotools pa primerizos .
 Tutorial pa primerizos Autotools 
 GNU Autoconf, Automake y Libtool, por Gary V. Vaughan, Ben Elliston, Tom Tromey y Ian Lance Taylor. ISBN 1-57870-190-2

Build system
Categoría:Ferramientes de desenvolvimientu de software
Categoría:Software del Proyeutu GNU