source: trunk/diffutils/m4/gettext.m4@ 2731

Last change on this file since 2731 was 2640, checked in by bird, 19 years ago

drive specs.

File size: 21.7 KB
Line 
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
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
32dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
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.
37dnl INTLDIR is used to find the intl libraries. If empty,
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
51dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
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
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])
77
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, [
87 BUILD_INCLUDED_LIBINTL=no
88 USE_INCLUDED_LIBINTL=no
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, [
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
107 ])
108 dnl User does not insist on using GNU NLS library. Figure out what
109 dnl to use. If GNU gettext is available we use this. Else we have
110 dnl to fall back to GNU NLS library.
111
112 dnl Add a version number to the cache macros.
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
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)"
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/ $//'`
208 fi
209
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
214 fi
215 ])
216
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])
234 fi
235
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.])
241 fi
242
243 dnl We need to process the po/ directory.
244 POSUB=po
245 fi
246
247 ifelse(gt_included_intl, yes, [
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.
250 if test "$PACKAGE" = gettext; then
251 BUILD_INCLUDED_LIBINTL=yes
252 fi
253
254 dnl Make all variables we use known to autoconf.
255 AC_SUBST(BUILD_INCLUDED_LIBINTL)
256 AC_SUBST(USE_INCLUDED_LIBINTL)
257 AC_SUBST(CATOBJEXT)
258 AC_SUBST(INTLOBJS)
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)
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)
279 ])
280
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 [/\\]* | [a-zA-Z]:*) # bird
377 top_srcdir="$ac_given_srcdir" ;;
378 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
379 esac
380 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
381 rm -f "$ac_dir/POTFILES"
382 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
383 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
384 # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
385 # on $ac_dir but don't depend on user-specified configuration
386 # parameters.
387 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
388 # The LINGUAS file contains the set of available languages.
389 if test -n "$ALL_LINGUAS"; then
390 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
391 fi
392 ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
393 # Hide the ALL_LINGUAS assigment from automake.
394 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
395 fi
396 case "$ac_given_srcdir" in
397 .) srcdirpre= ;;
398 *) srcdirpre='$(srcdir)/' ;;
399 esac
400 POFILES=
401 GMOFILES=
402 UPDATEPOFILES=
403 DUMMYPOFILES=
404 for lang in $ALL_LINGUAS; do
405 POFILES="$POFILES $srcdirpre$lang.po"
406 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
407 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
408 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
409 done
410 # CATALOGS depends on both $ac_dir and the user's LINGUAS
411 # environment variable.
412 INST_LINGUAS=
413 if test -n "$ALL_LINGUAS"; then
414 for presentlang in $ALL_LINGUAS; do
415 useit=no
416 if test "%UNSET%" != "$LINGUAS"; then
417 desiredlanguages="$LINGUAS"
418 else
419 desiredlanguages="$ALL_LINGUAS"
420 fi
421 for desiredlang in $desiredlanguages; do
422 # Use the presentlang catalog if desiredlang is
423 # a. equal to presentlang, or
424 # b. a variant of presentlang (because in this case,
425 # presentlang can be used as a fallback for messages
426 # which are not translated in the desiredlang catalog).
427 case "$desiredlang" in
428 "$presentlang"*) useit=yes;;
429 esac
430 done
431 if test $useit = yes; then
432 INST_LINGUAS="$INST_LINGUAS $presentlang"
433 fi
434 done
435 fi
436 CATALOGS=
437 if test -n "$INST_LINGUAS"; then
438 for lang in $INST_LINGUAS; do
439 CATALOGS="$CATALOGS $lang.gmo"
440 done
441 fi
442 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
443 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"
444 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
445 if test -f "$f"; then
446 case "$f" in
447 *.orig | *.bak | *~) ;;
448 *) cat "$f" >> "$ac_dir/Makefile" ;;
449 esac
450 fi
451 done
452 fi
453 ;;
454 esac
455 done],
456 [# Capture the value of obsolete $ALL_LINGUAS because we need it to compute
457 # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
458 # from automake.
459 eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
460 # Capture the value of LINGUAS because we need it to compute CATALOGS.
461 LINGUAS="${LINGUAS-%UNSET%}"
462 ])
463])
464
465
466dnl Checks for all prerequisites of the intl subdirectory,
467dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
468dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
469AC_DEFUN([AM_INTL_SUBDIR],
470[
471 AC_REQUIRE([AC_PROG_INSTALL])dnl
472 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
473 AC_REQUIRE([AC_PROG_CC])dnl
474 AC_REQUIRE([AC_CANONICAL_HOST])dnl
475 AC_REQUIRE([AC_PROG_RANLIB])dnl
476 AC_REQUIRE([AC_ISC_POSIX])dnl
477 AC_REQUIRE([AC_HEADER_STDC])dnl
478 AC_REQUIRE([AC_C_CONST])dnl
479 AC_REQUIRE([AC_C_INLINE])dnl
480 AC_REQUIRE([AC_TYPE_OFF_T])dnl
481 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
482 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
483 AC_REQUIRE([AC_FUNC_MMAP])dnl
484 AC_REQUIRE([jm_GLIBC21])dnl
485
486 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
487stdlib.h string.h unistd.h sys/param.h])
488 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
489geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
490strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
491
492 AM_ICONV
493 AM_LANGINFO_CODESET
494 AM_LC_MESSAGES
495
496 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
497 dnl because plural.y uses bison specific features. It requires at least
498 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
499 dnl compile.
500 dnl bison is only needed for the maintainer (who touches plural.y). But in
501 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
502 dnl the rule in general Makefile. Now, some people carelessly touch the
503 dnl files or have a broken "make" program, hence the plural.c rule will
504 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
505 dnl present or too old.
506 AC_CHECK_PROGS([INTLBISON], [bison])
507 if test -z "$INTLBISON"; then
508 ac_verc_fail=yes
509 else
510 dnl Found it, now check the version.
511 AC_MSG_CHECKING([version of bison])
512changequote(<<,>>)dnl
513 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
514 case $ac_prog_version in
515 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
516 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
517changequote([,])dnl
518 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
519 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
520 esac
521 AC_MSG_RESULT([$ac_prog_version])
522 fi
523 if test $ac_verc_fail = yes; then
524 INTLBISON=:
525 fi
526])
527
528
529AC_DEFUN([AM_MKINSTALLDIRS],
530[
531 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
532 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
533 dnl Try to locate is.
534 MKINSTALLDIRS=
535 if test -n "$ac_aux_dir"; then
536 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
537 fi
538 if test -z "$MKINSTALLDIRS"; then
539 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
540 fi
541 AC_SUBST(MKINSTALLDIRS)
542])
Note: See TracBrowser for help on using the repository browser.