]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - m4/pdns_with_lua.m4
Merge pull request #7903 from Habbie/dnsdist-doc-nits
[thirdparty/pdns.git] / m4 / pdns_with_lua.m4
index 50d8d40227ede766f821b48aedddfd18ee748c9a..e280c1b7382357cddde8fa03f7b75e13c3056b27 100644 (file)
@@ -1,12 +1,19 @@
 AC_DEFUN([PDNS_WITH_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], [select Lua implementation @<:@default=auto@:>@])
+  AC_ARG_WITH([lua],
+    [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" -a "$1" = "mandatory"], [
@@ -14,17 +21,21 @@ AC_DEFUN([PDNS_WITH_LUA],[
   ])
 
   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"], [
-      PKG_CHECK_MODULES([LUA], $with_lua >= 5.1, [
+      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 not found])
+        AC_MSG_ERROR([Selected Lua ($with_lua) not found])
       ])
     ], [
-      PKG_CHECK_MODULES([LUA], [luajit], [
+      PKG_CHECK_MODULES([LUA], [luajit >= ${luajit_min_version}], [
         LUAPC=luajit
         AC_DEFINE([HAVE_LUA], [1], [Define to 1 if you have Lua])
       ], [ : ])
@@ -32,7 +43,7 @@ AC_DEFUN([PDNS_WITH_LUA],[
         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 >= 5.1], [
+            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