Skip to content

Commit 4babad2

Browse files
committed
Add luazip
1 parent fbcd000 commit 4babad2

File tree

5 files changed

+728
-1
lines changed

5 files changed

+728
-1
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@
1616
[submodule "3rd/yoga"]
1717
path = 3rd/yoga
1818
url = https://github.com/facebook/yoga.git
19+
[submodule "3rd/zlib"]
20+
path = 3rd/zlib
21+
url = https://github.com/madler/zlib.git

3rd/zlib

Submodule zlib added at 5a82f71

Makefile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ DATALIST_SRC=$(wildcard src/data/*.dl)
8383

8484
DATALIST_CODE=$(patsubst %.dl, $(BUILD)/%.dl.h, $(notdir $(DATALIST_SRC)))
8585

86+
ZLIB_INC=-I3rd/zlib
87+
ZLIB_FULL=$(wildcard 3rd/zlib/*.c)
88+
ZLIB_C = $(notdir $(ZLIB_FULL))
89+
ZLIB_O = $(patsubst %.c,$(BUILD)/zlib_%.o,$(ZLIB_C))
90+
MINIZIP_FULL=\
91+
3rd\zlib\contrib/minizip/ioapi.c\
92+
3rd\zlib\contrib/minizip/unzip.c\
93+
3rd\zlib\contrib/minizip/zip.c\
94+
3rd\zlib\contrib/minizip/iowin32.c
95+
MINIZIP_C = $(notdir $(MINIZIP_FULL))
96+
MINIZIP_O = $(patsubst %.c,$(BUILD)/minizip_%.o,$(MINIZIP_C))
97+
8698
$(LTASK_LUACODE) $(DATALIST_CODE) : | $(LUA_EXE)
8799

88100
$(BUILD)/%.lua.h : 3rd/ltask/service/%.lua
@@ -121,8 +133,14 @@ YOGASRC:=$(wildcard 3rd/yoga/yoga/*.cpp $(addsuffix *.cpp,$(wildcard 3rd/yoga/yo
121133

122134
$(BUILD)/yoga.o : src/yogaone.cpp $(YOGASRC)
123135
$(CCPP) $(STDCPP) $(OUTPUT_O) $@ $< $(YOGAINC) $(CFLAGS)
136+
137+
$(BUILD)/zlib_%.o : 3rd/zlib/%.c
138+
$(COMPILE_C) $(ZLIB_INC)
139+
140+
$(BUILD)/minizip_%.o : 3rd/zlib/contrib/minizip/%.c
141+
$(COMPILE_C) $(ZLIB_INC)
124142

125-
$(BIN)/$(APPNAME): $(MAIN_O) $(LTASK_O) $(LUA_O) $(DATALIST_O) $(BUILD)/yoga.o
143+
$(BIN)/$(APPNAME): $(MAIN_O) $(LTASK_O) $(LUA_O) $(DATALIST_O) $(BUILD)/yoga.o $(ZLIB_O) $(MINIZIP_O)
126144
$(LD) $(OUTPUT_EXE) $@ $^ $(LDFLAGS)
127145

128146
clean :

src/luamods.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ int luaopen_image_sdf(lua_State *L);
3131
int luaopen_layout_yoga(lua_State *L);
3232
int luaopen_url(lua_State *L);
3333
int luaopen_skynet_crypt(lua_State *L);
34+
int luaopen_zip(lua_State *L);
3435

3536
void soluna_embed(lua_State* L) {
3637
static const luaL_Reg modules[] = {
@@ -63,6 +64,7 @@ void soluna_embed(lua_State* L) {
6364
{ "soluna.layout.yoga", luaopen_layout_yoga },
6465
{ "soluna.url", luaopen_url },
6566
{ "soluna.crypt", luaopen_skynet_crypt },
67+
{ "soluna.zip", luaopen_zip },
6668
// { "luaforward", luaopen_luaforward },
6769
{ NULL, NULL },
6870
};

0 commit comments

Comments
 (0)