#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

mynum=${#}
if [ ${mynum} -lt 1 ] ; then
	echo "${0}: at least one argument needed"
	exit 1
fi
if [ ! -d "${D}${DESTTREE}/share/locale" ] ; then
	install -d "${D}${DESTTREE}/share/locale/"
fi

ret=0

for x in "$@" ; do
	if [ -e "${x}" ] ; then
		mytiny="${x##*/}"
		mydir="${D}${DESTTREE}/share/locale/${mytiny%.*}/LC_MESSAGES"
		if [ ! -d "${mydir}" ] ; then
			install -d "${mydir}"
		fi
		install -m0644 "${x}" "${mydir}/${MOPREFIX}.mo"
	else
		echo "!!! ${0##*/}: $x does not exist" 1>&2
		false
	fi
	((ret|=$?))
done

exit $ret
