Historically we did not support VPATH builds and everything was
generated into source directory. The introduction of VPATH builds
did not changed the way how our translation files are handled.
This patch changes the rules to generate everything into build
directory and stops distributing generated files in order to have
properly separated VPATH builds.
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
Notes:
Changes in v2:
- keep the zanata binary name, this will be fixed by separate patch
.gitignore | 4 ----
po/Makefile.am | 35 +++++++++++++++++++++--------------
2 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/.gitignore b/.gitignore
index bd64eb5b1a..4c4807019c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,12 +39,8 @@ Makefile.in
.git-module-status
# libvirt related ignores
-!/po/*.mini.po
/build/
/ci/scratch/
-/po/*gmo
-/po/*po
-/po/*pot
/src/access/org.libvirt.api.policy
/src/access/viraccessapicheck.c
/src/access/viraccessapicheck.h
diff --git a/po/Makefile.am b/po/Makefile.am
index b0e2c15d44..f3510e6d59 100644
--- a/po/Makefile.am
+++ b/po/Makefile.am
@@ -16,17 +16,16 @@ LANGS := \
POTFILE_DEPS := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES)
-POTFILE := $(srcdir)/$(DOMAIN).pot
-POFILES := $(LANGS:%=$(srcdir)/%.po)
-GMOFILES := $(LANGS:%=$(srcdir)/%.gmo)
+POTFILE := $(DOMAIN).pot
+POMINIFILES := $(LANGS:%=%.mini.po)
+POFILES := $(LANGS:%=%.po)
+GMOFILES := $(LANGS:%=%.gmo)
-MAINTAINERCLEANFILES = $(POTFILE) $(POFILES) $(GMOFILES)
+CLEANFILES = $(POTFILE) $(POFILES) $(GMOFILES)
EXTRA_DIST = \
POTFILES \
- $(POTFILE) \
- $(POFILES) \
- $(GMOFILES)
+ $(POMINIFILES)
if HAVE_GNU_GETTEXT_TOOLS
@@ -63,10 +62,18 @@ update-mini-po: $(POTFILE)
done
push-pot: $(POTFILE)
- zanata push --push-type=source
+ zanata push \
+ --project-config $(srcdir)/zanata.xml \
+ --push-type=source \
+ --trans-dir $(builddir) \
+ --src-dir $(srcdir)
pull-po: $(POTFILE)
- zanata pull --create-skeletons
+ zanata pull \
+ --project-config $(srcdir)/zanata.xml \
+ --create-skeletons \
+ --trans-dir $(builddir) \
+ --src-dir $(srcdir)
$(MAKE) update-mini-po
$(MAKE) update-gmo
@@ -76,19 +83,17 @@ $(POTFILE): POTFILES $(POTFILE_DEPS)
$(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $@
rm -f $@-t
-$(srcdir)/%.po: $(srcdir)/%.mini.po $(POTFILE)
+%.po: %.mini.po $(POTFILE)
$(MSGMERGE) --no-fuzzy-matching $< $(POTFILE) | \
$(SED) $(SED_PO_FIXUP_ARGS) > $@
-$(srcdir)/%.gmo: $(srcdir)/%.po
+%.gmo: %.po
rm -f $@ $@-t
$(MSGFMT) -c -o $@-t $<
mv $@-t $@
.PRECIOUS: $(POTFILE) $(POFILES)
-endif HAVE_GNU_GETTEXT_TOOLS
-
if ENABLE_NLS
# Cannot use 'localedir' since this conflicts with autoconf.
@@ -99,7 +104,7 @@ install-data-hook: $(GMOFILES)
for lang in $(LANGS); do \
d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
mkdir -p $$d; \
- install -m 0644 $(srcdir)/$$lang.gmo $$d/$(DOMAIN).mo; \
+ install -m 0644 $$lang.gmo $$d/$(DOMAIN).mo; \
done
uninstall-hook:
@@ -109,3 +114,5 @@ uninstall-hook:
done
endif ENABLE_NLS
+
+endif HAVE_GNU_GETTEXT_TOOLS
--
2.21.0