5. Construyendo el proyecto

Una vez que tenemos todos los archivos necesarios del proyecto, debemos utilizar autotools para generar el script configure y los Makefiles necesarios para poder distribuir el programa.

Primeramente, utilizaremos la utilidad aclocal para generar el archivo aclocal.m4. Este archivo contiene macros que son necesarias para autoconf. Para generar este archivo, simplemente debemos ejecutar


$ aclocal
con lo que aclocal.m4 será creado.

Ahora debemos proceder a crear el script de configuración configure. Para esto utilizaremos autoconf, ejecutándolo así


$ autoconf
Con esto configure y un directorio autom4te.cache serán creados.

Luego necesitamos crear un conjunto de archivos que son necesarios para cumplir con los estándares de GNU. Estos archivos deben estar en el directorio raíz del proyecto y son los siguientes.

INSTALL

Con información referente al proceso de instalación usando autotools.

COPYING

Con la licencia pública general de la Free Software Foundation. Como bien sabemos, el proyecto GNOME se distribuye bajo esta licencia, por lo que nuestro proyecto también debe hacerlo.

NEWS

Aquí se le indica a los usuarios sobre las características principales del proyecto, y en particular de la distribución que tienen en su poder.

README

En este archivo se debe describir el propósito del proyecto, además de mencionar la documentación restante disponible. En resumen, todo lo que el instalador y usuario deba saber debe mencionarse acá.

AUTHORS

En este archivo se mencionan los autores del proyecto y las personas que contribuyeron directamente. Cualquier otra contribución debe ser incluida en el archivo THANKS, que no es requisito, pero se sugiere como forma de agradecer a todos quienes colaboran.

ChangeLog

Es un registro con los cambios que va sufriendo a través del tiempo el proyecto. Deben registrarse cambios detalladamente, y deben servir como referencia para los hackers que están participando en el desarrollo.

De estos debemos crear al menos NEWS, README, AUTHORS y ChangeLog (se sugiere el uso de touch para esto, pero en un proyecto real el uso adecuado de estos archivos es altamente recomendado). Los restantes pueden ser creados automáticamente por automake al generar los Makefiles, si ejecutamos este de la siguiente manera:


$ automake --add-missing
Con esto los archivos INSTALL y COPYING serán creados e incluirán instrucciones de instalación y la GPL respectivamente. Desde luego, con esto quedarán creados los archivos Makefile necesarios en cada subdirectorio del proyecto. Debe notarse que si automake finaliza su ejecución sin dar mensaje alguno, es porque todo ha sido construido sin problemas.

Con esto nuestro paquete está listo para ser distribuido. A continuación procederemos a probarlo como es común, mediante


$ ./configure
$ make
Debido al uso de libglade, a continuación debemos instalar la aplicación. Para esto, como superusuario debemos ejecutar

# make install
Con esto los archivos binario y de interfaz serán copiados en su directorio de aplicaciones. Opcionalmente, podemos configurar el proyecto usando el parámetro --prefix para definir una ubicación alternativa para instalarlo. Por ejemplo

$ ./configure --prefix=$HOME
$ make && make install
instalará el proyecto en nuestro directorio HOME.

A continuación podemos probar nuestro programa:


$ hellolibglade
Con lo que podremos ver finalmente a Hello libGlade ejecutarse.