sábado, 18 de junio de 2011

Hacer que autoconf detecte LUA 5.1

He tenido algunos problemas para poder hacer detectar las librerías de LUA en autotools. He logrado realizar esto con algunas pruebas de nombres y así lograr incluir las bibliotecas y las cabeceras. AUX_LUA.m4 no logra detectar LUA en Debian, pero no se si también tiene dificultades en otras distribuciones. Al parecer en Ubuntu también existe un problema semejante.

Aquí el código básico del configure.ac que busca LUA 5.1.



AC_INIT([luaexp], [1.0], algo@correo.com)

AC_PREREQ(2.61)
AC_CANONICAL_HOST
AC_CANONICAL_BUILD
AC_CANONICAL_TARGET

AM_INIT_AUTOMAKE([foreign -Wall -Werror])
AC_PROG_CC

dnl Check for LibLua: --------------------------------------------------------

AC_MSG_CHECKING([for Lua package name])
PKG_CHECK_EXISTS([lua5.1], [LUA="lua5.1"],
[PKG_CHECK_EXISTS([lua-5.1], [LUA="lua-5.1"], [LUA="lua"])])
AC_MSG_RESULT([$LUA])

PKG_CHECK_MODULES([LUA],
[$LUA],
,
[ [echo "$LUA not found via pkg_config, checking AC_CHECK_LIB:"]
AC_CHECK_LIB([$LUA],
[lua_newstate],
,
[AC_MSG_ERROR([LUA no found! http://www.lua.org/download.html])]
)
[echo "$LUA successfully located"]
]
)

AC_DEFINE([HAVE_LUA],[1],[Define to 1 if you have the `LUA` library])


CFLAGS="$CFLAGS $LUA_CFLAGS"
LIBS="$LIBS $LUA_LIBS"


AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile])

AC_OUTPUT


Espero esto ayude a cualquier otra persona que necesite incluir LUA en su proyecto. En negrita resalto el código específico para la detección.

No hay comentarios:

Publicar un comentario