Skip to content

Commit 9880052

Browse files
authored
Merge pull request #33 from gilzoide/bugfix/make-dist-jitlib
Fix `make dist` to depend on LuaJIT's `jit/*.lua` files
2 parents 86dd63d + 5922e16 commit 9880052

File tree

2 files changed

+41
-14
lines changed

2 files changed

+41
-14
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22
## [Unreleased](https://github.com/gilzoide/godot-lua-pluginscript/compare/0.5.0...HEAD)
3+
### Fixed
4+
5+
- [build] Fixed `make dist` dependencies to include LuaJIT's `jit/*.lua` files
6+
- [build] Fixed `make unzip-to-build` to only copy contents from `build` folder
37

48
## [0.5.0](https://github.com/gilzoide/godot-lua-pluginscript/releases/tag/0.5.0)
59
### Added

Makefile

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ XCODEBUILD ?= xcodebuild
1616
NDK_TOOLCHAIN_BIN ?= $(wildcard $(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/*/bin)
1717
ZIP_URL ?=
1818
ZIP_URL_DOWNLOAD_OUTPUT ?= /tmp/godot-lua-pluginscript-unzip-to-build.zip
19+
ZIP_TEMP_FOLDER ?= /tmp/godot-lua-pluginscript-unzip-to-build
1920

2021

2122
CFLAGS += -std=c11 -Ilib/godot-headers -Ilib/high-level-gdnative -Ilib/luajit/src
@@ -36,24 +37,39 @@ _STRIP = $(CROSS)$(STRIP)
3637
SRC = language_gdnative.c
3738
OBJS = $(SRC:.c=.o) init_script.o
3839
BUILT_OBJS = $(addprefix build/%/,$(OBJS))
39-
MAKE_LUAJIT_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a
40+
LUAJIT_MAKE_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a
41+
42+
PLUGIN_SRC = plugin/export_plugin.lua \
43+
plugin/in_editor_callbacks/.gdignore \
44+
plugin/in_editor_callbacks/init.lua \
45+
plugin/lua_repl.lua \
46+
plugin/lua_repl.tscn \
47+
plugin/luasrcdiet/.gdignore \
48+
plugin/plugin.cfg \
49+
plugin/plugin.gd
4050

4151
GDNLIB_ENTRY_PREFIX = addons/godot-lua-pluginscript
4252
BUILD_FOLDERS = \
43-
build build/native build/$(GDNLIB_ENTRY_PREFIX) \
53+
build build/native build/$(GDNLIB_ENTRY_PREFIX) build/jit \
4454
build/windows_x86 build/windows_x86_64 \
4555
build/linux_x86 build/linux_x86_64 \
4656
build/osx_x86_64 build/osx_arm64 build/osx_arm64_x86_64 \
4757
build/ios_armv7s build/ios_arm64 build/ios_simulator_arm64 build/ios_simulator_x86_64 build/ios_simulator_arm64_x86_64 \
4858
build/android_armv7a build/android_aarch64 build/android_x86 build/android_x86_64
4959

60+
LUAJIT_JITLIB_SRC = bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \
61+
dis_x86.lua dis_x64.lua dis_arm.lua dis_arm64.lua \
62+
dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \
63+
dis_mips64.lua dis_mips64el.lua vmdef.lua
64+
LUAJIT_JITLIB_DEST = $(addprefix build/jit/,$(LUAJIT_JITLIB_SRC))
65+
5066
LUASRCDIET_SRC = $(wildcard lib/luasrcdiet/luasrcdiet/*.lua) lib/luasrcdiet/COPYRIGHT lib/luasrcdiet/COPYRIGHT_Lua51
5167
LUASRCDIET_DEST = $(addprefix plugin/luasrcdiet/,$(notdir $(LUASRCDIET_SRC)))
5268
LUASRCDIET_FLAGS = --maximum --quiet --noopt-binequiv
5369

5470
DIST_BUILT_LIBS = $(filter-out build/osx_arm64/% build/osx_x86_64/% build/ios_simulator_arm64/% build/ios_simulator_x86_64/%,$(wildcard build/*/*lua*.*))
5571
DIST_SRC = LICENSE
56-
DIST_ADDONS_SRC = LICENSE lps_coroutine.lua lua_pluginscript.gdnlib build/.gdignore $(wildcard build/jit/*.lua plugin/*.* plugin/in_editor_callbacks/* plugin/*/.gdignore) $(DIST_BUILT_LIBS) $(LUASRCDIET_DEST)
72+
DIST_ADDONS_SRC = LICENSE lps_coroutine.lua lua_pluginscript.gdnlib build/.gdignore $(PLUGIN_SRC) $(DIST_BUILT_LIBS) $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST)
5773
DIST_ZIP_SRC = $(DIST_SRC) $(addprefix $(GDNLIB_ENTRY_PREFIX)/,$(DIST_ADDONS_SRC))
5874
DIST_DEST = $(addprefix build/,$(DIST_SRC)) $(addprefix build/$(GDNLIB_ENTRY_PREFIX)/,$(DIST_ADDONS_SRC))
5975

