TS-1926 Change Lua detection to look for lua_getfenv(), which is not
available in Lua v5.2 and later (and our code needs it, for now).


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/912e8c11
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/912e8c11
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/912e8c11

Branch: refs/heads/3.3.x
Commit: 912e8c118bdc62cccb20efa88f38081cc689ef66
Parents: 8ae414a
Author: Leif Hedstrom <[email protected]>
Authored: Thu May 30 15:37:50 2013 -0600
Committer: Leif Hedstrom <[email protected]>
Committed: Thu May 30 15:38:31 2013 -0600

----------------------------------------------------------------------
 CHANGES      |    3 +++
 build/lua.m4 |   18 ++++++++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/912e8c11/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 6301906..127f637 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
   Changes with Apache Traffic Server 3.3.3
 
 
+  *) [TS-1926] Require Lua v5.1, by checking for lua_getfenv(). This is
+   necessary since we are incompatible with Lua v5.2 (for now).
+
   *) [TS-1921] Fix reclaimable freelist getting stuck in infinite loop.
     Author: Yunkai Zhang <[email protected]>
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/912e8c11/build/lua.m4
----------------------------------------------------------------------
diff --git a/build/lua.m4 b/build/lua.m4
index 0ac7244..8d83b13 100644
--- a/build/lua.m4
+++ b/build/lua.m4
@@ -36,6 +36,12 @@ else
     test_paths="${lua_path}"
 fi
 
+dnl
+dnl Note that we check for the existence of lua_getfenv (used to be
+dnl luaL_newstate). This is because Lua v5.2 and later deprecates
+dnl lua_getfenv() because of changes in how environements are handled.
+dnl Also see: https://issues.apache.org/jira/browse/TS-1931
+dnl
 AC_CHECK_LIB(m, pow, lib_m="-lm")
 AC_CHECK_LIB(m, sqrt, lib_m="-lm")
 for x in $test_paths ; do
@@ -45,13 +51,13 @@ for x in $test_paths ; do
         save_LDFLAGS=$LDFLAGS
         CFLAGS="$CFLAGS"
         LDFLAGS="$LDFLAGS $lib_m"
-        AC_CHECK_LIB(lua5.1, luaL_newstate, [
+        AC_CHECK_LIB(lua5.1, lua_getfenv, [
             LUA_LIBS="-llua5.1 $lib_m"
         ],[
-            AC_CHECK_LIB(lua-5.1, luaL_newstate, [
+            AC_CHECK_LIB(lua-5.1, lua_getfenv, [
                 LUA_LIBS="-llua-5.1 $lib_m"
             ],[
-                AC_CHECK_LIB(lua, luaL_newstate, [
+                AC_CHECK_LIB(lua, lua_getfenv, [
                     LUA_LIBS="-llua $lib_m"
                 ])
             ])
@@ -69,7 +75,7 @@ for x in $test_paths ; do
         save_LDFLAGS=$LDFLAGS
         CFLAGS="$CFLAGS"
         LDFLAGS="-L$x/lib $LDFLAGS $lib_m"
-        AC_CHECK_LIB(lua5.1, luaL_newstate, [
+        AC_CHECK_LIB(lua5.1, lua_getfenv, [
             LUA_LIBS="-L$x/lib -llua5.1 $lib_m"
             LUA_CFLAGS="-I$x/include/lua5.1"
             ])
@@ -86,7 +92,7 @@ for x in $test_paths ; do
         save_LDFLAGS=$LDFLAGS
         CFLAGS="$CFLAGS"
         LDFLAGS="-L$x/lib/lua51 $LDFLAGS $lib_m"
-        AC_CHECK_LIB(lua, luaL_newstate, [
+        AC_CHECK_LIB(lua, lua_getfenv, [
             LUA_LIBS="-L$x/lib/lua51 -llua $lib_m"
             LUA_CFLAGS="-I$x/include/lua51"
             ])
@@ -103,7 +109,7 @@ for x in $test_paths ; do
         save_LDFLAGS=$LDFLAGS
         CFLAGS="$CFLAGS"
         LDFLAGS="-L$x/lib $LDFLAGS $lib_m"
-        AC_CHECK_LIB(lua, luaL_newstate, [
+        AC_CHECK_LIB(lua, lua_getfenv, [
             LUA_LIBS="-L$x/lib -llua $lib_m"
             LUA_CFLAGS="-I$x/include"
             ])

Reply via email to