autoconf

autoconf - automake



¿Cómo incluir archivos.m4 en autoconf? (5)

¿No es suficiente guardar la macro m4 en cierto directorio y ejecutar autoreconf con la opción -I ?

autoreconf -i -I/path/to/your/m4/file

¿O lo malentendí y desea integrarlo de forma permanente, sin que la persona que ejecuta autoreconf preocupe por descargar el archivo m4?

He descargado una macro de Autoconf Archive y quiero usarla. ¿Qué tengo que poner en mi archivo configure.ac para usar esta macro?


Como alternativa a la solución de Idav1s (que es absolutamente correcta), puede instalar la macro en una ubicación donde aclocal encontrará (use aclocal --print para ver dónde aclocal está buscando archivos .m4 ). Cada enfoque tiene sus pros y sus contras. Si instala los archivos .m4 en $(aclocal --print) , puede usar la macro en todos sus proyectos sin hacer nada más. El principal inconveniente es que cada desarrollador que trabaja en el proyecto tendrá que instalar la macro en su caja, y eso requiere que cada desarrollador tenga una comprensión razonable de las autotools.


Tenía exactamente la misma pregunta, y era más difícil encontrar una respuesta de lo que pensaba. Parecía que AC_CONFIG_MACRO_DIR era lo que quería, pero si no estás usando libtoolize, parece que AC_CONFIG_MACRO_DIR sirve para nada en este momento.

Si está utilizando automake, creo que la respuesta anterior es correcta.

No estoy usando automake, así que la única forma que encontré es usar la macro m4_include para aspirar cada archivo .m4 individualmente. He encontrado este enfoque aquí:

http://www.flameeyes.eu/autotools-mythbuster/autoconf/macros.html

Espero que esto ayude. (Teniendo en cuenta cuánto tiempo ha existido autoconf, me sorprende un poco que no haya una forma integrada de especificar un directorio en el archivo .ac. Parece que sería un caso de uso terriblemente común. Oh, bueno.)


Tengo este problema también, y sólo lo arreglé. Mi entorno es: CentOS 6.4, M4 1.4.17, autoconf 2.69, libtool 2.4, automake 1.14

Aquí están los pasos que he usado.

add m4 as AC_CONFIG_MACRO_DIR to your configure.ac rm aclocal.m4 if it exists mkdir m4 if it does not exist # copy some dummy files into the folder # or some versions of autoconf won''t work autoreconf -i --install


Es posible que desee agregar AC_CONFIG_MACRO_DIR a configure.ac en el directorio donde está la macro:

AC_CONFIG_MACRO_DIR([path/to/macros])

También necesitarás invocar la macro en algún lugar de este archivo.

y en Makefile.am probablemente necesitarás configurar ACLOCAL_AMFLAGS (si estás usando automake):

ACLOCAL_AMFLAGS = -I path/to/macros

Luego, invoque autoreconf -fvi y debería estar configurado.