Preparación del entorno

Tabla de contenidos

Introducción
Estructura de un proyecto GNU
Las herramientas a través de un ejemplo

Introducción

Las herramientas como automake y autoconf se encuentran disponibles en la mayoría de los proyectos open sources de hoy en día. La mayor ventaja en el uso de estas herramientas se debe a que ayudan a la portabilidad de las aplicaciones a nivel de código fuente, abstrayéndose en la medida de lo posible, de las versiones de las herramientas tradicionales disponibles en cada sistema operativo tipo Unix.

Cada vez que un usuario descarga el código fuente de una aplicación que se encuentra empaquetada, se encuentra comunmente con un script llamado configure, el cual al ejecutarse realiza todas las verificaciones y definiciones necesarias para que la aplicación se pueda compilar, y posteriormente instalar, con éxito. Por lo tanto, desde el punto de vista del usuario, el script configure es el inicio del proceso que dejará la aplicación funcional en su sistema.

Desde el punto de vista del desarrollador, el script configure constituye el resultado final de un proceso, que facilita la distribucion de su aplicación para dejarla disponible a la comunidad.

En este trabajo, se explicarán las herramientas que permiten al desarrollador facilitar su trabajo para, finalmente, dejar disponible un script de autoconfiguracion de su aplicación. Además, se explicará la estructura de directorios en un proyecto open source, la mejor manera de dividirlo y los lineamientos para enfrentar un proyecto que pueda ser mantenible a través del tiempo con distintos desarrolladores.

Este tema es relevante debido a que existen falencias en los desarrolladores a nivel nacional en el uso de este tipo de herramientas, a pesar que es un tema de interés y que han manifestado en más de una ocasión su intención de aprender. Por otra parte, está la competencia entre aprender a crear un proyecto y comenzar a programar inmediatamente, muchas veces acompañado por las barreras de entrada que impone la mantención de archivos Makefile y posteriormente el uso de macros m4.

En los proyectos en funcionamiento, la cantidad de archivos y directorios, de alguna forma u otra, contribuyen al distanciamiento de los nuevos contribuyentes al aprendizaje del uso de estas herramientas.

Las herramientas básicas: aclocal, autoheader, autoconf, automake, libtool.El primer ejemplo, es una aplicación mínima y el segundo es analizar un proyecto GNOME, con todas las macros añ¡¤©das en GNOME que facilitan la gestión de proyectos de naturaleza abierta.Definiciones de las herramientasIniciosQuien las mantieneQué proyecto las usaPor qué se usanCuáles son sus facilidadesPor qué se utilizan macros M4Trucos básicos en el uso de macrosEstructura de un archivo configure.inEstructura de un archivo Makefile.amDirectivas y variables predefinidas y su relación (configure.in <-> Makefile.am)Explicación de cada uno de los archivos del proyectoMacros de internacionalizaciónMacros para búsqueda de dependenciasMacros para generación de avisosMacros para evitar el uso de funciones obsoletasArchivos de un proyecto: ChangeLog, HACKERS, README, TODOIdeas:The programa make lee un conjunto de reglas de un archivo Makefile y las emplea para construir un programa.