@@ -119,31 +135,36 @@ ifneq (,$(CODE_SIGN_IDENTITY))
119135
endif
120136

121137
define GEN_TEST
122-
test-$1: $1 $(LUASRCDIET_DEST) $(DIST_DEST) build/project.godot
138+
test-$1: $1 $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST) $(DIST_DEST) build/project.godot
123139
@mkdir -p $(dir build/addons/godot-lua-pluginscript/$2)
124140
cp $2 build/addons/godot-lua-pluginscript/$2
125141
$(GODOT_BIN) --path build --no-window --quit --script "$(CURDIR)/src/test/init.lua"
126142
endef
127143

128144
# Avoid removing intermediate files created by chained implicit rules
129-
.PRECIOUS: build/%/luajit build/%/init_script.c $(BUILT_OBJS) build/%/lua51.dll $(MAKE_LUAJIT_OUTPUT)
145+
.PRECIOUS: build/%/luajit build/%/init_script.c $(BUILT_OBJS) build/%/lua51.dll $(LUAJIT_MAKE_OUTPUT)
130146

131147
$(BUILD_FOLDERS):
132148
mkdir -p $@
133149

134150
build/%/language_gdnative.o: src/language_gdnative.c lib/high-level-gdnative/hgdn.h
135151
$(_CC) -o $@ $< -c $(CFLAGS)
136152

137-
$(MAKE_LUAJIT_OUTPUT): | build/%/luajit build/jit
153+
$(LUAJIT_MAKE_OUTPUT): | build/%/luajit
138154
$(MAKE) -C $(firstword $|) $(and $(TARGET_SYS),TARGET_SYS=$(TARGET_SYS)) $(MAKE_LUAJIT_ARGS)
139-
@mkdir -p build/jit
140-
cp $(firstword $|)/src/jit/vmdef.lua build/jit
155+
build/%/luajit/src/jit/vmdef.lua: | build/%/luajit
156+
$(MAKE) -C $(firstword $|)/src jit/vmdef.lua $(MAKE_LUAJIT_ARGS)
141157
build/%/lua51.dll: build/%/luajit/src/lua51.dll
142158
cp $< $@
143159
build/%/luajit: | build/%
144160
cp -r lib/luajit $@
145-
build/jit: | build
146-
cp -r lib/luajit/src/jit/ $@
161+
162+
build/jit/vmdef.lua: MACOSX_DEPLOYMENT_TARGET ?= 11.0
163+
build/jit/vmdef.lua: MAKE_LUAJIT_ARGS = MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)
164+
build/jit/vmdef.lua: build/native/luajit/src/jit/vmdef.lua | build/jit
165+
cp $< $@
166+
build/jit/%.lua: lib/luajit/src/jit/%.lua | build/jit
167+
cp $< $@
147168

148169
build/init_script.lua: $(LUA_INIT_SCRIPT_SRC) | build
149170
cat $^ > $@
@@ -192,7 +213,7 @@ build/$(GDNLIB_ENTRY_PREFIX)/%:
192213
cp $* $@
193214
$(addprefix build/,$(DIST_SRC)): | build
194215
cp $(notdir $@) $@
195-
build/lua_pluginscript.zip: $(LUASRCDIET_DEST) $(DIST_DEST)
216+
build/lua_pluginscript.zip: $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST) $(DIST_DEST)
196217
cd build && zip lua_pluginscript $(DIST_ZIP_SRC)
197218
build/project.godot: src/tools/project.godot | build
198219
cp $< $@
@@ -205,7 +226,7 @@ build/compile_commands.json: Makefile
205226
# Phony targets
206227
.PHONY: clean dist docs set-version unzip-to-build
207228
clean:
208-
$(RM) -r build/*/ plugin/luasrcdiet/*
229+
$(RM) -r $(wildcard build/**) plugin/luasrcdiet/*
209230

210231
dist: build/lua_pluginscript.zip
211232

@@ -218,12 +239,14 @@ set-version:
218239
plugin/plugin.cfg
219240

220241
unzip-to-build:
242+
$(RM) -r $(ZIP_TEMP_FOLDER)/*
221243
ifneq (,$(filter http://% https://%,$(ZIP_URL)))
222244
curl -L $(ZIP_URL) -o $(ZIP_URL_DOWNLOAD_OUTPUT)
223-
cd build && unzip -u $(ZIP_URL_DOWNLOAD_OUTPUT)
245+
unzip $(ZIP_URL_DOWNLOAD_OUTPUT) -d $(ZIP_TEMP_FOLDER)
224246
else
225-
cd build && unzip -u $(ZIP_URL)
247+
unzip $(ZIP_URL) -d $(ZIP_TEMP_FOLDER)
226248
endif
249+
cp -R $(ZIP_TEMP_FOLDER)/addons/godot-lua-pluginscript/build/. build
227250

228251

229252
# Miscelaneous targets

0 commit comments

Comments
 (0)