Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
Makefile.am | 3 +-
configure.ac | 3 +-
meson.build | 2 ++
po/Makefile.am | 87 --------------------------------------------------
po/meson.build | 35 ++++++++++++++++++++
5 files changed, 39 insertions(+), 91 deletions(-)
delete mode 100644 po/Makefile.am
create mode 100644 po/meson.build
diff --git a/Makefile.am b/Makefile.am
index 4b3abc82728..fca0c1f5c29 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,8 +20,7 @@
# so force it explicitly
DISTCHECK_CONFIGURE_FLAGS = --enable-werror
-SUBDIRS = . docs \
- po
+SUBDIRS = . docs
XZ_OPT ?= -v -T0
export XZ_OPT
diff --git a/configure.ac b/configure.ac
index 4f7ad909468..91ba0c2af4e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,6 +113,5 @@ AC_CONFIG_FILES([\
libvirt-qemu.pc \
libvirt-lxc.pc \
libvirt-admin.pc \
- libvirt.spec mingw-libvirt.spec \
- po/Makefile])
+ libvirt.spec mingw-libvirt.spec])
AC_OUTPUT
diff --git a/meson.build b/meson.build
index caee54a5818..8b434929825 100644
--- a/meson.build
+++ b/meson.build
@@ -2209,6 +2209,8 @@ subdir('tests')
subdir('examples')
+subdir('po')
+
# generate meson-config.h file
configure_file(output: 'meson-config.h', configuration: conf)
diff --git a/po/Makefile.am b/po/Makefile.am
deleted file mode 100644
index ff73ead6f72..00000000000
--- a/po/Makefile.am
+++ /dev/null
@@ -1,87 +0,0 @@
-DOMAIN = $(PACKAGE_NAME)
-COPYRIGHT_HOLDER = The Libvirt authors
-MSGID_BUGS_ADDRESS =
https://libvirt.org/bugs.html
-
-LANGS := $(shell cat $(srcdir)/LINGUAS)
-
-POTFILES_IN = $(srcdir)/POTFILES.in
-POTFILES: $(POTFILES_IN)
- $(AM_V_GEN) cat $(POTFILES_IN) | \
- $(SED) 's|[@]SRCDIR[@]||' | \
- $(SED) 's|[@]BUILDDIR[@]||' > $@
-POTFILE_DEPS = $(shell cat POTFILES)
-POTFILE := $(DOMAIN).pot
-POFILES := $(LANGS:%=%.po)
-GMOFILES := $(LANGS:%=%.gmo)
-
-if HAVE_GNU_GETTEXT_TOOLS
-
-XGETTEXT_ARGS = \
- --default-domain=$(DOMAIN) \
- --from-code=utf-8 \
- --add-comments=TRANSLATORS: \
- --keyword=_ --keyword=N_ \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --package-name="$(PACKAGE_NAME)" \
- --package-version="$(PACKAGE_VERSION)" \
- --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \
- --directory="$(top_srcdir)" \
- --directory="$(top_builddir)" \
- --sort-output \
- $(NULL)
-
-SED_PO_FIXUP_ARGS = \
- -e "s|text/plain; charset=CHARSET|text/plain; charset=UTF-8|g" \
- -e "s|SOME DESCRIPTIVE TITLE|Libvirt package strings|g" \
- -e "s|Copyright (C) YEAR|Copyright (C) $$(date +'%Y')|" \
- $(NULL)
-
-update-gmo: $(GMOFILES)
-
-# The results of this target should not be committed to Git. The Weblate
-# service is responsible for updating .po files when the .pot is changed.
-update-po: $(POTFILE)
- cd $(srcdir) && \
- for lang in $(LANGS); do \
- echo "Minimizing $$lang content" && \
- $(MSGMERGE) --no-location --no-fuzzy-matching --sort-output \
- $$lang.po $(POTFILE) | \
- $(SED) $(SED_PO_FIXUP_ARGS) > $$lang.po-t && \
- mv $$lang.po-t $$lang.po ; \
- done
-
-$(POTFILE): POTFILES
- $(XGETTEXT) -o $@-t $(XGETTEXT_ARGS) \
- --files-from=$(abs_builddir)/POTFILES
- $(SED) $(SED_PO_FIXUP_ARGS) < $@-t > $(srcdir)/$@
- rm -f $@-t
-
-%.gmo: %.po
- rm -f $@ $@-t
- $(MSGFMT) -c -o $@-t $<
- mv $@-t $@
-
-.PHONY: $(POTFILE)
-
-endif HAVE_GNU_GETTEXT_TOOLS
-
-if ENABLE_NLS
-
-# Cannot use 'localedir' since this conflicts with autoconf.
-langinstdir = $(datadir)/locale
-
-install-data-hook: $(GMOFILES)
- mkdir -p $(DESTDIR)$(langinstdir)
- for lang in $(LANGS); do \
- d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
- mkdir -p $$d; \
- install -m 0644 $$lang.gmo $$d/$(DOMAIN).mo; \
- done
-
-uninstall-hook:
- for lang in $(LANGS); do \
- d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \
- rm -f $$d/$(DOMAIN).mo; \
- done
-
-endif ENABLE_NLS
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 00000000000..f9677408ec9
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,35 @@
+i18n = import('i18n')
+
+potfiles_conf = configuration_data()
+potfiles_conf.set('SRCDIR', '')
+potfiles_conf.set('BUILDDIR', '')
+
+potfiles = configure_file(
+ input: 'POTFILES.in',
+ output: 'POTFILES',
+ configuration: potfiles_conf,
+)
+
+i18n.gettext(
+ meson.project_name(),
+ args: [
+ '--add-comments=TRANSLATORS:',
+ '--directory=@0(a)'.format(meson.source_root()),
+ '--directory=@0(a)'.format(meson.build_root()),
+ '--files-from=@0(a)'.format(meson.current_build_dir() / 'POTFILES'),
+ '--msgid-bugs-address=https://libvirt.org/bugs.html',
+ '--package-version=@0(a)'.format(meson.project_version()),
+ '--sort-output',
+ ],
+ preset: 'glib',
+)
+
+potfiles_dep = [
+ access_gen_sources,
+ admin_client_generated,
+ admin_driver_generated,
+ remote_driver_generated,
+ remote_daemon_generated,
+]
+
+alias_target('libvirt-pot-dep', potfiles_dep)
--
2.26.2