GNU build system

GNU build system

El GNU build system conocido también como Autotools es un conjunto de herramientas producido por el proyecto GNU. Estas herramientas están diseñadas para ayudar a crear paquetes de código fuente portable a varios sistemas Unix. El GNU build system forma parte de GNU toolchain y se usa mucho para desarrollar software libre. Aunque las herramientas que contiene el GNU build system son GPL no existe ninguna restricción para crear software portable no libre con él.

Contenido

Herramientas incluidas con GNU build system

El GNU build system comprende los programas de utilidad GNU Autoconf, Automake y Libtool. Otras herramientas usadas 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 (aunque se recomienda usar configure.ac[1] ). Cuando ejecuta el script de configuración también puede procesar otros archivos como Makefile.in para producir como salida un archivo Makefile.

Autoconf se usa para intentar salvar las diferencias que existen entre distintos tipos de Unix. Por ejemplo, algunos sistemas Unix pueden tener funcionalidades que no existen o no funcionan en otros sistemas. Autoconf puede detectar ese problema y busca la forma de solucionarlo. La salida de Autoconf es un script denominado configure. Autoconf incluye la herramienta Autoheader que se usa para manejar los archivos de cabecera de C.

GNU Automake

Automake ayuda a crear archivos Makefile portables. Estos son procesados después por la herramienta make. Toma como entrada un archivo Makefile.am y lo transforma en un Makefile.in. Este, a su vez, es utilizado por Autoconf para generar el archivo Makefile final.

GNU Libtool

Libtool ayuda a crear bibliotecas estáticas y dinámicas para varios sistemas operativos Unix. Libtool abstrae el proceso de creación de las bibliotecas ocultando las diferencias entre los distintos sistemas (entre GNU/Linux y Solaris por ejemplo).

Ventajas de GNU build system

El GNU build system provee de un entorno de programación que permite escribir código portable. Al menos entre distintos tipos de Unix. También logra que el proceso de construcción sea más fácil para el usuario. Logrando que el usuario tan solo necesite un pequeño número de comandos para construir e instalar el programa.

Las utilidades usadas por el GNU build system son necesarias exclusivamente en la máquina de desarrollo. Los usuarios no necesitan Autoconf, Automake o Libtool para construir o instalar el software. Esto hace que el GNU build system sea auto contenido. Tan solo hacen falta herramientas estándares de Unix para construirlo. Esto se consigue usando scripts que ayudan a configurar el software para el sistema operativo de un determinado usuario.

Las utilidades disponibles en el GNU build system pueden ser usadas juntas o separadas. Un proyecto puede usar una de ellas sin necesidad de utilizar el resto.

Desventajas del GNU build system

El GNU build system usa scripts compatibles con la shell Bourne para ayudar al usuario en la configuración y en el proceso de construcción. Sin embargo hay algunos sistemas operativos (como la familia de Microsoft Windows) que no pueden ejecutar los scripts de la shell Bourne por si mismos. Esto hace más difícil construir software en los Sistemas Operativos Windows que en un sistema Unix. De todas formas se puede instalar el sistema Cygwin en Windows para proveer de una capa compatible. De esta forma se dispondría de un entorno con todas las herramientas propias de Unix.

Los proyectos que usan el GNU build system pueden disponer, o no, de un archivo configure. Si no dispone de él podemos generarlo siguiendo estos pasos:

$ aclocal
$ autoheader
$ automake
$ autoconf

No todos los comandos son necesarios. Dependiendo del uso que haga el proyecto del GNU build system puede que tengamos que utilizar uno o más de estos pasos.

Referencias

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • GNU build system — GNU logo The GNU build system, also known as the Autotools, is a suite of programming tools designed to assist in making source code packages portable to many Unix like systems. It can be difficult to make a software program portable: the C… …   Wikipedia

  • GNU Build System — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU build system — …   Википедия

  • GNU toolchain — est un terme général utilisé par la communauté anglosaxonne pour désigner certains outils de développement (en) du projet GNU. Ces outils forment une suite d outils de développement utilisés en série, souvent appelée « toolchain »… …   Wikipédia en Français

  • GNU Pascal — (GPC) is a Pascal compiler comprised of a frontend to GCC, similar to the way Fortran and other languages were added to GCC. GNU Pascal is ISO 7185 compatible, and it implements most of the ISO 10206 Extended Pascal standard (according to the… …   Wikipedia

  • GNU Autotools — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU autotools — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU Libtool — Infobox Software name = GNU Libtool developer = The GNU Project latest release version = 2.2 latest release date = March 01, 2008 operating system = Cross platform genre = Library license = GPL website = http://www.gnu.org/software/libtool/ GNU… …   Wikipedia

  • GNU toolchain — The GNU toolchain is a blanket term for a collection of programming tools produced by the GNU Project. These tools form a toolchain (suite of tools used in a serial manner) used for developing applications and operating systems.The GNU toolchain… …   Wikipedia

  • GNU Toolchain — Die GNU Toolchain (deutsch: GNU Werkzeugkette) ist ein Gesamtbegriff für die Programmierwerkzeuge, die vom GNU Projekt produziert wurden. Diese Projekte bilden ein Gesamtsystem oder eine Werkzeugkette, die für die Programmierung von sowohl… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”