aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbloodstalker <thabogre@gmail.com>2018-08-29 18:25:26 +0000
committerbloodstalker <thabogre@gmail.com>2018-08-29 18:25:26 +0000
commitb1efe40eed74681d14c4c7a1777518593be58431 (patch)
treebea2cdd833f13823fcf515e91f499ac2eef5adfd
parentupdate (diff)
downloadluatablegen-b1efe40eed74681d14c4c7a1777518593be58431.tar.gz
luatablegen-b1efe40eed74681d14c4c7a1777518593be58431.zip
update
m---------lua50
-rwxr-xr-xluatablegen.py11
-rw-r--r--out/makefile6
3 files changed, 9 insertions, 8 deletions
diff --git a/lua5 b/lua5
-Subproject f59e6a93c0ad38a27a420e51abf8f13d962446b
+Subproject e354c6355e7f48e087678ec49e340ca0696725b
diff --git a/luatablegen.py b/luatablegen.py
index a02cdf4..01fcfe5 100755
--- a/luatablegen.py
+++ b/luatablegen.py
@@ -50,9 +50,13 @@ REGISTER_TABLE_METHODS = ['static const luaL_Reg XXX_methods[] = {\n',
REGISTER_META = ['static const luaL_Reg XXX_meta[] = {\n',
'\t{0, 0}\n};\n']
TABLE_REGISTER = ['int XXX_register(lua_State* __ls) {\n',
- '\tluaL_openlib(__ls, "XXX", XXX_methods, 0);\n',
+ 'lua_newtable(__ls);\n',
+ 'luaL_setfuncs(__ls, XXX_methods, 0);\n',
+ 'lua_setglobal(__ls, "XXX");\n',
'\tluaL_newmetatable(__ls, "XXX");\n',
- '\tluaL_openlib(__ls, 0, XXX_meta, 0);\n',
+ 'lua_newtable(__ls);\n',
+ 'luaL_setfuncs(__ls, XXX_meta, 0);\n',
+ 'lua_setglobal(__ls, 0);\n',
'\tlua_pushliteral(__ls, "__index");\n',
'\tlua_pushvalue(__ls, -3);\n',
'\tlua_rawset(__ls, -3);\n',
@@ -612,7 +616,6 @@ class TbgParser(object):
field_names = v['field_name']
field_types = v['field_type']
lua_types = v['lua_type']
- #methods = v['methods']
l_source.write(LUA_SETMETA_NEW[0].replace("XXX", struct_name))
arg_list_str = str()
for i in range(0, len(field_names)):
@@ -678,10 +681,8 @@ class TbgParser(object):
simple_type = simple_type_resovler(node.attrib["type"])
if count != 1 and simple_type not in simple_table_list:
simple_table_list.append(simple_type)
- print(simple_type)
yyy = node.attrib["name"]
xxx = simple_type_resovler(node.attrib["type"])
- #simple_type = lua_type_resolver(node.attrib["type"])
# lightuserdata types are being handled elsewhere
if simple_type == "lightuserdata": continue
lua_type = lua_type_resolver(node.attrib["type"])
diff --git a/out/makefile b/out/makefile
index 86b90b3..f33376e 100644
--- a/out/makefile
+++ b/out/makefile
@@ -3,12 +3,12 @@ SHELL=bash
SHELL?=bash
CC=clang
CC?=clang
-CC_FLAGS=-fpic
+CC_FLAGS=
CC_EXTRA?=
CTAGS_I_PATH?=./
LD_FLAGS=
LIB_LUA=../lua5/liblua.a
-EXTRA_LD_FLAGS?=-lm -ldl -llua
+EXTRA_LD_FLAGS?=-lm -ldl
ADD_SANITIZERS_CC= -g -fsanitize=address -fno-omit-frame-pointer
ADD_SANITIZERS_LD= -g -fsanitize=address
MEM_SANITIZERS_CC= -g -fsanitize=memory -fno-omit-frame-pointer
@@ -81,7 +81,7 @@ $(LIB_LUA):
$(MAKE) -C ../lua5 a
$(TARGET): $(TARGET).o $(LIB_LUA) $(OBJ_LIST)
- $(CC) $^ $(LD_FLAGS) -o $@
+ $(CC) $(LD_FLAGS) $^ -o $@
$(TARGET)-static: $(TARGET).o $(LIB_LUA) $(OBJ_LIST)
$(CC) $^ $(LD_FLAGS) -static -o $@