From ffb23962bf7570f9d819cf9507a38996775b33be Mon Sep 17 00:00:00 2001 From: gilzoide Date: Mon, 2 Jan 2023 23:06:00 -0300 Subject: [PATCH 1/6] Fix add `build/jit/*.lua` as dependencies to `dist` target --- Makefile | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 0a63205..1010102 100644 --- a/Makefile +++ b/Makefile @@ -36,24 +36,39 @@ _STRIP = $(CROSS)$(STRIP) SRC = language_gdnative.c OBJS = $(SRC:.c=.o) init_script.o BUILT_OBJS = $(addprefix build/%/,$(OBJS)) -MAKE_LUAJIT_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a +LUAJIT_MAKE_OUTPUT = build/%/luajit/src/luajit.o build/%/luajit/src/lua51.dll build/%/luajit/src/libluajit.a + +PLUGIN_SRC = plugin/export_plugin.lua \ + plugin/in_editor_callbacks/.gdignore \ + plugin/in_editor_callbacks/init.lua \ + plugin/lua_repl.lua \ + plugin/lua_repl.tscn \ + plugin/luasrcdiet/.gdignore \ + plugin/plugin.cfg \ + plugin/plugin.gd GDNLIB_ENTRY_PREFIX = addons/godot-lua-pluginscript BUILD_FOLDERS = \ - build build/native build/$(GDNLIB_ENTRY_PREFIX) \ + build build/native build/$(GDNLIB_ENTRY_PREFIX) build/jit \ build/windows_x86 build/windows_x86_64 \ build/linux_x86 build/linux_x86_64 \ build/osx_x86_64 build/osx_arm64 build/osx_arm64_x86_64 \ build/ios_armv7s build/ios_arm64 build/ios_simulator_arm64 build/ios_simulator_x86_64 build/ios_simulator_arm64_x86_64 \ build/android_armv7a build/android_aarch64 build/android_x86 build/android_x86_64 +LUAJIT_JITLIB_SRC = bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \ + dis_x86.lua dis_x64.lua dis_arm.lua dis_arm64.lua \ + dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \ + dis_mips64.lua dis_mips64el.lua vmdef.lua +LUAJIT_JITLIB_DEST = $(addprefix build/jit/,$(LUAJIT_JITLIB_SRC)) + LUASRCDIET_SRC = $(wildcard lib/luasrcdiet/luasrcdiet/*.lua) lib/luasrcdiet/COPYRIGHT lib/luasrcdiet/COPYRIGHT_Lua51 LUASRCDIET_DEST = $(addprefix plugin/luasrcdiet/,$(notdir $(LUASRCDIET_SRC))) LUASRCDIET_FLAGS = --maximum --quiet --noopt-binequiv DIST_BUILT_LIBS = $(filter-out build/osx_arm64/% build/osx_x86_64/% build/ios_simulator_arm64/% build/ios_simulator_x86_64/%,$(wildcard build/*/*lua*.*)) DIST_SRC = LICENSE -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) +DIST_ADDONS_SRC = LICENSE lps_coroutine.lua lua_pluginscript.gdnlib build/.gdignore $(PLUGIN_SRC) $(DIST_BUILT_LIBS) $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST) DIST_ZIP_SRC = $(DIST_SRC) $(addprefix $(GDNLIB_ENTRY_PREFIX)/,$(DIST_ADDONS_SRC)) DIST_DEST = $(addprefix build/,$(DIST_SRC)) $(addprefix build/$(GDNLIB_ENTRY_PREFIX)/,$(DIST_ADDONS_SRC)) @@ -126,7 +141,7 @@ test-$1: $1 $(LUASRCDIET_DEST) $(DIST_DEST) build/project.godot endef # Avoid removing intermediate files created by chained implicit rules -.PRECIOUS: build/%/luajit build/%/init_script.c $(BUILT_OBJS) build/%/lua51.dll $(MAKE_LUAJIT_OUTPUT) +.PRECIOUS: build/%/luajit build/%/init_script.c $(BUILT_OBJS) build/%/lua51.dll $(LUAJIT_MAKE_OUTPUT) $(BUILD_FOLDERS): mkdir -p $@ @@ -134,16 +149,21 @@ $(BUILD_FOLDERS): build/%/language_gdnative.o: src/language_gdnative.c lib/high-level-gdnative/hgdn.h $(_CC) -o $@ $< -c $(CFLAGS) -$(MAKE_LUAJIT_OUTPUT): | build/%/luajit build/jit +$(LUAJIT_MAKE_OUTPUT): | build/%/luajit $(MAKE) -C $(firstword $|) $(and $(TARGET_SYS),TARGET_SYS=$(TARGET_SYS)) $(MAKE_LUAJIT_ARGS) - @mkdir -p build/jit - cp $(firstword $|)/src/jit/vmdef.lua build/jit +build/%/luajit/src/jit/vmdef.lua: | build/%/luajit + $(MAKE) -C $(firstword $|)/src jit/vmdef.lua $(MAKE_LUAJIT_ARGS) build/%/lua51.dll: build/%/luajit/src/lua51.dll cp $< $@ build/%/luajit: | build/% cp -r lib/luajit $@ -build/jit: | build - cp -r lib/luajit/src/jit/ $@ + +build/jit/vmdef.lua: MACOSX_DEPLOYMENT_TARGET ?= 11.0 +build/jit/vmdef.lua: MAKE_LUAJIT_ARGS = MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET) +build/jit/vmdef.lua: build/native/luajit/src/jit/vmdef.lua | build/jit + cp $< $@ +build/jit/%.lua: lib/luajit/src/jit/%.lua | build/jit + cp $< $@ build/init_script.lua: $(LUA_INIT_SCRIPT_SRC) | build cat $^ > $@ @@ -192,7 +212,7 @@ build/$(GDNLIB_ENTRY_PREFIX)/%: cp $* $@ $(addprefix build/,$(DIST_SRC)): | build cp $(notdir $@) $@ -build/lua_pluginscript.zip: $(LUASRCDIET_DEST) $(DIST_DEST) +build/lua_pluginscript.zip: $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST) $(DIST_DEST) cd build && zip lua_pluginscript $(DIST_ZIP_SRC) build/project.godot: src/tools/project.godot | build cp $< $@ From 518df817131d75c90eac1325edb5572e67644518 Mon Sep 17 00:00:00 2001 From: gilzoide Date: Mon, 2 Jan 2023 23:06:47 -0300 Subject: [PATCH 2/6] Update `clean` target to clear all non-hidden files --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1010102..782ef1a 100644 --- a/Makefile +++ b/Makefile @@ -225,7 +225,7 @@ build/compile_commands.json: Makefile # Phony targets .PHONY: clean dist docs set-version unzip-to-build clean: - $(RM) -r build/*/ plugin/luasrcdiet/* + $(RM) -r $(wildcard build/**) plugin/luasrcdiet/* dist: build/lua_pluginscript.zip From cea8354549a7f4a4d17439a28d00b4606eda18ea Mon Sep 17 00:00:00 2001 From: gilzoide Date: Mon, 2 Jan 2023 23:11:54 -0300 Subject: [PATCH 3/6] Update CHANGELOG [skip ci] --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae35c87..434fd30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog ## [Unreleased](https://github.com/gilzoide/godot-lua-pluginscript/compare/0.5.0...HEAD) +### Fixed + +- [build] Fixed `make dist` dependencies to include LuaJIT's `jit/*.lua` files ## [0.5.0](https://github.com/gilzoide/godot-lua-pluginscript/releases/tag/0.5.0) ### Added From da7e1c5b2e3d364223a57fe8f97edf35c566100c Mon Sep 17 00:00:00 2001 From: gilzoide Date: Mon, 2 Jan 2023 23:27:14 -0300 Subject: [PATCH 4/6] Fix `unzip-to-build` target to only copy build contents [skip ci] --- Makefile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 782ef1a..a1b5009 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,7 @@ XCODEBUILD ?= xcodebuild NDK_TOOLCHAIN_BIN ?= $(wildcard $(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/*/bin) ZIP_URL ?= ZIP_URL_DOWNLOAD_OUTPUT ?= /tmp/godot-lua-pluginscript-unzip-to-build.zip +ZIP_TEMP_FOLDER ?= /tmp/godot-lua-pluginscript-unzip-to-build CFLAGS += -std=c11 -Ilib/godot-headers -Ilib/high-level-gdnative -Ilib/luajit/src @@ -238,12 +239,14 @@ set-version: plugin/plugin.cfg unzip-to-build: + $(RM) -r $(ZIP_TEMP_FOLDER)/* ifneq (,$(filter http://% https://%,$(ZIP_URL))) curl -L $(ZIP_URL) -o $(ZIP_URL_DOWNLOAD_OUTPUT) - cd build && unzip -u $(ZIP_URL_DOWNLOAD_OUTPUT) + unzip $(ZIP_URL_DOWNLOAD_OUTPUT) -d $(ZIP_TEMP_FOLDER) else - cd build && unzip -u $(ZIP_URL) + unzip $(ZIP_URL) -d $(ZIP_TEMP_FOLDER) endif + cp -R $(ZIP_TEMP_FOLDER)/addons/godot-lua-pluginscript/build/. build # Miscelaneous targets From 5bcd21e4b132a1dfe0155d04ab224c93cc8a2d34 Mon Sep 17 00:00:00 2001 From: gilzoide Date: Mon, 2 Jan 2023 23:35:37 -0300 Subject: [PATCH 5/6] Fix `test-*` targets --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a1b5009..98b757d 100644 --- a/Makefile +++ b/Makefile @@ -135,7 +135,7 @@ ifneq (,$(CODE_SIGN_IDENTITY)) endif define GEN_TEST -test-$1: $1 $(LUASRCDIET_DEST) $(DIST_DEST) build/project.godot +test-$1: $1 $(LUASRCDIET_DEST) $(LUAJIT_JITLIB_DEST) $(DIST_DEST) build/project.godot @mkdir -p $(dir build/addons/godot-lua-pluginscript/$2) cp $2 build/addons/godot-lua-pluginscript/$2 $(GODOT_BIN) --path build --no-window --quit --script "$(CURDIR)/src/test/init.lua" From 5922e1696cd08fa63de2f91ad8edcabbb587dd97 Mon Sep 17 00:00:00 2001 From: gilzoide Date: Tue, 3 Jan 2023 19:38:37 -0300 Subject: [PATCH 6/6] Update CHANGELOG [skip ci] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 434fd30..9517bdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Fixed - [build] Fixed `make dist` dependencies to include LuaJIT's `jit/*.lua` files +- [build] Fixed `make unzip-to-build` to only copy contents from `build` folder ## [0.5.0](https://github.com/gilzoide/godot-lua-pluginscript/releases/tag/0.5.0) ### Added