108
dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
109
# serial 42 IT_PROG_INTLTOOL
110
AC_DEFUN([IT_PROG_INTLTOOL], [
112
AC_REQUIRE([AM_NLS])dnl
114
case "$am__api_version" in
116
AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
122
INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
123
INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
124
INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
125
if test -n "$1"; then
126
AC_MSG_CHECKING([for intltool >= $1])
127
AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
128
test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
129
AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.])
132
AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
133
AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
134
AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
135
if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
136
AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
139
if test -z "$AM_DEFAULT_VERBOSITY"; then
140
AM_DEFAULT_VERBOSITY=1
142
AC_SUBST([AM_DEFAULT_VERBOSITY])
144
INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
145
INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
146
INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;'
147
AC_SUBST(INTLTOOL_V_MERGE)
148
AC_SUBST(INTLTOOL__v_MERGE_)
149
AC_SUBST(INTLTOOL__v_MERGE_0)
151
INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
152
intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
153
intltool__v_merge_options_0='-q'
154
AC_SUBST(INTLTOOL_V_MERGE_OPTIONS)
155
AC_SUBST(intltool__v_merge_options_)
156
AC_SUBST(intltool__v_merge_options_0)
158
INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
159
INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
160
INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
161
INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
162
INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@'
163
INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
164
INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
165
INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
166
INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
167
INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
168
INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
169
if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
170
INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@'
172
INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir'
174
INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
175
INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
176
INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
177
INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
178
INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
179
INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
180
INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
182
_IT_SUBST(INTLTOOL_DESKTOP_RULE)
183
_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
184
_IT_SUBST(INTLTOOL_KEYS_RULE)
185
_IT_SUBST(INTLTOOL_PROP_RULE)
186
_IT_SUBST(INTLTOOL_OAF_RULE)
187
_IT_SUBST(INTLTOOL_PONG_RULE)
188
_IT_SUBST(INTLTOOL_SERVER_RULE)
189
_IT_SUBST(INTLTOOL_SHEET_RULE)
190
_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
191
_IT_SUBST(INTLTOOL_UI_RULE)
192
_IT_SUBST(INTLTOOL_XAM_RULE)
193
_IT_SUBST(INTLTOOL_KBD_RULE)
194
_IT_SUBST(INTLTOOL_XML_RULE)
195
_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
196
_IT_SUBST(INTLTOOL_CAVES_RULE)
197
_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
198
_IT_SUBST(INTLTOOL_THEME_RULE)
199
_IT_SUBST(INTLTOOL_SERVICE_RULE)
200
_IT_SUBST(INTLTOOL_POLICY_RULE)
202
# Check the gettext tools to make sure they are GNU
203
AC_PATH_PROG(XGETTEXT, xgettext)
204
AC_PATH_PROG(MSGMERGE, msgmerge)
205
AC_PATH_PROG(MSGFMT, msgfmt)
206
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
207
if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
208
AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
210
xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
211
mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
212
mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
213
if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
214
AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
217
AC_PATH_PROG(INTLTOOL_PERL, perl)
218
if test -z "$INTLTOOL_PERL"; then
219
AC_MSG_ERROR([perl not found])
221
AC_MSG_CHECKING([for perl >= 5.8.1])
222
$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
223
if test $? -ne 0; then
224
AC_MSG_ERROR([perl 5.8.1 is required for intltool])
226
IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`
227
AC_MSG_RESULT([$IT_PERL_VERSION])
229
if test "x$2" != "xno-xml"; then
230
AC_MSG_CHECKING([for XML::Parser])
231
if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
234
AC_MSG_ERROR([XML::Parser perl module is required for intltool])
238
# Substitute ALL_LINGUAS so we can use it in po/Makefile
239
AC_SUBST(ALL_LINGUAS)
241
# Set DATADIRNAME correctly if it is not set yet
242
# (copied from glib-gettext.m4)
243
if test -z "$DATADIRNAME"; then
245
[AC_LANG_PROGRAM([[]],
246
[[extern int _nl_msg_cat_cntr;
247
return _nl_msg_cat_cntr]])],
251
dnl On Solaris, if bind_textdomain_codeset is in libc,
252
dnl GNU format message catalog is always supported,
253
dnl since both are added to the libc all together.
254
dnl Hence, we'd like to go with DATADIRNAME=share
256
AC_CHECK_FUNC(bind_textdomain_codeset,
257
[DATADIRNAME=share], [DATADIRNAME=lib])
264
AC_SUBST(DATADIRNAME)
271
# IT_PO_SUBDIR(DIRNAME)
272
# ---------------------
273
# All po subdirs have to be declared with this macro; the subdir "po" is
274
# declared by IT_PROG_INTLTOOL.
276
AC_DEFUN([IT_PO_SUBDIR],
277
[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
279
dnl The following CONFIG_COMMANDS should be executed at the very end
280
dnl of config.status.
281
AC_CONFIG_COMMANDS_PRE([
282
AC_CONFIG_COMMANDS([$1/stamp-it], [
283
if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
284
AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
286
rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
291
'"s|^| $ac_top_srcdir/|" \
292
"$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
294
[sed '/^POTFILES =/,/[^\\]$/ {
298
' "$1/Makefile.in" >"$1/Makefile"]
299
rm -f "$1/Makefile.tmp"
300
mv "$1/stamp-it.tmp" "$1/stamp-it"
305
# _IT_SUBST(VARIABLE)
306
# -------------------
307
# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
309
AC_DEFUN([_IT_SUBST],
312
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
317
AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
318
# A hint is needed for aclocal from Automake <= 1.9.4:
319
# AC_DEFUN([AC_PROG_INTLTOOL], ...)
322
107
# nls.m4 serial 5 (gettext-0.18)
323
108
dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,