Para empezar el antidiluviano m4 como procesador de macros. Sintaxis más propia de mediados de los años 80, cuando hoy en día cualquier sistema tiene un buen interprete perl o python.
Aparte, la gente de Freedesktop tienen otro sistema para localizar donde están los ficheros includes y las librerías, llamado pkg-config.Este sistema es un ejecutable y una serie de ficheros que especifica donde están las librerías y ficheros includes. Por ejemplo MacOS incluye estos ficheros para algunas librerías en /usr/lib/pkgconfig. Claro, que en caso de que actualicemos por ejemplo a nuestra propia versión y la coloquemos en /usr/local, nos encontraremos que el pkg-config sólo esté buscando los paquetes en /usr/local/lib/pkgconfig. Para evitar estos problemas podemos utilizar la variable de entorno PKG_CONFIG_PATH. En esta variable se puede especificar una lista de directorios separados por ":" para que el programa busque en los mismos los ficheros necesarios. Así para que busque en /usr/lib/pkgconfig y /usr/local/lib/pkgconfig:
ibookdrizzt:~ terron$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig ibookdrizzt:~ terron$ pkg-config --libs glib-2.0 -L/usr/local/lib -lglib-2.0 -lintl -liconv ibookdrizzt:~ terron$
Un detalle, aparte, es que para usar autoconf y demás familia, pkg-config instala un fichero de macros llamado pkg.m4.Este fichero de macros depende de donde se ha configurado la instalación del mismo. Claro, que si lo queremos usar desde un aclocal para buscar las dependencias dependerá también de como este último se haya compilado. Para ello, aclocal tiene la opción -I directorio para especificar las rutas de búsqueda de los ficheros m4. Por ejemplo, si en nuestro sistema tenemos un fichero de macros m4 que necesite aclocal en /usr/local/share/aclocal, pues:
ibookdrizzt:~/tmp/os-sim-0.9.9rc3.drizzt terron$ aclocal -I /usr/local/share/aclocal ibookdrizzt:~/tmp/os-sim-0.9.9rc3.drizzt terron$
En fin, problemillas que me voy encontrando con las autotools ....
No hay comentarios:
Publicar un comentario