1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
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
|
|
1802.10.2
by Monty Taylor
Update all of the copyright headers to include the correct address. |
18 |
## Foundation, Inc., 51 Franklin Place - Suite 330, Boston, MA 02110-1301, USA.
|
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
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 40 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 |
if test -n "$1"; then |
|
40 |
AC_MSG_CHECKING([for intltool >= $1]) |
|
41 |
||
42 |
INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
|
43 |
INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` |
|
44 |
[INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` |
|
45 |
]
|
|
46 |
AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) |
|
1719.1.1
by Monty Taylor
_actually_ make OSX work with no intltool. Sorry. |
47 |
AS_IF([test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"],[ |
48 |
pandora_have_intltool=yes |
|
49 |
],[
|
|
50 |
pandora_have_intltool=no |
|
51 |
AC_MSG_WARN([Your intltool is too old. You need intltool $1 or later.]) |
|
52 |
])
|
|
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
53 |
fi
|
1724.2.1
by Monty Taylor
It would _REALLY_ help if I could get this right. For once. |
54 |
AC_CHECK_HEADERS([libintl.h]) |
55 |
AS_IF([test "x${ac_cv_header_libintl_h}" = "xfalse" -o "x${ac_cv_header_libintl_h}" = "xno"],[ |
|
1719.1.2
by Monty Taylor
Ok. FFS. |
56 |
pandora_have_intltool=no |
57 |
])
|
|
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
58 |
|
59 |
AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) |
|
60 |
AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) |
|
61 |
AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) |
|
62 |
if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then |
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
63 |
AC_MSG_WARN([The intltool scripts were not found. Please install intltool.]) |
64 |
AC_MSG_WARN([On Debian: apt-get install intltool. On Redhat: yum install intltool]) |
|
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
65 |
fi
|
66 |
||
67 |
INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
68 |
INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
69 |
INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
70 |
INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
71 |
INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' |
|
72 |
INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
73 |
INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
74 |
INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
75 |
INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
76 |
INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
77 |
INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
78 |
INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' |
|
79 |
INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
80 |
INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
81 |
INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
82 |
INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
83 |
INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
84 |
INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
85 |
INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' |
|
86 |
||
87 |
_IT_SUBST(INTLTOOL_DESKTOP_RULE) |
|
88 |
_IT_SUBST(INTLTOOL_DIRECTORY_RULE) |
|
89 |
_IT_SUBST(INTLTOOL_KEYS_RULE) |
|
90 |
_IT_SUBST(INTLTOOL_PROP_RULE) |
|
91 |
_IT_SUBST(INTLTOOL_OAF_RULE) |
|
92 |
_IT_SUBST(INTLTOOL_PONG_RULE) |
|
93 |
_IT_SUBST(INTLTOOL_SERVER_RULE) |
|
94 |
_IT_SUBST(INTLTOOL_SHEET_RULE) |
|
95 |
_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) |
|
96 |
_IT_SUBST(INTLTOOL_UI_RULE) |
|
97 |
_IT_SUBST(INTLTOOL_XAM_RULE) |
|
98 |
_IT_SUBST(INTLTOOL_KBD_RULE) |
|
99 |
_IT_SUBST(INTLTOOL_XML_RULE) |
|
100 |
_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) |
|
101 |
_IT_SUBST(INTLTOOL_CAVES_RULE) |
|
102 |
_IT_SUBST(INTLTOOL_SCHEMAS_RULE) |
|
103 |
_IT_SUBST(INTLTOOL_THEME_RULE) |
|
104 |
_IT_SUBST(INTLTOOL_SERVICE_RULE) |
|
105 |
_IT_SUBST(INTLTOOL_POLICY_RULE) |
|
106 |
||
107 |
# Check the gettext tools to make sure they are GNU
|
|
108 |
AC_PATH_PROG(XGETTEXT, xgettext) |
|
109 |
AC_PATH_PROG(MSGMERGE, msgmerge) |
|
110 |
AC_PATH_PROG(MSGFMT, msgfmt) |
|
111 |
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) |
|
112 |
if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then |
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
113 |
AC_MSG_WARN([GNU gettext tools not found; required for intltool]) |
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
114 |
fi
|
115 |
xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" |
|
116 |
mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" |
|
117 |
mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" |
|
118 |
if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then |
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
119 |
AC_MSG_WARN([GNU gettext tools not found; required for intltool]) |
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
120 |
fi
|
121 |
||
122 |
AC_PATH_PROG(INTLTOOL_PERL, perl) |
|
123 |
if test -z "$INTLTOOL_PERL"; then |
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
124 |
AC_MSG_WARN([perl not found]) |
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
125 |
fi
|
126 |
AC_MSG_CHECKING([for perl >= 5.8.1]) |
|
127 |
$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 |
|
128 |
if test $? -ne 0; then |
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
129 |
AC_MSG_WARN([perl 5.8.1 is required for intltool]) |
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
130 |
else
|
131 |
IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" |
|
132 |
AC_MSG_RESULT([$IT_PERL_VERSION]) |
|
133 |
fi
|
|
134 |
if test "x$2" != "xno-xml"; then |
|
135 |
AC_MSG_CHECKING([for XML::Parser]) |
|
136 |
if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then |
|
137 |
AC_MSG_RESULT([ok]) |
|
138 |
else
|
|
1680.5.1
by Monty Taylor
Made existence of intltool and gettext optional. |
139 |
AC_MSG_WARN([XML::Parser perl module is required for intltool]) |
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
140 |
fi
|
141 |
fi
|
|
142 |
||
143 |
# Substitute ALL_LINGUAS so we can use it in po/Makefile
|
|
144 |
AC_SUBST(ALL_LINGUAS) |
|
145 |
||
146 |
# Set DATADIRNAME correctly if it is not set yet
|
|
147 |
# (copied from glib-gettext.m4)
|
|
148 |
if test -z "$DATADIRNAME"; then |
|
149 |
AC_LINK_IFELSE( |
|
150 |
[AC_LANG_PROGRAM([[]], |
|
151 |
[[extern int _nl_msg_cat_cntr; |
|
152 |
return _nl_msg_cat_cntr]])], |
|
153 |
[DATADIRNAME=share], |
|
154 |
[case $host in |
|
155 |
*-*-solaris*) |
|
156 |
dnl On Solaris, if bind_textdomain_codeset is in libc, |
|
157 |
dnl GNU format message catalog is always supported, |
|
158 |
dnl since both are added to the libc all together. |
|
159 |
dnl Hence, we'd like to go with DATADIRNAME=share |
|
160 |
dnl in this case. |
|
161 |
AC_CHECK_FUNC(bind_textdomain_codeset, |
|
162 |
[DATADIRNAME=share], [DATADIRNAME=lib]) |
|
163 |
;;
|
|
164 |
*) |
|
165 |
[DATADIRNAME=lib] |
|
166 |
;;
|
|
167 |
esac]) |
|
168 |
fi
|
|
169 |
AC_SUBST(DATADIRNAME) |
|
170 |
||
171 |
IT_PO_SUBDIR([po]) |
|
172 |
])
|
|
173 |
||
174 |
||
175 |
# IT_PO_SUBDIR(DIRNAME)
|
|
176 |
# ---------------------
|
|
177 |
# All po subdirs have to be declared with this macro; the subdir "po" is
|
|
178 |
# declared by IT_PROG_INTLTOOL.
|
|
179 |
#
|
|
180 |
AC_DEFUN([IT_PO_SUBDIR], |
|
181 |
[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. |
|
182 |
dnl
|
|
183 |
dnl The following CONFIG_COMMANDS should be exetuted at the very end |
|
184 |
dnl of config.status. |
|
185 |
AC_CONFIG_COMMANDS_PRE([ |
|
186 |
AC_CONFIG_COMMANDS([$1/stamp-it], [ |
|
187 |
if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then |
|
1719.1.2
by Monty Taylor
Ok. FFS. |
188 |
AC_MSG_WARN([$1/Makefile.in.in was not created by intltoolize.]) |
189 |
else
|
|
190 |
rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" |
|
191 |
>"$1/stamp-it.tmp" |
|
192 |
[sed '/^#/d |
|
193 |
s/^[[].*] *// |
|
194 |
/^[ ]*$/d |
|
195 |
'"s|^| $ac_top_srcdir/|" \ |
|
196 |
"$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" |
|
197 |
]
|
|
198 |
[sed '/^POTFILES =/,/[^\\]$/ { |
|
199 |
/^POTFILES =/!d |
|
200 |
r $1/POTFILES |
|
201 |
}
|
|
202 |
' "$1/Makefile.in" >"$1/Makefile"]
|
|
203 |
rm -f "$1/Makefile.tmp" |
|
204 |
mv "$1/stamp-it.tmp" "$1/stamp-it" |
|
1667.4.3
by Monty Taylor
Added intltool macro. Removed an old gettext one. |
205 |
fi
|
206 |
])
|
|
207 |
])dnl |
|
208 |
])
|
|
209 |
||
210 |
# _IT_SUBST(VARIABLE)
|
|
211 |
# -------------------
|
|
212 |
# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
|
|
213 |
#
|
|
214 |
AC_DEFUN([_IT_SUBST], |
|
215 |
[
|
|
216 |
AC_SUBST([$1]) |
|
217 |
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) |
|
218 |
]
|
|
219 |
)
|
|
220 |
||
221 |
# deprecated macros
|
|
222 |
AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) |
|
223 |
# A hint is needed for aclocal from Automake <= 1.9.4:
|
|
224 |
# AC_DEFUN([AC_PROG_INTLTOOL], ...)
|
|
225 |