If msgfmt is not in our PATH, or it is but it does not seem to honor the
--tcl command line option then we need to fallback to po2msg. This is
rather common on Mac OS X systems, but also can show up on a Linux OS
if GNU gettext is not installed on the system.
This particular block of code was copied from git-gui's Makefile,
where we have already (reasonably) vetted this fallback system.
Signed-off-by: Shawn O. Pearce <redacted>
---
Makefile | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index ae2b80b..49a9209 100644
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,14 @@ ifdef NO_MSGFMT
MSGFMT ?= $(TCL_PATH) po/po2msg.sh
else
MSGFMT ?= msgfmt
+ ifeq ($(shell $(MSGFMT) >/dev/null 2>&1 || echo $$?),127)
+ MSGFMT := $(TCL_PATH) po/po2msg.sh
+ endif
+ ifeq (msgfmt,$(MSGFMT))
+ ifeq ($(shell $(MSGFMT) --tcl -l C -d . /dev/null 2>/dev/null || echo $?),1)
+ MSGFMT := $(TCL_PATH) po/po2msg.sh
+ endif
+ endif
endif
PO_TEMPLATE = po/gitk.pot
--
1.5.4.3.529.gb25fb