diff --git a/config.mk b/config.mk index 004fced6a3b3d5db5217fe264ff9692bfdc1503e..78d1340d8397279d9c8aba10fab36c7124eb932f 100644 --- a/config.mk +++ b/config.mk @@ -17,5 +17,6 @@ CFLAGS += -DPACKAGE_VERSION="\"$(MAJOR).$(MINOR)\"" -DPREFIX="\"$(PREFIX)\"" -D RM := rm -f LN := ln -s XXD ?= xxd +LUAC ?= luac INSTALL := install PYTHON := python diff --git a/daemon/daemon.mk b/daemon/daemon.mk index 918738d55713c17b63d8db57aee3e45edb12a894..64510f0dfdab6aa2de041e98e98da49a7d21ef0f 100644 --- a/daemon/daemon.mk +++ b/daemon/daemon.mk @@ -10,8 +10,9 @@ kresolved_SOURCES := \ # Embed resources daemon/engine.o: daemon/lua/init.inc daemon/lua/config.inc %.inc: %.lua - @$(call quiet,XXD,$<) -i < $< > $@ - @echo ', 0x00' >> $@ + @$(call quiet,LUAC,$<) -o $<.out $< + @$(call quiet,XXD,$<) -i - < $<.out > $@ + @$(RM) $<.out # Dependencies kresolved_DEPEND := $(libkresolve) diff --git a/daemon/engine.c b/daemon/engine.c index 8d33a4d2f77c4c7b2dad3acda7ec3446e54e0424..ae94b09daf19fa92b0c9ce9a28004daea2616f9e 100644 --- a/daemon/engine.c +++ b/daemon/engine.c @@ -192,6 +192,9 @@ int engine_cmd(struct engine *engine, const char *str) return kr_ok(); } +/* Execute byte code */ +#define l_dobytecode(L, arr, len, name) \ + (luaL_loadbuffer((L), (arr), (len), (name)) || lua_pcall((L), 0, LUA_MULTRET, 0)) static int engine_loadconf(struct engine *engine) { /* Init environment */