summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2014-07-21 16:41:38 -0400
committerPat Thoyts <patthoyts@users.sourceforge.net>2014-08-10 12:48:28 +0100
commita3b3ae35d4f175e6444533c96933b5868e499b09 (patch)
tree6366fd9b63ffb53b29b0d99d2927c2ac75acdf84
parent8871820169e7d1ff58717d20bfdc3a753eaa6570 (diff)
downloadgit-a3b3ae35d4f175e6444533c96933b5868e499b09.tar.gz
git-gui: Make git-gui lib dir configurable at runime
Introduce the GIT_GUI_LIB_DIR environment variable, to tell git-gui where to look for TCL libs. This allows a git-gui which has been built with a prefix of /foo to be run out of directory /bar. This is the equivalent of GIT_EXEC_PATH or GITPERLLIB but for git-gui's TCL libraries. Signed-off-by: David Turner <dturner@twitter.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
-rw-r--r--Makefile3
-rwxr-xr-xgit-gui.sh6
-rw-r--r--macosx/AppMain.tcl7
3 files changed, 13 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index cde8b2ea31..4f00bdd3d6 100644
--- a/Makefile
+++ b/Makefile
@@ -177,7 +177,8 @@ git-gui: GIT-VERSION-FILE GIT-GUI-VARS
echo then >>$@+ && \
echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \
echo else >>$@+ && \
- echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\' \
+ echo ' libdir="$${GIT_GUI_LIB_DIR:-$(libdir_SQ)}"' >>$@+ && \
+ echo ' 'exec \"'$$libdir/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\" \
'"$$0" "$$@"' >>$@+ && \
echo fi >>$@+ && \
chmod +x $@+ && \
diff --git a/git-gui.sh b/git-gui.sh
index b186329d28..6cbb36eab6 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -49,7 +49,11 @@ catch {rename send {}} ; # What an evil concept...
##
## locate our library
-set oguilib {@@GITGUI_LIBDIR@@}
+if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
+ set oguilib $::env(GIT_GUI_LIB_DIR)
+} else {
+ set oguilib {@@GITGUI_LIBDIR@@}
+}
set oguirel {@@GITGUI_RELATIVE@@}
if {$oguirel eq {1}} {
set oguilib [file dirname [file normalize $argv0]]
diff --git a/macosx/AppMain.tcl b/macosx/AppMain.tcl
index 738bdd03ed..b6c6dc3500 100644
--- a/macosx/AppMain.tcl
+++ b/macosx/AppMain.tcl
@@ -1,5 +1,10 @@
set gitexecdir {@@gitexecdir@@}
-set gitguilib {@@GITGUI_LIBDIR@@}
+if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
+ set gitguilib $::env(GIT_GUI_LIB_DIR)
+} else {
+ set gitguilib {@@GITGUI_LIBDIR@@}
+}
+
set env(PATH) "$gitexecdir:$env(PATH)"
if {[string first -psn [lindex $argv 0]] == 0} {