Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ GIT-GUI-BUILD-OPTIONS
GIT-VERSION-FILE
git-gui
git-gui--askpass
git-gui--askyesno
lib/tclIndex
16 changes: 12 additions & 4 deletions GIT-VERSION-GEN
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,27 @@ DEF_VER=0.21.GITGUI
LF='
'

if test "$#" -ne 2
if test "$#" -lt 2
then
echo >&2 "usage: $0 <SOURCE_DIR> <OUTPUT>"
echo >&2 "usage: $0 <SOURCE_DIR> <OUTPUT> [<PARENT_PROJECT_DIR>]"
exit 1
fi

SOURCE_DIR="$1"
OUTPUT="$2"
PARENT_PROJECT_DIR="$3"

# Protect us from reading Git version information outside of the Git directory
# in case it is not a repository itself, but embedded in an unrelated
# repository.
GIT_CEILING_DIRECTORIES="$SOURCE_DIR/.."
# repository. The PARENT_PROJECT_DIR variable can be used to override this, for
# example when git-gui is included as a subproject.
if test -n "$PARENT_PROJECT_DIR"
then
GIT_CEILING_DIRECTORIES="$PARENT_PROJECT_DIR/.."
else
GIT_CEILING_DIRECTORIES="$SOURCE_DIR/.."
fi

export GIT_CEILING_DIRECTORIES

tree_search ()
Expand Down
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ all::
#

GIT-VERSION-FILE: FORCE
@$(SHELL_PATH) ./GIT-VERSION-GEN . $@
@$(SHELL_PATH) ./GIT-VERSION-GEN . $@ "$(PARENT_PROJECT_DIR)"

uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
Expand Down Expand Up @@ -177,10 +177,13 @@ GIT-GUI-BUILD-OPTIONS: FORCE
git-gui--askpass: git-gui--askpass.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS

git-gui--askyesno: git-gui--askyesno.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS

ifdef GITGUI_WINDOWS_WRAPPER
all:: git-gui
endif
all:: $(GITGUI_MAIN) git-gui--askpass lib/tclIndex $(ALL_MSGFILES)
all:: $(GITGUI_MAIN) git-gui--askpass git-gui--askyesno lib/tclIndex $(ALL_MSGFILES)

install: all
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
Expand Down Expand Up @@ -221,7 +224,7 @@ dist-version: GIT-VERSION-FILE
@sed 's|^GITGUI_VERSION=||' <GIT-VERSION-FILE >$(TARDIR)/version

clean::
$(RM_RF) $(GITGUI_MAIN) git-gui--askpass lib/tclIndex po/*.msg $(PO_TEMPLATE)
$(RM_RF) $(GITGUI_MAIN) git-gui--askpass git-gui--askyesno lib/tclIndex po/*.msg $(PO_TEMPLATE)
$(RM_RF) GIT-VERSION-FILE GIT-GUI-BUILD-OPTIONS
ifdef GITGUI_WINDOWS_WRAPPER
$(RM_RF) git-gui
Expand Down
File renamed without changes.
31 changes: 17 additions & 14 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ project('git-gui',

fs = import('fs')

shell = find_program('sh')
shell = find_program('/bin/sh', 'sh')
tclsh = find_program('tclsh')
wish = find_program('wish')

Expand Down Expand Up @@ -34,6 +34,7 @@ version_file = custom_target(
'@INPUT@',
meson.current_source_dir(),
'@OUTPUT@',
get_option('parent_project_dir'),
],
build_always_stale: true,
)
Expand All @@ -53,19 +54,21 @@ if target_machine.system() == 'windows'
)
endif

custom_target(
output: 'git-gui--askpass',
input: 'git-gui--askpass.sh',
command: [
shell,
meson.current_source_dir() / 'generate-script.sh',
'@OUTPUT@',
'@INPUT@',
meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)
foreach script : [ 'git-gui--askpass', 'git-gui--askyesno' ]
custom_target(
output: script,
input: script + '.sh',
command: [
shell,
meson.current_source_dir() / 'generate-script.sh',
'@OUTPUT@',
'@INPUT@',
meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)
endforeach

custom_target(
input: 'git-gui.sh',
Expand Down
2 changes: 2 additions & 0 deletions meson_options.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
option('parent_project_dir', type: 'string', value: '',
description: 'The directory of the parent project. This is used so that the version can be determined even in case git-gui is included as a subtree.')