#!/bin/sh
#
#############################################################################
#
# Updates xz-man.pot and the *.po files, and generates translated man pages.
# These are done using the program po4a. If po4a is missing, it is still
# possible to build the package without translated man pages.
#
#############################################################################
#
# Author: Lasse Collin
#
# This file has been put into the public domain.
# You can do whatever you want with this file.
#
#############################################################################

if type po4a > /dev/null 2>&1; then
	:
else
	echo "po4a/update-po: The program 'po4a' was not found." >&2
	echo "po4a/update-po: Translated man pages were not generated." >&2
	exit 1
fi

if test ! -f po4a.conf; then
	cd `dirname "$0"` || exit 1
	if test ! -f po4a.conf; then
		echo "po4a/update-po: Error: Cannot find po4a.conf." >&2
		exit 1
	fi
fi

PACKAGE_VERSION=`cd .. && sh build-aux/version.sh` || exit 1

# Using --force to get up-to-date version numbers in the output files
# when nothing else has changed. This makes it slower but it's fine
# as long as this isn't run every time when "make" is run at the
# top level directory. (po4a isn't super-fast even without --force).
set -x
po4a --force --verbose \
	--package-name="XZ Utils" \
	--package-version="$PACKAGE_VERSION" \
	--copyright-holder="[See the headers in the input files.]" \
	po4a.conf
