blob: 15dd28a45fbce595039bd62764253e055edfdc1a [file] [log] [blame]
##*****************************************************************************
# AUTHOR:
# Mark Grondona <mgrondona@llnl.gov>
#
# SYNOPSIS:
# AC_LUA
#
# DESCRIPTION:
# Check for presence of lua libs and headers
##*****************************************************************************
AC_DEFUN([X_AC_LUA],
[
AC_MSG_CHECKING([whether to enable lua plugin support])
AC_ARG_WITH([lua],
AS_HELP_STRING(--with-lua,enable lua plugin support),
[ case "$withval" in
yes|"") x_ac_lua=yes ;;
no) x_ac_lua=no ;;
*) AC_MSG_RESULT([doh!])
AC_MSG_ERROR([bad value "$withval" for --with-lua]) ;;
esac
],
[x_ac_lua=yes]
)
if test "x$with_lua" = "xno"; then
AC_MSG_RESULT([no])
AC_MSG_NOTICE([lua support is disabled])
else
x_ac_lua_pkg_name="lua"
# First check for lua named package, then check for 5.4, 5.3, 5.2 and 5.1.
# Modern RHEL uses "lua' for the primary version.
PKG_CHECK_EXISTS([lua], [x_ac_lua_pkg_name="lua >= 5.1"],
[PKG_CHECK_EXISTS([lua5.4], [x_ac_lua_pkg_name=lua5.4],
[PKG_CHECK_EXISTS([lua-5.4], [x_ac_lua_pkg_name=lua-5.4],
[PKG_CHECK_EXISTS([lua5.3], [x_ac_lua_pkg_name=lua5.3],
[PKG_CHECK_EXISTS([lua-5.3], [x_ac_lua_pkg_name=lua-5.3],
[PKG_CHECK_EXISTS([lua5.2], [x_ac_lua_pkg_name=lua5.2],
[PKG_CHECK_EXISTS([lua-5.2], [x_ac_lua_pkg_name=lua-5.2],
[PKG_CHECK_EXISTS([lua5.1], [x_ac_lua_pkg_name=lua5.1],
[PKG_CHECK_EXISTS([lua-5.1], [x_ac_lua_pkg_name=lua-5.1],
[x_ac_lua_pkg_name="lua >= 5.1"])])])])])])])])])
PKG_CHECK_MODULES([lua], ${x_ac_lua_pkg_name},
[x_ac_have_lua="yes"],
[x_ac_have_lua="no"])
if test "x$x_ac_have_lua" = "xyes"; then
saved_CFLAGS="$CFLAGS"
saved_LIBS="$LIBS"
lua_CFLAGS="$lua_CFLAGS"
CFLAGS="$CFLAGS $lua_CFLAGS"
LIBS="$LIBS $lua_LIBS"
AC_MSG_CHECKING([for whether we can link to liblua])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
]],
[[
lua_State *L = luaL_newstate();
luaL_openlibs(L);
]],
)],
[],
[x_ac_have_lua="no"])
AC_MSG_RESULT([$x_ac_have_lua $x_ac_lua_pkg_name])
if test "x$x_ac_have_lua" = "xno"; then
AS_IF([test -z "$with_lua"],
[AC_MSG_WARN([unable to link against lua libraries])],
[AC_MSG_ERROR([unable to link against lua libraries])])
else
AC_DEFINE(HAVE_LUA, 1, [Define to 1 if we have the Lua library])
# We can not define something here to determine version for systems
# that use just liblua we will not know what version we are using.
# Use LUA_VERSION_NUM as in lua.h it will always be right.
fi
CFLAGS="$saved_CFLAGS"
LIBS="$saved_LIBS"
else
AS_IF([test -z "$with_lua"],
[AC_MSG_WARN([unable to locate lua package])],
[AC_MSG_ERROR([unable to locate lua package])])
fi
fi
AM_CONDITIONAL(HAVE_LUA, test "x$x_ac_have_lua" = "xyes")
])