]> git.saurik.com Git - bison.git/blame - m4/gettext.m4
Remove the useless rules from the parser.
[bison.git] / m4 / gettext.m4
CommitLineData
9208d17f
AD
1# gettext.m4 serial 13 (gettext-0.11.1)
2dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
3dnl This file is free software, distributed under the terms of the GNU
4dnl General Public License. As a special exception to the GNU General
5dnl Public License, this file may be distributed as part of a program
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8dnl
9dnl This file can can be used in projects which are not available under
10dnl the GNU General Public License or the GNU Library General Public
11dnl License but which still want to provide support for the GNU gettext
12dnl functionality.
13dnl Please note that the actual code of the GNU gettext library is covered
14dnl by the GNU Library General Public License, and the rest of the GNU
15dnl gettext package package is covered by the GNU General Public License.
16dnl They are *not* in the public domain.
17
18dnl Authors:
19dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
20dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
21
22dnl Macro to add for using GNU gettext.
23
24dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
25dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
26dnl default (if it is not specified or empty) is 'no-libtool'.
27dnl INTLSYMBOL should be 'external' for packages with no intl directory,
28dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
29dnl If INTLSYMBOL is 'use-libtool', then a libtool library
1e24cc5b
AD
30dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
31dnl depending on --{enable,disable}-{shared,static} and on the presence of
9208d17f 32dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
1e24cc5b
AD
33dnl $(top_builddir)/intl/libintl.a will be created.
34dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
35dnl implementations (in libc or libintl) without the ngettext() function
36dnl will be ignored.
9208d17f 37dnl INTLDIR is used to find the intl libraries. If empty,
1e24cc5b
AD
38dnl the value `$(top_builddir)/intl/' is used.
39dnl
40dnl The result of the configuration is one of three cases:
41dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
42dnl and used.
43dnl Catalog format: GNU --> install in $(datadir)
44dnl Catalog extension: .mo after installation, .gmo in source tree
45dnl 2) GNU gettext has been found in the system's C library.
46dnl Catalog format: GNU --> install in $(datadir)
47dnl Catalog extension: .mo after installation, .gmo in source tree
48dnl 3) No internationalization, always use English msgid.
49dnl Catalog format: none
50dnl Catalog extension: none
9208d17f 51dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
1e24cc5b
AD
52dnl The use of .gmo is historical (it was needed to avoid overwriting the
53dnl GNU format catalogs when building on a platform with an X/Open gettext),
54dnl but we keep it in order not to force irrelevant filename changes on the
55dnl maintainers.
56dnl
9208d17f
AD
57AC_DEFUN([AM_GNU_GETTEXT],
58[
59 dnl Argument checking.
60 ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
61 [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
62])])])])])
63 ifelse([$2], [], , [ifelse([$2], [need-ngettext], ,
64 [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
65])])])
66 define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
67 define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
68
69 AC_REQUIRE([AM_PO_SUBDIRS])dnl
70 ifelse(gt_included_intl, yes, [
71 AC_REQUIRE([AM_INTL_SUBDIR])dnl
72 ])
73
74 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
75 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
76 AC_REQUIRE([AC_LIB_RPATH])
8c44d3ec 77
9208d17f
AD
78 AC_MSG_CHECKING([whether NLS is requested])
79 dnl Default is enabled NLS
80 AC_ARG_ENABLE(nls,
81 [ --disable-nls do not use Native Language Support],
82 USE_NLS=$enableval, USE_NLS=yes)
83 AC_MSG_RESULT($USE_NLS)
84 AC_SUBST(USE_NLS)
85
86 ifelse(gt_included_intl, yes, [
1e24cc5b 87 BUILD_INCLUDED_LIBINTL=no
8c44d3ec 88 USE_INCLUDED_LIBINTL=no
9208d17f
AD
89 ])
90 LIBINTL=
91 LTLIBINTL=
92 POSUB=
93
94 dnl If we use NLS figure out what method
95 if test "$USE_NLS" = "yes"; then
96 gt_use_preinstalled_gnugettext=no
97 ifelse(gt_included_intl, yes, [
8c44d3ec
AD
98 AC_MSG_CHECKING([whether included gettext is requested])
99 AC_ARG_WITH(included-gettext,
100 [ --with-included-gettext use the GNU gettext library included here],
101 nls_cv_force_use_gnu_gettext=$withval,
102 nls_cv_force_use_gnu_gettext=no)
103 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
104
105 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
106 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
9208d17f 107 ])
8c44d3ec 108 dnl User does not insist on using GNU NLS library. Figure out what
1e24cc5b
AD
109 dnl to use. If GNU gettext is available we use this. Else we have
110 dnl to fall back to GNU NLS library.
8c44d3ec 111
1e24cc5b 112 dnl Add a version number to the cache macros.
9208d17f
AD
113 define([gt_api_version], ifelse([$2], [need-ngettext], 2, 1))
114 define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
115 define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
116
117 AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
118 [AC_TRY_LINK([#include <libintl.h>
119extern int _nl_msg_cat_cntr;
120extern int *_nl_domain_bindings;],
121 [bindtextdomain ("", "");
122return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
123 gt_cv_func_gnugettext_libc=yes,
124 gt_cv_func_gnugettext_libc=no)])
125
126 if test "$gt_cv_func_gnugettext_libc" != "yes"; then
127 dnl Sometimes libintl requires libiconv, so first search for libiconv.
128 ifelse(gt_included_intl, yes, , [
129 AM_ICONV_LINK
130 ])
131 dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
132 dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
133 dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
134 dnl even if libiconv doesn't exist.
135 AC_LIB_LINKFLAGS_BODY([intl])
136 AC_CACHE_CHECK([for GNU gettext in libintl],
137 gt_cv_func_gnugettext_libintl,
138 [gt_save_CPPFLAGS="$CPPFLAGS"
139 CPPFLAGS="$CPPFLAGS $INCINTL"
140 gt_save_LIBS="$LIBS"
141 LIBS="$LIBS $LIBINTL"
142 dnl Now see whether libintl exists and does not depend on libiconv.
143 AC_TRY_LINK([#include <libintl.h>
144extern int _nl_msg_cat_cntr;
145extern int *_nl_domain_bindings;
146extern
147#ifdef __cplusplus
148"C"
149#endif
150const char *_nl_expand_alias ();],
151 [bindtextdomain ("", "");
152return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
153 gt_cv_func_gnugettext_libintl=yes,
154 gt_cv_func_gnugettext_libintl=no)
155 dnl Now see whether libintl exists and depends on libiconv.
156 if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
157 LIBS="$LIBS $LIBICONV"
158 AC_TRY_LINK([#include <libintl.h>
159extern int _nl_msg_cat_cntr;
160extern int *_nl_domain_bindings;
161extern
162#ifdef __cplusplus
163"C"
164#endif
165const char *_nl_expand_alias ();],
166 [bindtextdomain ("", "");
167return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
168 [LIBINTL="$LIBINTL $LIBICONV"
169 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
170 gt_cv_func_gnugettext_libintl=yes
171 ])
172 fi
173 CPPFLAGS="$gt_save_CPPFLAGS"
174 LIBS="$gt_save_LIBS"])
175 fi
176
177 dnl If an already present or preinstalled GNU gettext() is found,
178 dnl use it. But if this macro is used in GNU gettext, and GNU
179 dnl gettext is already preinstalled in libintl, we update this
180 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
181 if test "$gt_cv_func_gnugettext_libc" = "yes" \
182 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
183 && test "$PACKAGE" != gettext; }; then
184 gt_use_preinstalled_gnugettext=yes
185 else
186 dnl Reset the values set by searching for libintl.
187 LIBINTL=
188 LTLIBINTL=
189 INCINTL=
190 fi
191
192 ifelse(gt_included_intl, yes, [
193 if test "$gt_use_preinstalled_gnugettext" != "yes"; then
194 dnl GNU gettext is not found in the C library.
195 dnl Fall back on included GNU gettext library.
196 nls_cv_use_gnu_gettext=yes
8c44d3ec
AD
197 fi
198 fi
199
200 if test "$nls_cv_use_gnu_gettext" = "yes"; then
201 dnl Mark actions used to generate GNU NLS library.
202 INTLOBJS="\$(GETTOBJS)"
9208d17f
AD
203 BUILD_INCLUDED_LIBINTL=yes
204 USE_INCLUDED_LIBINTL=yes
205 LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
206 LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
207 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
8c44d3ec
AD
208 fi
209
9208d17f
AD
210 if test "$gt_use_preinstalled_gnugettext" = "yes" \
211 || test "$nls_cv_use_gnu_gettext" = "yes"; then
212 dnl Mark actions to use GNU gettext tools.
213 CATOBJEXT=.gmo
459dd1a6 214 fi
9208d17f 215 ])
459dd1a6 216
9208d17f
AD
217 if test "$gt_use_preinstalled_gnugettext" = "yes" \
218 || test "$nls_cv_use_gnu_gettext" = "yes"; then
219 AC_DEFINE(ENABLE_NLS, 1,
220 [Define to 1 if translation of program messages to the user's native language
221 is requested.])
222 else
223 USE_NLS=no
224 fi
225 fi
226
227 if test "$USE_NLS" = "yes"; then
228
229 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
230 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
231 AC_MSG_CHECKING([how to link with libintl])
232 AC_MSG_RESULT([$LIBINTL])
233 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
8c44d3ec
AD
234 fi
235
9208d17f
AD
236 dnl For backward compatibility. Some packages may be using this.
237 AC_DEFINE(HAVE_GETTEXT, 1,
238 [Define if the GNU gettext() function is already present or preinstalled.])
239 AC_DEFINE(HAVE_DCGETTEXT, 1,
240 [Define if the GNU dcgettext() function is already present or preinstalled.])
8c44d3ec 241 fi
1e24cc5b 242
9208d17f
AD
243 dnl We need to process the po/ directory.
244 POSUB=po
245 fi
1e24cc5b 246
9208d17f 247 ifelse(gt_included_intl, yes, [
1e24cc5b
AD
248 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
249 dnl to 'yes' because some of the testsuite requires it.
8c44d3ec 250 if test "$PACKAGE" = gettext; then
1e24cc5b
AD
251 BUILD_INCLUDED_LIBINTL=yes
252 fi
253
8c44d3ec 254 dnl Make all variables we use known to autoconf.
1e24cc5b 255 AC_SUBST(BUILD_INCLUDED_LIBINTL)
8c44d3ec 256 AC_SUBST(USE_INCLUDED_LIBINTL)
8c44d3ec 257 AC_SUBST(CATOBJEXT)
8c44d3ec 258 AC_SUBST(INTLOBJS)
1e24cc5b
AD
259
260 dnl For backward compatibility. Some configure.ins may be using this.
261 nls_cv_header_intl=
262 nls_cv_header_libgt=
263
264 dnl For backward compatibility. Some Makefiles may be using this.
265 DATADIRNAME=share
266 AC_SUBST(DATADIRNAME)
267
268 dnl For backward compatibility. Some Makefiles may be using this.
269 INSTOBJEXT=.mo
270 AC_SUBST(INSTOBJEXT)
271
272 dnl For backward compatibility. Some Makefiles may be using this.
273 GENCAT=gencat
274 AC_SUBST(GENCAT)
9208d17f
AD
275
276 dnl Enable libtool support if the surrounding package wishes it.
277 INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
278 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
8c44d3ec
AD
279 ])
280
9208d17f
AD
281 dnl For backward compatibility. Some Makefiles may be using this.
282 INTLLIBS="$LIBINTL"
283 AC_SUBST(INTLLIBS)
284
285 dnl Make all documented variables known to autoconf.
286 AC_SUBST(LIBINTL)
287 AC_SUBST(LTLIBINTL)
288 AC_SUBST(POSUB)
289])
290
291
292dnl Checks for all prerequisites of the po subdirectory,
293dnl except for USE_NLS.
294AC_DEFUN([AM_PO_SUBDIRS],
295[
296 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
297 AC_REQUIRE([AC_PROG_INSTALL])dnl
298 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
299
300 dnl Perform the following tests also if --disable-nls has been given,
301 dnl because they are needed for "make dist" to work.
302
303 dnl Search for GNU msgfmt in the PATH.
304 dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
305 dnl The second test excludes FreeBSD msgfmt.
306 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
307 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
308 (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
309 :)
310 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
311
312 dnl Search for GNU xgettext 0.11 or newer in the PATH.
313 dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
314 dnl The second test excludes FreeBSD xgettext.
315 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
316 [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
317 (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
318 :)
319 dnl Remove leftover from FreeBSD xgettext call.
320 rm -f messages.po
321
322 dnl Search for GNU msgmerge 0.11 or newer in the PATH.
323 AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
324 [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
325
326 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
327 dnl Test whether we really found GNU msgfmt.
328 if test "$GMSGFMT" != ":"; then
329 dnl If it is no GNU msgfmt we define it as : so that the
330 dnl Makefiles still can work.
331 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
332 (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
333 : ;
334 else
335 GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
336 AC_MSG_RESULT(
337 [found $GMSGFMT program is not GNU msgfmt; ignore it])
338 GMSGFMT=":"
339 fi
340 fi
341
342 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
343 dnl Test whether we really found GNU xgettext.
344 if test "$XGETTEXT" != ":"; then
345 dnl If it is no GNU xgettext we define it as : so that the
346 dnl Makefiles still can work.
347 if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
348 (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
349 : ;
350 else
351 AC_MSG_RESULT(
352 [found xgettext program is not GNU xgettext; ignore it])
353 XGETTEXT=":"
354 fi
355 dnl Remove leftover from FreeBSD xgettext call.
356 rm -f messages.po
357 fi
358
359 AC_OUTPUT_COMMANDS([
360 for ac_file in $CONFIG_FILES; do
361 # Support "outfile[:infile[:infile...]]"
362 case "$ac_file" in
363 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
364 esac
365 # PO directories have a Makefile.in generated from Makefile.in.in.
366 case "$ac_file" in */Makefile.in)
367 # Adjust a relative srcdir.
368 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
369 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
370 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
371 # In autoconf-2.13 it is called $ac_given_srcdir.
372 # In autoconf-2.50 it is called $srcdir.
373 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
374 case "$ac_given_srcdir" in
375 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
376 /*) top_srcdir="$ac_given_srcdir" ;;
377 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
378 esac
379 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
380 rm -f "$ac_dir/POTFILES"
381 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
382 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
383 # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
384 # on $ac_dir but don't depend on user-specified configuration
385 # parameters.
386 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
387 # The LINGUAS file contains the set of available languages.
388 if test -n "$ALL_LINGUAS"; then
389 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
390 fi
391 ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
392 # Hide the ALL_LINGUAS assigment from automake.
393 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
394 fi
395 case "$ac_given_srcdir" in
396 .) srcdirpre= ;;
397 *) srcdirpre='$(srcdir)/' ;;
398 esac
399 POFILES=
400 GMOFILES=
401 UPDATEPOFILES=
402 DUMMYPOFILES=
403 for lang in $ALL_LINGUAS; do
404 POFILES="$POFILES $srcdirpre$lang.po"
405 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
406 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
407 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
408 done
409 # CATALOGS depends on both $ac_dir and the user's LINGUAS
410 # environment variable.
411 INST_LINGUAS=
412 if test -n "$ALL_LINGUAS"; then
413 for presentlang in $ALL_LINGUAS; do
414 useit=no
415 if test "%UNSET%" != "$LINGUAS"; then
416 desiredlanguages="$LINGUAS"
417 else
418 desiredlanguages="$ALL_LINGUAS"
419 fi
420 for desiredlang in $desiredlanguages; do
421 # Use the presentlang catalog if desiredlang is
422 # a. equal to presentlang, or
423 # b. a variant of presentlang (because in this case,
424 # presentlang can be used as a fallback for messages
425 # which are not translated in the desiredlang catalog).
426 case "$desiredlang" in
427 "$presentlang"*) useit=yes;;
428 esac
429 done
430 if test $useit = yes; then
431 INST_LINGUAS="$INST_LINGUAS $presentlang"
432 fi
433 done
434 fi
435 CATALOGS=
436 if test -n "$INST_LINGUAS"; then
437 for lang in $INST_LINGUAS; do
438 CATALOGS="$CATALOGS $lang.gmo"
439 done
440 fi
441 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
442 sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
443 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
444 if test -f "$f"; then
445 case "$f" in
446 *.orig | *.bak | *~) ;;
447 *) cat "$f" >> "$ac_dir/Makefile" ;;
448 esac
449 fi
450 done
451 fi
452 ;;
453 esac
454 done],
455 [# Capture the value of obsolete $ALL_LINGUAS because we need it to compute
456 # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
457 # from automake.
458 eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
459 # Capture the value of LINGUAS because we need it to compute CATALOGS.
460 LINGUAS="${LINGUAS-%UNSET%}"
461 ])
462])
463
464
465dnl Checks for all prerequisites of the intl subdirectory,
466dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
467dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
468AC_DEFUN([AM_INTL_SUBDIR],
469[
470 AC_REQUIRE([AC_PROG_INSTALL])dnl
471 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
472 AC_REQUIRE([AC_PROG_CC])dnl
473 AC_REQUIRE([AC_CANONICAL_HOST])dnl
474 AC_REQUIRE([AC_PROG_RANLIB])dnl
475 AC_REQUIRE([AC_ISC_POSIX])dnl
476 AC_REQUIRE([AC_HEADER_STDC])dnl
477 AC_REQUIRE([AC_C_CONST])dnl
478 AC_REQUIRE([AC_C_INLINE])dnl
479 AC_REQUIRE([AC_TYPE_OFF_T])dnl
480 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
481 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
482 AC_REQUIRE([AC_FUNC_MMAP])dnl
483 AC_REQUIRE([jm_GLIBC21])dnl
484
485 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
1e24cc5b 486stdlib.h string.h unistd.h sys/param.h])
9208d17f
AD
487 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
488geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
489strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
490
491 AM_ICONV
492 AM_LANGINFO_CODESET
493 AM_LC_MESSAGES
494
495 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
496 dnl because plural.y uses bison specific features. It requires at least
497 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
498 dnl compile.
499 dnl bison is only needed for the maintainer (who touches plural.y). But in
500 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
501 dnl the rule in general Makefile. Now, some people carelessly touch the
502 dnl files or have a broken "make" program, hence the plural.c rule will
503 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
504 dnl present or too old.
505 AC_CHECK_PROGS([INTLBISON], [bison])
506 if test -z "$INTLBISON"; then
507 ac_verc_fail=yes
508 else
509 dnl Found it, now check the version.
510 AC_MSG_CHECKING([version of bison])
511changequote(<<,>>)dnl
512 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
513 case $ac_prog_version in
514 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
515 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
516changequote([,])dnl
517 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
518 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
519 esac
520 AC_MSG_RESULT([$ac_prog_version])
521 fi
522 if test $ac_verc_fail = yes; then
523 INTLBISON=:
524 fi
525])
526
527
528AC_DEFUN([AM_MKINSTALLDIRS],
529[
530 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
531 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
532 dnl Try to locate is.
533 MKINSTALLDIRS=
534 if test -n "$ac_aux_dir"; then
535 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
536 fi
537 if test -z "$MKINSTALLDIRS"; then
538 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
539 fi
540 AC_SUBST(MKINSTALLDIRS)
541])