summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rwxr-xr-xgenerate-tcl.sh11
-rw-r--r--meson.build30
-rw-r--r--po/meson.build19
4 files changed, 62 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index e1f0aff4a1..3a3c56c318 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ gitk_libdir ?= $(sharedir)/gitk/lib
msgsdir ?= $(gitk_libdir)/msgs
msgsdir_SQ = $(subst ','\'',$(msgsdir))
+SHELL_PATH ?= /bin/sh
TCL_PATH ?= tclsh
TCLTK_PATH ?= wish
INSTALL ?= install
@@ -64,9 +65,7 @@ clean::
gitk-wish: gitk GIT-TCLTK-VARS
$(QUIET_GEN)$(RM) $@ $@+ && \
- sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
- chmod +x $@+ && \
- mv -f $@+ $@
+ $(SHELL_PATH) ./generate-tcl.sh "$(TCLTK_PATH_SQ)" "$<" "$@"
$(PO_TEMPLATE): gitk
$(XGETTEXT) -kmc -LTcl -o $@ gitk
diff --git a/generate-tcl.sh b/generate-tcl.sh
new file mode 100755
index 0000000000..46bba6d246
--- /dev/null
+++ b/generate-tcl.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+WISH=$(echo "$1" | sed 's/|/\\|/g')
+INPUT="$2"
+OUTPUT="$3"
+
+sed -e "1,3s|^exec .* \"\$0\"|exec $WISH \"\$0\"|" "$INPUT" >"$OUTPUT"+
+chmod a+x "$OUTPUT"+
+mv "$OUTPUT"+ "$OUTPUT"
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000000..ca3c0cec58
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,30 @@
+project('gitk')
+
+shell = find_program('sh')
+wish = find_program('wish')
+
+# Verify that dependencies of "generate-tcl.sh" are satisfied.
+foreach dependency : [ 'chmod', 'mv', 'sed' ]
+ find_program(dependency)
+endforeach
+
+custom_target(
+ command: [
+ shell,
+ meson.current_source_dir() / 'generate-tcl.sh',
+ wish.full_path(),
+ '@INPUT@',
+ '@OUTPUT@',
+ ],
+ input: 'gitk',
+ output: 'gitk',
+ depend_files: [
+ 'generate-tcl.sh',
+ ],
+ install: true,
+ install_dir: get_option('bindir'),
+)
+
+if find_program('msgfmt').found()
+ subdir('po')
+endif
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000000..b1ed019828
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,19 @@
+import('i18n').gettext('gitk',
+ languages: [
+ 'bg',
+ 'ca',
+ 'de',
+ 'es',
+ 'fr',
+ 'hu',
+ 'it',
+ 'ja',
+ 'pt_br',
+ 'pt_pt',
+ 'ru',
+ 'sv',
+ 'vi',
+ 'zh_cn',
+ ],
+ install: true,
+)