X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=m4%2Fpdns_with_lua.m4;h=e280c1b7382357cddde8fa03f7b75e13c3056b27;hb=7a86189e73f9af20eb704534b290945956505ddf;hp=18bb1b9d8bd1a4469f1d24c09435e05836cf3b1a;hpb=99e9f04331122356ec722b45ca954c9d7bab5c26;p=thirdparty%2Fpdns.git diff --git a/m4/pdns_with_lua.m4 b/m4/pdns_with_lua.m4 index 18bb1b9d8b..e280c1b738 100644 --- a/m4/pdns_with_lua.m4 +++ b/m4/pdns_with_lua.m4 @@ -1,36 +1,62 @@ AC_DEFUN([PDNS_WITH_LUA],[ - AC_MSG_CHECKING([whether we will be linking in Lua]) + AC_PROG_GREP()dnl Ensure we have grep + AC_MSG_CHECKING([which Lua implementation to use]) AC_ARG_WITH([lua], - [AS_HELP_STRING([--with-lua], [build Lua Bindings @<:@default=auto@:>@])], - [with_lua=$withval], - [with_lua=auto] - ) + [AS_HELP_STRING([--with-lua], [select Lua implementation @<:@default=auto@:>@]) + ], [ + with_lua=$withval + ], [ + with_lua=auto + ]) + + AS_IF([test "x$with_lua" = "xyes"], [ + dnl --with-lua was passed, make it auto + with_lua=auto + ]) + AC_MSG_RESULT([$with_lua]) - AS_IF([test "x$with_lua" != "xno"],[ - AS_IF([test "x$with_lua" = "xyes" -o "x$with_lua" = "xauto"], - [for LUAPC in lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua; do - PKG_CHECK_MODULES([LUA], $LUAPC >= 5.1, [ - AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have lua]) - with_lua=yes - ], [LUAPC=""]) # otherwise pkg_check will fail - if test "x$LUA_LIBS" != "x"; then break; fi - done - ], - [LUAPC="$with_lua" - PKG_CHECK_MODULES([LUA], $LUAPC >= 5.1, [ - AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have lua]) - with_lua=yes + AS_IF([test "x$with_lua" = "xno" -a "$1" = "mandatory"], [ + AC_MSG_ERROR([--without-lua specified, but Lua is not optional]) + ]) + + LUAPC="" + luajit_min_version='2.0.2' + lua_min_version='5.1' + + AS_IF([test "x$with_lua" != "xno"], [ + AS_IF([test "x$with_lua" != "xauto"], [ + with_lua_version=${lua_min_version} + AS_IF([echo "x$with_lua" | ${GREP} 'jit' >/dev/null 2>&1], [with_lua_version=${luajit_min_version}]) + PKG_CHECK_MODULES([LUA], $with_lua >= $with_lua_version, [ + AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have Lua]) + LUAPC=$with_lua + ], [ + AC_MSG_ERROR([Selected Lua ($with_lua) not found]) + ]) + ], [ + PKG_CHECK_MODULES([LUA], [luajit >= ${luajit_min_version}], [ + LUAPC=luajit + AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have Lua]) + ], [ : ]) + AS_IF([test -z "$LUAPC"], [ + found_lua=n + m4_foreach_w([luapc], [lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua], [ + AS_IF([test "$found_lua" != "y"], [ + PKG_CHECK_MODULES([LUA], [luapc >= ${lua_min_version}], [ + AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have lua]) + found_lua=y + LUAPC=luapc + ], [ : ]) + ]) ]) - ]) - AC_MSG_CHECKING([for chosen LUA]) - AS_IF([test "x$LUAPC" = "x"], [ - AS_IF([test "x$with_lua" = "xyes"], - [AC_MSG_ERROR([cannot find lua])], - [AC_MSG_RESULT([not found])] - )],[ - AC_MSG_RESULT([$LUAPC]) ]) ]) - AM_CONDITIONAL([LUA], [test "x$with_lua" = "xyes"]) + ]) + + AS_IF([test -z "$LUAPC" -a "$1" = "mandatory"], [ + AC_MSG_ERROR([No Lua not found, but is mandatory]) + ]) + + AM_CONDITIONAL([LUA], [test -n "x$LUAPC"]) ])