From: Junio C Hamano Date: Fri, 21 Jul 2017 21:57:36 +0000 (-0700) Subject: Merge branch 'jc/po-pritime-fix' X-Git-Tag: v2.14.0-rc1~6 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/a491307448356087da7a96503192550175446d9d?ds=inline;hp=-c Merge branch 'jc/po-pritime-fix' We started using "%" PRItime, imitating "%" PRIuMAX and friends, as a way to format the internal timestamp value, but this does not play well with gettext(1) i18n framework, and causes "make pot" that is run by the l10n coordinator to create a broken po/git.pot file. This is a possible workaround for that problem. * jc/po-pritime-fix: Makefile: help gettext tools to cope with our custom PRItime format --- a491307448356087da7a96503192550175446d9d diff --combined Makefile index 9b98535a04,b1ff6fad19..461c845d33 --- a/Makefile +++ b/Makefile @@@ -1022,15 -1022,10 +1022,15 @@@ ifdef DEVELOPE CFLAGS += $(DEVELOPER_CFLAGS) endif +comma := , +empty := +space := $(empty) $(empty) + ifdef SANITIZE +SANITIZERS := $(foreach flag,$(subst $(comma),$(space),$(SANITIZE)),$(flag)) BASIC_CFLAGS += -fsanitize=$(SANITIZE) -fno-sanitize-recover=$(SANITIZE) BASIC_CFLAGS += -fno-omit-frame-pointer -ifeq ($(SANITIZE),undefined) +ifneq ($(filter undefined,$(SANITIZERS)),) BASIC_CFLAGS += -DNO_UNALIGNED_LOADS endif endif @@@ -2221,12 -2216,33 +2221,33 @@@ LOCALIZED_SH += t/t0200/test.s LOCALIZED_PERL += t/t0200/test.perl endif + ## Note that this is meant to be run only by the localization coordinator + ## under a very controlled condition, i.e. (1) it is to be run in a + ## Git repository (not a tarball extract), (2) any local modifications + ## will be lost. + ## Gettext tools cannot work with our own custom PRItime type, so + ## we replace PRItime with PRIuMAX. We need to update this to + ## PRIdMAX if we switch to a signed type later. + po/git.pot: $(GENERATED_H) FORCE + # All modifications will be reverted at the end, so we do not + # want to have any local change. + git diff --quiet HEAD && git diff --quiet --cached + + @for s in $(LOCALIZED_C) $(LOCALIZED_SH) $(LOCALIZED_PERL); \ + do \ + sed -e 's|PRItime|PRIuMAX|g' <"$$s" >"$$s+" && \ + cat "$$s+" >"$$s" && rm "$$s+"; \ + done + $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ $(XGETTEXT_FLAGS_C) $(LOCALIZED_C) $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_SH) \ $(LOCALIZED_SH) $(QUIET_XGETTEXT)$(XGETTEXT) -o$@+ --join-existing $(XGETTEXT_FLAGS_PERL) \ $(LOCALIZED_PERL) + + # Reverting the munged source, leaving only the updated $@ + git reset --hard mv $@+ $@ .PHONY: pot