aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile22
-rwxr-xr-xgenerate-macos-app.sh30
-rwxr-xr-xgenerate-macos-wrapper.sh2
3 files changed, 34 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index 722df4ae3f..cde1b7e607 100644
--- a/Makefile
+++ b/Makefile
@@ -112,7 +112,7 @@ ifeq ($(uname_S),Darwin)
TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app
endif
endif
- TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app)
+ TKEXECUTABLE = $(TKFRAMEWORK)/Contents/MacOS/$(shell basename "$(TKFRAMEWORK)" .app)
TKEXECUTABLE_SQ = $(subst ','\'',$(TKEXECUTABLE))
endif
@@ -130,7 +130,6 @@ TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
gg_libdir ?= $(sharedir)/git-gui/lib
libdir_SQ = $(subst ','\'',$(gg_libdir))
-libdir_SED = $(subst ','\'',$(subst \,\\,$(gg_libdir_sed_in)))
exedir = $(dir $(gitexecdir))share/git-gui/lib
GITGUI_RELATIVE :=
@@ -139,7 +138,6 @@ GITGUI_MACOSXAPP :=
ifeq ($(exedir),$(gg_libdir))
GITGUI_RELATIVE := 1
endif
-gg_libdir_sed_in := $(gg_libdir)
ifeq ($(uname_S),Darwin)
ifeq ($(shell test -d $(TKFRAMEWORK) && echo y),y)
GITGUI_MACOSXAPP := YesPlease
@@ -163,22 +161,8 @@ Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-BUILD-OPTIONS \
macosx/Info.plist \
macosx/git-gui.icns \
macosx/AppMain.tcl \
- $(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)
- $(QUIET_GEN)rm -rf '$@' '$@'+ && \
- mkdir -p '$@'+/Contents/MacOS && \
- mkdir -p '$@'+/Contents/Resources/Scripts && \
- cp '$(subst ','\'',$(subst \,,$(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)))' \
- '$@'+/Contents/MacOS && \
- cp macosx/git-gui.icns '$@'+/Contents/Resources && \
- sed -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
- -e 's/@@GITGUI_TKEXECUTABLE@@/$(TKEXECUTABLE)/g' \
- macosx/Info.plist \
- >'$@'+/Contents/Info.plist && \
- sed -e 's|@@gitexecdir@@|$(gitexecdir_SQ)|' \
- -e 's|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \
- macosx/AppMain.tcl \
- >'$@'+/Contents/Resources/Scripts/AppMain.tcl && \
- mv '$@'+ '$@'
+ $(TKEXECUTABLE)
+ $(QUIET_GEN)$(SHELL_PATH) generate-macos-app.sh . "$@" ./GIT-GUI-BUILD-OPTIONS ./GIT-VERSION-FILE
endif
ifdef GITGUI_WINDOWS_WRAPPER
diff --git a/generate-macos-app.sh b/generate-macos-app.sh
new file mode 100755
index 0000000000..71b9fa67a4
--- /dev/null
+++ b/generate-macos-app.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+set -e
+
+SOURCE_DIR="$1"
+OUTPUT="$2"
+BUILD_OPTIONS="$3"
+VERSION_FILE="$4"
+
+. "$BUILD_OPTIONS"
+. "$VERSION_FILE"
+
+rm -rf "$OUTPUT" "$OUTPUT+"
+
+mkdir -p "$OUTPUT+/Contents/MacOS"
+mkdir -p "$OUTPUT+/Contents/Resources/Scripts"
+
+cp "$TKEXECUTABLE" "$OUTPUT+/Contents/MacOS"
+cp "$SOURCE_DIR/macosx/git-gui.icns" "$OUTPUT+/Contents/Resources"
+sed \
+ -e "s/@@GITGUI_VERSION@@/$GITGUI_VERSION/g" \
+ -e "s/@@GITGUI_TKEXECUTABLE@@/$(basename "$TKEXECUTABLE")/g" \
+ "$SOURCE_DIR/macosx/Info.plist" \
+ >"$OUTPUT+/Contents/Info.plist"
+sed \
+ -e "s|@@gitexecdir@@|$GITGUI_GITEXECDIR|" \
+ -e "s|@@GITGUI_LIBDIR@@|$GITGUI_LIBDIR|" \
+ "$SOURCE_DIR/macosx/AppMain.tcl" \
+ >"$OUTPUT+/Contents/Resources/Scripts/AppMain.tcl"
+mv "$OUTPUT+" "$OUTPUT"
diff --git a/generate-macos-wrapper.sh b/generate-macos-wrapper.sh
index da7e4782f7..0304937f41 100755
--- a/generate-macos-wrapper.sh
+++ b/generate-macos-wrapper.sh
@@ -26,7 +26,7 @@ rm -f "$OUTPUT" "$OUTPUT+"
echo "git-gui version $GITGUI_VERSION"
else
libdir="${GIT_GUI_LIB_DIR:-$GITGUI_LIBDIR}"
- exec "$libdir/Git Gui.app/Contents/MacOS/$TKEXECUTABLE" "$0" "$@"
+ exec "$libdir/Git Gui.app/Contents/MacOS/$(basename "$TKEXECUTABLE")" "$0" "$@"
fi
EOF
) >"$OUTPUT+"