diff options
-rw-r--r-- | CMakeLists.txt | 14 | ||||
-rw-r--r-- | lib/init.c | 2 | ||||
-rw-r--r-- | rocks/threads-scm-1.rockspec | 2 |
3 files changed, 16 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e39a8e..c90fc76 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,20 @@ set(luasrc safe.lua ) +set(CMAKE_REQUIRED_INCLUDES ${LUA_INCDIR}) +include(CheckCSourceCompiles) +check_c_source_compiles(" +#include <lauxlib.h> +int main() +{ + long i = sizeof(&luaL_setfuncs); + return 0; +} +" HAS_LUAL_SETFUNCS) +if(HAS_LUAL_SETFUNCS) + add_definitions(-DHAS_LUAL_SETFUNCS) +endif() + ADD_LIBRARY(threadsmain MODULE lib/thread-main.c) IF(APPLE) SET_TARGET_PROPERTIES(threadsmain PROPERTIES @@ -1,7 +1,7 @@ #include <lua.h> #include <lauxlib.h> -#if LUA_VERSION_NUM == 501 +#ifndef HAS_LUAL_SETFUNCS static void luaL_setfuncs(lua_State *L, const luaL_Reg *l, int nup) { luaL_checkstack(L, nup+1, "too many upvalues"); diff --git a/rocks/threads-scm-1.rockspec b/rocks/threads-scm-1.rockspec index 9765d4a..294ff62 100644 --- a/rocks/threads-scm-1.rockspec +++ b/rocks/threads-scm-1.rockspec @@ -23,7 +23,7 @@ dependencies = { build = { type = "command", build_command = [[ -cmake -E make_directory build && cd build && cmake .. -DLUALIB=$(LUALIB) -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(LUA_BINDIR)/.." -DCMAKE_INSTALL_PREFIX="$(PREFIX)" && $(MAKE) +cmake -E make_directory build && cd build && cmake .. -DLUALIB=$(LUALIB) -DLUA_INCDIR=$(LUA_INCDIR) -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(LUA_BINDIR)/.." -DCMAKE_INSTALL_PREFIX="$(PREFIX)" && $(MAKE) ]], platforms = { windows = { |