1
by whzhang-kylin
Import upstream version 1.0.0 |
1 |
## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
|
2 |
## Copyright (C) 2001 Eazel, Inc.
|
|
3 |
## Author: Maciej Stachowiak <mjs@noisehavoc.org>
|
|
4 |
## Kenneth Christiansen <kenneth@gnu.org>
|
|
5 |
##
|
|
6 |
## This program is free software; you can redistribute it and/or modify
|
|
7 |
## it under the terms of the GNU General Public License as published by
|
|
8 |
## the Free Software Foundation; either version 2 of the License, or
|
|
9 |
## (at your option) any later version.
|
|
10 |
##
|
|
11 |
## This program is distributed in the hope that it will be useful, but
|
|
12 |
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13 |
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
14 |
## General Public License for more details.
|
|
15 |
##
|
|
16 |
## You should have received a copy of the GNU General Public License
|
|
17 |
## along with this program; if not, write to the Free Software
|
|
18 |
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
19 |
##
|
|
20 |
## As a special exception to the GNU General Public License, if you
|
|
21 |
## distribute this file as part of a program that contains a
|
|
22 |
## configuration script generated by Autoconf, you may include it under
|
|
23 |
## the same distribution terms that you use for the rest of that program.
|
|
24 |
||
25 |
dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) |
|
26 |
# serial 42 IT_PROG_INTLTOOL
|
|
27 |
AC_DEFUN([IT_PROG_INTLTOOL], [ |
|
28 |
AC_PREREQ([2.50])dnl |
|
29 |
AC_REQUIRE([AM_NLS])dnl |
|
30 |
||
31 |
case "$am__api_version" in |
|
32 |
1.[01234]) |
|
33 |
AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) |
|
34 |
;;
|
|
35 |
*) |
|
36 |
;;
|
|
37 |
esac
|
|
38 |
||
39 |
INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
|
40 |
INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` |
|
41 |
INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
|
42 |
if test -n "$1"; then |
|
43 |
AC_MSG_CHECKING([for intltool >= $1]) |
|
44 |
AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) |
|
45 |
test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || |
|
46 |
AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) |
|
47 |
fi
|
|
48 |
||
49 |
AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) |
|
50 |
AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) |
|
51 |
AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) |
|
52 |
if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then |
|
53 |
AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) |
|
54 |
fi
|
|
55 |
||
56 |
if test -z "$AM_DEFAULT_VERBOSITY"; then |
|
57 |
AM_DEFAULT_VERBOSITY=1 |
|
58 |
fi
|
|
59 |
AC_SUBST([AM_DEFAULT_VERBOSITY]) |
|
60 |
||
61 |
INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' |
|
62 |
INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' |
|
63 |
INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' |
|
64 |
AC_SUBST(INTLTOOL_V_MERGE) |
|
65 |
AC_SUBST(INTLTOOL__v_MERGE_) |
|
66 |
AC_SUBST(INTLTOOL__v_MERGE_0) |
|
67 |
||
68 |
INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' |
|
69 |
intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' |
|
70 |
intltool__v_merge_options_0='-q' |
|
71 |
AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) |
|
72 |
AC_SUBST(intltool__v_merge_options_) |
|
73 |
AC_SUBST(intltool__v_merge_options_0) |
|
74 |
||
75 |
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 $< [$]@' |
|
76 |
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 $< [$]@' |
|
77 |
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 $< [$]@' |
|
78 |
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 $< [$]@' |
|
79 |
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 $< [$]@' |
|
80 |
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 $< [$]@' |
|
81 |
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 $< [$]@' |
|
82 |
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 $< [$]@' |
|
83 |
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 $< [$]@' |
|
84 |
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 $< [$]@' |
|
85 |
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 $< [$]@' |
|
86 |
if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then |
|
87 |
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 $< [$]@' |
|
88 |
else
|
|
89 |
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' |
|
90 |
fi
|
|
91 |
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 $< [$]@' |
|
92 |
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 $< [$]@' |
|
93 |
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 $< [$]@' |
|
94 |
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 $< [$]@' |
|
95 |
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 $< [$]@' |
|
96 |
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 $< [$]@' |
|
97 |
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 $< [$]@' |
|
98 |
||
99 |
_IT_SUBST(INTLTOOL_DESKTOP_RULE) |
|
100 |
_IT_SUBST(INTLTOOL_DIRECTORY_RULE) |
|
101 |
_IT_SUBST(INTLTOOL_KEYS_RULE) |
|
102 |
_IT_SUBST(INTLTOOL_PROP_RULE) |
|
103 |
_IT_SUBST(INTLTOOL_OAF_RULE) |
|
104 |
_IT_SUBST(INTLTOOL_PONG_RULE) |
|
105 |
_IT_SUBST(INTLTOOL_SERVER_RULE) |
|
106 |
_IT_SUBST(INTLTOOL_SHEET_RULE) |
|
107 |
_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) |
|
108 |
_IT_SUBST(INTLTOOL_UI_RULE) |
|
109 |
_IT_SUBST(INTLTOOL_XAM_RULE) |
|
110 |
_IT_SUBST(INTLTOOL_KBD_RULE) |
|
111 |
_IT_SUBST(INTLTOOL_XML_RULE) |
|
112 |
_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) |
|
113 |
_IT_SUBST(INTLTOOL_CAVES_RULE) |
|
114 |
_IT_SUBST(INTLTOOL_SCHEMAS_RULE) |
|
115 |
_IT_SUBST(INTLTOOL_THEME_RULE) |
|
116 |
_IT_SUBST(INTLTOOL_SERVICE_RULE) |
|
117 |
_IT_SUBST(INTLTOOL_POLICY_RULE) |
|
118 |
||
119 |
# Check the gettext tools to make sure they are GNU
|
|
120 |
AC_PATH_PROG(XGETTEXT, xgettext) |
|
121 |
AC_PATH_PROG(MSGMERGE, msgmerge) |
|
122 |
AC_PATH_PROG(MSGFMT, msgfmt) |
|
123 |
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) |
|
124 |
if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then |
|
125 |
AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) |
|
126 |
fi
|
|
127 |
xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" |
|
128 |
mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" |
|
129 |
mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" |
|
130 |
if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then |
|
131 |
AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) |
|
132 |
fi
|
|
133 |
||
134 |
AC_PATH_PROG(INTLTOOL_PERL, perl) |
|
135 |
if test -z "$INTLTOOL_PERL"; then |
|
136 |
AC_MSG_ERROR([perl not found]) |
|
137 |
fi
|
|
138 |
AC_MSG_CHECKING([for perl >= 5.8.1]) |
|
139 |
$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 |
|
140 |
if test $? -ne 0; then |
|
141 |
AC_MSG_ERROR([perl 5.8.1 is required for intltool]) |
|
142 |
else
|
|
143 |
IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` |
|
144 |
AC_MSG_RESULT([$IT_PERL_VERSION]) |
|
145 |
fi
|
|
146 |
if test "x$2" != "xno-xml"; then |
|
147 |
AC_MSG_CHECKING([for XML::Parser]) |
|
148 |
if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then |
|
149 |
AC_MSG_RESULT([ok]) |
|
150 |
else
|
|
151 |
AC_MSG_ERROR([XML::Parser perl module is required for intltool]) |
|
152 |
fi
|
|
153 |
fi
|
|
154 |
||
155 |
# Substitute ALL_LINGUAS so we can use it in po/Makefile
|
|
156 |
AC_SUBST(ALL_LINGUAS) |
|
157 |
||
158 |
# Set DATADIRNAME correctly if it is not set yet
|
|
159 |
# (copied from glib-gettext.m4)
|
|
160 |
if test -z "$DATADIRNAME"; then |
|
161 |
AC_LINK_IFELSE( |
|
162 |
[AC_LANG_PROGRAM([[]], |
|
163 |
[[extern int _nl_msg_cat_cntr; |
|
164 |
return _nl_msg_cat_cntr]])], |
|
165 |
[DATADIRNAME=share], |
|
166 |
[case $host in |
|
167 |
*-*-solaris*) |
|
168 |
dnl On Solaris, if bind_textdomain_codeset is in libc, |
|
169 |
dnl GNU format message catalog is always supported, |
|
170 |
dnl since both are added to the libc all together. |
|
171 |
dnl Hence, we'd like to go with DATADIRNAME=share |
|
172 |
dnl in this case. |
|
173 |
AC_CHECK_FUNC(bind_textdomain_codeset, |
|
174 |
[DATADIRNAME=share], [DATADIRNAME=lib]) |
|
175 |
;;
|
|
176 |
*) |
|
177 |
[DATADIRNAME=lib] |
|
178 |
;;
|
|
179 |
esac]) |
|
180 |
fi
|
|
181 |
AC_SUBST(DATADIRNAME) |
|
182 |
||
183 |
IT_PO_SUBDIR([po]) |
|
184 |
||
185 |
])
|
|
186 |
||
187 |
||
188 |
# IT_PO_SUBDIR(DIRNAME)
|
|
189 |
# ---------------------
|
|
190 |
# All po subdirs have to be declared with this macro; the subdir "po" is
|
|
191 |
# declared by IT_PROG_INTLTOOL.
|
|
192 |
#
|
|
193 |
AC_DEFUN([IT_PO_SUBDIR], |
|
194 |
[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. |
|
195 |
dnl
|
|
196 |
dnl The following CONFIG_COMMANDS should be executed at the very end |
|
197 |
dnl of config.status. |
|
198 |
AC_CONFIG_COMMANDS_PRE([ |
|
199 |
AC_CONFIG_COMMANDS([$1/stamp-it], [ |
|
200 |
if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then |
|
201 |
AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) |
|
202 |
fi
|
|
203 |
rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" |
|
204 |
>"$1/stamp-it.tmp" |
|
205 |
[sed '/^#/d |
|
206 |
s/^[[].*] *// |
|
207 |
/^[ ]*$/d |
|
208 |
'"s|^| $ac_top_srcdir/|" \ |
|
209 |
"$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" |
|
210 |
]
|
|
211 |
[sed '/^POTFILES =/,/[^\\]$/ { |
|
212 |
/^POTFILES =/!d |
|
213 |
r $1/POTFILES |
|
214 |
}
|
|
215 |
' "$1/Makefile.in" >"$1/Makefile"]
|
|
216 |
rm -f "$1/Makefile.tmp" |
|
217 |
mv "$1/stamp-it.tmp" "$1/stamp-it" |
|
218 |
])
|
|
219 |
])dnl |
|
220 |
])
|
|
221 |
||
222 |
# _IT_SUBST(VARIABLE)
|
|
223 |
# -------------------
|
|
224 |
# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
|
|
225 |
#
|
|
226 |
AC_DEFUN([_IT_SUBST], |
|
227 |
[
|
|
228 |
AC_SUBST([$1]) |
|
229 |
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) |
|
230 |
]
|
|
231 |
)
|
|
232 |
||
233 |
# deprecated macros
|
|
234 |
AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) |
|
235 |
# A hint is needed for aclocal from Automake <= 1.9.4:
|
|
236 |
# AC_DEFUN([AC_PROG_INTLTOOL], ...)
|
|
237 |