commit 28472387c230df24eb7fa461d3dd9cf9409e20e0
Author: Roman Fomin <rfomin@gmail.com>
AuthorDate: Fri Nov 17 19:08:28 2023 +0700
Commit: Roman Fomin <rfomin@gmail.com>
CommitDate: Fri Nov 17 19:38:05 2023 +0700
Use dylibbundler
---
.github/workflows/main.yml | 1 +
pkg/osx/GNUmakefile | 25 ++++++++++++++++++++-----
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index eb1fd997..fdee9ee0 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -71,6 +71,7 @@ jobs:
run: |
brew install \
automake \
+ dylibbundler \
sdl2 \
sdl2_mixer \
sdl2_net \
diff --git a/pkg/osx/GNUmakefile b/pkg/osx/GNUmakefile
index 22ef8e48..188490d9 100644
--- a/pkg/osx/GNUmakefile
+++ b/pkg/osx/GNUmakefile
@@ -12,6 +12,12 @@ DMG=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).dmg
TOPLEVEL=../..
TOPLEVEL_DOCS=$(patsubst %,../../%,$(DOC_FILES))
+ifeq (, $(shell which dylibbundler))
+ CP=./cp-with-libs
+else
+ CP=cp
+endif
+
# DMG file containing package:
$(DMG) : tmp.dmg
@@ -63,17 +69,26 @@ $(STAGING_DIR): launcher $(TOPLEVEL_DOCS) app.icns wadfile.icns
cp launcher "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/launcher"
- ./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)doom "$(APP_BIN_DIR)"
+ $(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)doom "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)doom"
- ./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)heretic "$(APP_BIN_DIR)"
+ $(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)heretic "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)heretic"
- ./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)hexen "$(APP_BIN_DIR)"
+ $(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)hexen "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)hexen"
- ./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)strife "$(APP_BIN_DIR)"
+ $(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)strife "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)strife"
- ./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)setup "$(APP_BIN_DIR)"
+ $(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)setup "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)setup"
+ -dylibbundler --bundle-deps --overwrite-files \
+ --install-path "@executable_path/" \
+ --dest-dir "$(APP_BIN_DIR)" \
+ --fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)doom" \
+ --fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)heretic" \
+ --fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)hexen" \
+ --fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)strife" \
+ --fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)setup"
+
$(TOPLEVEL)/man/simplecpp -DPRECOMPILED -D__MACOSX__ \
-DDOOM -DHERETIC -DHEXEN -DSTRIFE \
< $(TOPLEVEL)/man/INSTALL.template \