.
[platform/upstream/coreutils.git] / aclocal.m4
1 # generated automatically by aclocal 1.7.6 -*- Autoconf -*-
2
3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
4 # Free Software Foundation, Inc.
5 # This file is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 # Do all the work for Automake.                            -*- Autoconf -*-
15
16 # This macro actually does too much some checks are only needed if
17 # your package does certain things.  But this isn't really a big deal.
18
19 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
20 # Free Software Foundation, Inc.
21
22 # This program is free software; you can redistribute it and/or modify
23 # it under the terms of the GNU General Public License as published by
24 # the Free Software Foundation; either version 2, or (at your option)
25 # any later version.
26
27 # This program is distributed in the hope that it will be useful,
28 # but WITHOUT ANY WARRANTY; without even the implied warranty of
29 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
30 # GNU General Public License for more details.
31
32 # You should have received a copy of the GNU General Public License
33 # along with this program; if not, write to the Free Software
34 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
35 # 02111-1307, USA.
36
37 # serial 10
38
39 AC_PREREQ([2.54])
40
41 # Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
42 # the ones we care about.
43 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
44
45 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
46 # AM_INIT_AUTOMAKE([OPTIONS])
47 # -----------------------------------------------
48 # The call with PACKAGE and VERSION arguments is the old style
49 # call (pre autoconf-2.50), which is being phased out.  PACKAGE
50 # and VERSION should now be passed to AC_INIT and removed from
51 # the call to AM_INIT_AUTOMAKE.
52 # We support both call styles for the transition.  After
53 # the next Automake release, Autoconf can make the AC_INIT
54 # arguments mandatory, and then we can depend on a new Autoconf
55 # release and drop the old call support.
56 AC_DEFUN([AM_INIT_AUTOMAKE],
57 [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
58  AC_REQUIRE([AC_PROG_INSTALL])dnl
59 # test to see if srcdir already configured
60 if test "`cd $srcdir && pwd`" != "`pwd`" &&
61    test -f $srcdir/config.status; then
62   AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
63 fi
64
65 # test whether we have cygpath
66 if test -z "$CYGPATH_W"; then
67   if (cygpath --version) >/dev/null 2>/dev/null; then
68     CYGPATH_W='cygpath -w'
69   else
70     CYGPATH_W=echo
71   fi
72 fi
73 AC_SUBST([CYGPATH_W])
74
75 # Define the identity of the package.
76 dnl Distinguish between old-style and new-style calls.
77 m4_ifval([$2],
78 [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
79  AC_SUBST([PACKAGE], [$1])dnl
80  AC_SUBST([VERSION], [$2])],
81 [_AM_SET_OPTIONS([$1])dnl
82  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
83  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
84
85 _AM_IF_OPTION([no-define],,
86 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
87  AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
88
89 # Some tools Automake needs.
90 AC_REQUIRE([AM_SANITY_CHECK])dnl
91 AC_REQUIRE([AC_ARG_PROGRAM])dnl
92 AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
93 AM_MISSING_PROG(AUTOCONF, autoconf)
94 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
95 AM_MISSING_PROG(AUTOHEADER, autoheader)
96 AM_MISSING_PROG(MAKEINFO, makeinfo)
97 AM_MISSING_PROG(AMTAR, tar)
98 AM_PROG_INSTALL_SH
99 AM_PROG_INSTALL_STRIP
100 # We need awk for the "check" target.  The system "awk" is bad on
101 # some platforms.
102 AC_REQUIRE([AC_PROG_AWK])dnl
103 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
104 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
105
106 _AM_IF_OPTION([no-dependencies],,
107 [AC_PROVIDE_IFELSE([AC_PROG_CC],
108                   [_AM_DEPENDENCIES(CC)],
109                   [define([AC_PROG_CC],
110                           defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
111 AC_PROVIDE_IFELSE([AC_PROG_CXX],
112                   [_AM_DEPENDENCIES(CXX)],
113                   [define([AC_PROG_CXX],
114                           defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
115 ])
116 ])
117
118
119 # When config.status generates a header, we must update the stamp-h file.
120 # This file resides in the same directory as the config header
121 # that is generated.  The stamp files are numbered to have different names.
122
123 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
124 # loop where config.status creates the headers, so we can generate
125 # our stamp files there.
126 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
127 [# Compute $1's index in $config_headers.
128 _am_stamp_count=1
129 for _am_header in $config_headers :; do
130   case $_am_header in
131     $1 | $1:* )
132       break ;;
133     * )
134       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
135   esac
136 done
137 echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
138
139 # Copyright 2002  Free Software Foundation, Inc.
140
141 # This program is free software; you can redistribute it and/or modify
142 # it under the terms of the GNU General Public License as published by
143 # the Free Software Foundation; either version 2, or (at your option)
144 # any later version.
145
146 # This program is distributed in the hope that it will be useful,
147 # but WITHOUT ANY WARRANTY; without even the implied warranty of
148 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
149 # GNU General Public License for more details.
150
151 # You should have received a copy of the GNU General Public License
152 # along with this program; if not, write to the Free Software
153 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
154
155 # AM_AUTOMAKE_VERSION(VERSION)
156 # ----------------------------
157 # Automake X.Y traces this macro to ensure aclocal.m4 has been
158 # generated from the m4 files accompanying Automake X.Y.
159 AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
160
161 # AM_SET_CURRENT_AUTOMAKE_VERSION
162 # -------------------------------
163 # Call AM_AUTOMAKE_VERSION so it can be traced.
164 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
165 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
166          [AM_AUTOMAKE_VERSION([1.7.6])])
167
168 # Helper functions for option handling.                    -*- Autoconf -*-
169
170 # Copyright 2001, 2002  Free Software Foundation, Inc.
171
172 # This program is free software; you can redistribute it and/or modify
173 # it under the terms of the GNU General Public License as published by
174 # the Free Software Foundation; either version 2, or (at your option)
175 # any later version.
176
177 # This program is distributed in the hope that it will be useful,
178 # but WITHOUT ANY WARRANTY; without even the implied warranty of
179 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
180 # GNU General Public License for more details.
181
182 # You should have received a copy of the GNU General Public License
183 # along with this program; if not, write to the Free Software
184 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
185 # 02111-1307, USA.
186
187 # serial 2
188
189 # _AM_MANGLE_OPTION(NAME)
190 # -----------------------
191 AC_DEFUN([_AM_MANGLE_OPTION],
192 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
193
194 # _AM_SET_OPTION(NAME)
195 # ------------------------------
196 # Set option NAME.  Presently that only means defining a flag for this option.
197 AC_DEFUN([_AM_SET_OPTION],
198 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
199
200 # _AM_SET_OPTIONS(OPTIONS)
201 # ----------------------------------
202 # OPTIONS is a space-separated list of Automake options.
203 AC_DEFUN([_AM_SET_OPTIONS],
204 [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
205
206 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
207 # -------------------------------------------
208 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
209 AC_DEFUN([_AM_IF_OPTION],
210 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
211
212 #
213 # Check to make sure that the build environment is sane.
214 #
215
216 # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
217
218 # This program is free software; you can redistribute it and/or modify
219 # it under the terms of the GNU General Public License as published by
220 # the Free Software Foundation; either version 2, or (at your option)
221 # any later version.
222
223 # This program is distributed in the hope that it will be useful,
224 # but WITHOUT ANY WARRANTY; without even the implied warranty of
225 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
226 # GNU General Public License for more details.
227
228 # You should have received a copy of the GNU General Public License
229 # along with this program; if not, write to the Free Software
230 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
231 # 02111-1307, USA.
232
233 # serial 3
234
235 # AM_SANITY_CHECK
236 # ---------------
237 AC_DEFUN([AM_SANITY_CHECK],
238 [AC_MSG_CHECKING([whether build environment is sane])
239 # Just in case
240 sleep 1
241 echo timestamp > conftest.file
242 # Do `set' in a subshell so we don't clobber the current shell's
243 # arguments.  Must try -L first in case configure is actually a
244 # symlink; some systems play weird games with the mod time of symlinks
245 # (eg FreeBSD returns the mod time of the symlink's containing
246 # directory).
247 if (
248    set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
249    if test "$[*]" = "X"; then
250       # -L didn't work.
251       set X `ls -t $srcdir/configure conftest.file`
252    fi
253    rm -f conftest.file
254    if test "$[*]" != "X $srcdir/configure conftest.file" \
255       && test "$[*]" != "X conftest.file $srcdir/configure"; then
256
257       # If neither matched, then we have a broken ls.  This can happen
258       # if, for instance, CONFIG_SHELL is bash and it inherits a
259       # broken ls alias from the environment.  This has actually
260       # happened.  Such a system could not be considered "sane".
261       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
262 alias in your environment])
263    fi
264
265    test "$[2]" = conftest.file
266    )
267 then
268    # Ok.
269    :
270 else
271    AC_MSG_ERROR([newly created file is older than distributed files!
272 Check your system clock])
273 fi
274 AC_MSG_RESULT(yes)])
275
276 #  -*- Autoconf -*-
277
278
279 # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
280
281 # This program is free software; you can redistribute it and/or modify
282 # it under the terms of the GNU General Public License as published by
283 # the Free Software Foundation; either version 2, or (at your option)
284 # any later version.
285
286 # This program is distributed in the hope that it will be useful,
287 # but WITHOUT ANY WARRANTY; without even the implied warranty of
288 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
289 # GNU General Public License for more details.
290
291 # You should have received a copy of the GNU General Public License
292 # along with this program; if not, write to the Free Software
293 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
294 # 02111-1307, USA.
295
296 # serial 3
297
298 # AM_MISSING_PROG(NAME, PROGRAM)
299 # ------------------------------
300 AC_DEFUN([AM_MISSING_PROG],
301 [AC_REQUIRE([AM_MISSING_HAS_RUN])
302 $1=${$1-"${am_missing_run}$2"}
303 AC_SUBST($1)])
304
305
306 # AM_MISSING_HAS_RUN
307 # ------------------
308 # Define MISSING if not defined so far and test if it supports --run.
309 # If it does, set am_missing_run to use it, otherwise, to nothing.
310 AC_DEFUN([AM_MISSING_HAS_RUN],
311 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
312 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
313 # Use eval to expand $SHELL
314 if eval "$MISSING --run true"; then
315   am_missing_run="$MISSING --run "
316 else
317   am_missing_run=
318   AC_MSG_WARN([`missing' script is too old or missing])
319 fi
320 ])
321
322 # AM_AUX_DIR_EXPAND
323
324 # Copyright 2001 Free Software Foundation, Inc.
325
326 # This program is free software; you can redistribute it and/or modify
327 # it under the terms of the GNU General Public License as published by
328 # the Free Software Foundation; either version 2, or (at your option)
329 # any later version.
330
331 # This program is distributed in the hope that it will be useful,
332 # but WITHOUT ANY WARRANTY; without even the implied warranty of
333 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
334 # GNU General Public License for more details.
335
336 # You should have received a copy of the GNU General Public License
337 # along with this program; if not, write to the Free Software
338 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
339 # 02111-1307, USA.
340
341 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
342 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
343 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
344 #
345 # Of course, Automake must honor this variable whenever it calls a
346 # tool from the auxiliary directory.  The problem is that $srcdir (and
347 # therefore $ac_aux_dir as well) can be either absolute or relative,
348 # depending on how configure is run.  This is pretty annoying, since
349 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
350 # source directory, any form will work fine, but in subdirectories a
351 # relative path needs to be adjusted first.
352 #
353 # $ac_aux_dir/missing
354 #    fails when called from a subdirectory if $ac_aux_dir is relative
355 # $top_srcdir/$ac_aux_dir/missing
356 #    fails if $ac_aux_dir is absolute,
357 #    fails when called from a subdirectory in a VPATH build with
358 #          a relative $ac_aux_dir
359 #
360 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
361 # are both prefixed by $srcdir.  In an in-source build this is usually
362 # harmless because $srcdir is `.', but things will broke when you
363 # start a VPATH build or use an absolute $srcdir.
364 #
365 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
366 # iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
367 #   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
368 # and then we would define $MISSING as
369 #   MISSING="\${SHELL} $am_aux_dir/missing"
370 # This will work as long as MISSING is not called from configure, because
371 # unfortunately $(top_srcdir) has no meaning in configure.
372 # However there are other variables, like CC, which are often used in
373 # configure, and could therefore not use this "fixed" $ac_aux_dir.
374 #
375 # Another solution, used here, is to always expand $ac_aux_dir to an
376 # absolute PATH.  The drawback is that using absolute paths prevent a
377 # configured tree to be moved without reconfiguration.
378
379 # Rely on autoconf to set up CDPATH properly.
380 AC_PREREQ([2.50])
381
382 AC_DEFUN([AM_AUX_DIR_EXPAND], [
383 # expand $ac_aux_dir to an absolute path
384 am_aux_dir=`cd $ac_aux_dir && pwd`
385 ])
386
387 # AM_PROG_INSTALL_SH
388 # ------------------
389 # Define $install_sh.
390
391 # Copyright 2001 Free Software Foundation, Inc.
392
393 # This program is free software; you can redistribute it and/or modify
394 # it under the terms of the GNU General Public License as published by
395 # the Free Software Foundation; either version 2, or (at your option)
396 # any later version.
397
398 # This program is distributed in the hope that it will be useful,
399 # but WITHOUT ANY WARRANTY; without even the implied warranty of
400 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
401 # GNU General Public License for more details.
402
403 # You should have received a copy of the GNU General Public License
404 # along with this program; if not, write to the Free Software
405 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
406 # 02111-1307, USA.
407
408 AC_DEFUN([AM_PROG_INSTALL_SH],
409 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
410 install_sh=${install_sh-"$am_aux_dir/install-sh"}
411 AC_SUBST(install_sh)])
412
413 # AM_PROG_INSTALL_STRIP
414
415 # Copyright 2001 Free Software Foundation, Inc.
416
417 # This program is free software; you can redistribute it and/or modify
418 # it under the terms of the GNU General Public License as published by
419 # the Free Software Foundation; either version 2, or (at your option)
420 # any later version.
421
422 # This program is distributed in the hope that it will be useful,
423 # but WITHOUT ANY WARRANTY; without even the implied warranty of
424 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
425 # GNU General Public License for more details.
426
427 # You should have received a copy of the GNU General Public License
428 # along with this program; if not, write to the Free Software
429 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
430 # 02111-1307, USA.
431
432 # One issue with vendor `install' (even GNU) is that you can't
433 # specify the program used to strip binaries.  This is especially
434 # annoying in cross-compiling environments, where the build's strip
435 # is unlikely to handle the host's binaries.
436 # Fortunately install-sh will honor a STRIPPROG variable, so we
437 # always use install-sh in `make install-strip', and initialize
438 # STRIPPROG with the value of the STRIP variable (set by the user).
439 AC_DEFUN([AM_PROG_INSTALL_STRIP],
440 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
441 # Installed binaries are usually stripped using `strip' when the user
442 # run `make install-strip'.  However `strip' might not be the right
443 # tool to use in cross-compilation environments, therefore Automake
444 # will honor the `STRIP' environment variable to overrule this program.
445 dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
446 if test "$cross_compiling" != no; then
447   AC_CHECK_TOOL([STRIP], [strip], :)
448 fi
449 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
450 AC_SUBST([INSTALL_STRIP_PROGRAM])])
451
452 #                                                          -*- Autoconf -*-
453 # Copyright (C) 2003  Free Software Foundation, Inc.
454
455 # This program is free software; you can redistribute it and/or modify
456 # it under the terms of the GNU General Public License as published by
457 # the Free Software Foundation; either version 2, or (at your option)
458 # any later version.
459
460 # This program is distributed in the hope that it will be useful,
461 # but WITHOUT ANY WARRANTY; without even the implied warranty of
462 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
463 # GNU General Public License for more details.
464
465 # You should have received a copy of the GNU General Public License
466 # along with this program; if not, write to the Free Software
467 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
468 # 02111-1307, USA.
469
470 # serial 1
471
472 # Check whether the underlying file-system supports filenames
473 # with a leading dot.  For instance MS-DOS doesn't.
474 AC_DEFUN([AM_SET_LEADING_DOT],
475 [rm -rf .tst 2>/dev/null
476 mkdir .tst 2>/dev/null
477 if test -d .tst; then
478   am__leading_dot=.
479 else
480   am__leading_dot=_
481 fi
482 rmdir .tst 2>/dev/null
483 AC_SUBST([am__leading_dot])])
484
485 # serial 5                                              -*- Autoconf -*-
486
487 # Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
488
489 # This program is free software; you can redistribute it and/or modify
490 # it under the terms of the GNU General Public License as published by
491 # the Free Software Foundation; either version 2, or (at your option)
492 # any later version.
493
494 # This program is distributed in the hope that it will be useful,
495 # but WITHOUT ANY WARRANTY; without even the implied warranty of
496 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
497 # GNU General Public License for more details.
498
499 # You should have received a copy of the GNU General Public License
500 # along with this program; if not, write to the Free Software
501 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
502 # 02111-1307, USA.
503
504
505 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
506 # written in clear, in which case automake, when reading aclocal.m4,
507 # will think it sees a *use*, and therefore will trigger all it's
508 # C support machinery.  Also note that it means that autoscan, seeing
509 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
510
511
512
513 # _AM_DEPENDENCIES(NAME)
514 # ----------------------
515 # See how the compiler implements dependency checking.
516 # NAME is "CC", "CXX", "GCJ", or "OBJC".
517 # We try a few techniques and use that to set a single cache variable.
518 #
519 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
520 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
521 # dependency, and given that the user is not expected to run this macro,
522 # just rely on AC_PROG_CC.
523 AC_DEFUN([_AM_DEPENDENCIES],
524 [AC_REQUIRE([AM_SET_DEPDIR])dnl
525 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
526 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
527 AC_REQUIRE([AM_DEP_TRACK])dnl
528
529 ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
530        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
531        [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
532        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
533                    [depcc="$$1"   am_compiler_list=])
534
535 AC_CACHE_CHECK([dependency style of $depcc],
536                [am_cv_$1_dependencies_compiler_type],
537 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
538   # We make a subdir and do the tests there.  Otherwise we can end up
539   # making bogus files that we don't know about and never remove.  For
540   # instance it was reported that on HP-UX the gcc test will end up
541   # making a dummy file named `D' -- because `-MD' means `put the output
542   # in D'.
543   mkdir conftest.dir
544   # Copy depcomp to subdir because otherwise we won't find it if we're
545   # using a relative directory.
546   cp "$am_depcomp" conftest.dir
547   cd conftest.dir
548   # We will build objects and dependencies in a subdirectory because
549   # it helps to detect inapplicable dependency modes.  For instance
550   # both Tru64's cc and ICC support -MD to output dependencies as a
551   # side effect of compilation, but ICC will put the dependencies in
552   # the current directory while Tru64 will put them in the object
553   # directory.
554   mkdir sub
555
556   am_cv_$1_dependencies_compiler_type=none
557   if test "$am_compiler_list" = ""; then
558      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
559   fi
560   for depmode in $am_compiler_list; do
561     # Setup a source with many dependencies, because some compilers
562     # like to wrap large dependency lists on column 80 (with \), and
563     # we should not choose a depcomp mode which is confused by this.
564     #
565     # We need to recreate these files for each test, as the compiler may
566     # overwrite some of them when testing with obscure command lines.
567     # This happens at least with the AIX C compiler.
568     : > sub/conftest.c
569     for i in 1 2 3 4 5 6; do
570       echo '#include "conftst'$i'.h"' >> sub/conftest.c
571       : > sub/conftst$i.h
572     done
573     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
574
575     case $depmode in
576     nosideeffect)
577       # after this tag, mechanisms are not by side-effect, so they'll
578       # only be used when explicitly requested
579       if test "x$enable_dependency_tracking" = xyes; then
580         continue
581       else
582         break
583       fi
584       ;;
585     none) break ;;
586     esac
587     # We check with `-c' and `-o' for the sake of the "dashmstdout"
588     # mode.  It turns out that the SunPro C++ compiler does not properly
589     # handle `-M -o', and we need to detect this.
590     if depmode=$depmode \
591        source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
592        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
593        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
594          >/dev/null 2>conftest.err &&
595        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
596        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
597        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
598       # icc doesn't choke on unknown options, it will just issue warnings
599       # (even with -Werror).  So we grep stderr for any message
600       # that says an option was ignored.
601       if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
602         am_cv_$1_dependencies_compiler_type=$depmode
603         break
604       fi
605     fi
606   done
607
608   cd ..
609   rm -rf conftest.dir
610 else
611   am_cv_$1_dependencies_compiler_type=none
612 fi
613 ])
614 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
615 AM_CONDITIONAL([am__fastdep$1], [
616   test "x$enable_dependency_tracking" != xno \
617   && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
618 ])
619
620
621 # AM_SET_DEPDIR
622 # -------------
623 # Choose a directory name for dependency files.
624 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
625 AC_DEFUN([AM_SET_DEPDIR],
626 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
627 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
628 ])
629
630
631 # AM_DEP_TRACK
632 # ------------
633 AC_DEFUN([AM_DEP_TRACK],
634 [AC_ARG_ENABLE(dependency-tracking,
635 [  --disable-dependency-tracking Speeds up one-time builds
636   --enable-dependency-tracking  Do not reject slow dependency extractors])
637 if test "x$enable_dependency_tracking" != xno; then
638   am_depcomp="$ac_aux_dir/depcomp"
639   AMDEPBACKSLASH='\'
640 fi
641 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
642 AC_SUBST([AMDEPBACKSLASH])
643 ])
644
645 # Generate code to set up dependency tracking.   -*- Autoconf -*-
646
647 # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
648
649 # This program is free software; you can redistribute it and/or modify
650 # it under the terms of the GNU General Public License as published by
651 # the Free Software Foundation; either version 2, or (at your option)
652 # any later version.
653
654 # This program is distributed in the hope that it will be useful,
655 # but WITHOUT ANY WARRANTY; without even the implied warranty of
656 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
657 # GNU General Public License for more details.
658
659 # You should have received a copy of the GNU General Public License
660 # along with this program; if not, write to the Free Software
661 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
662 # 02111-1307, USA.
663
664 #serial 2
665
666 # _AM_OUTPUT_DEPENDENCY_COMMANDS
667 # ------------------------------
668 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
669 [for mf in $CONFIG_FILES; do
670   # Strip MF so we end up with the name of the file.
671   mf=`echo "$mf" | sed -e 's/:.*$//'`
672   # Check whether this is an Automake generated Makefile or not.
673   # We used to match only the files named `Makefile.in', but
674   # some people rename them; so instead we look at the file content.
675   # Grep'ing the first line is not enough: some people post-process
676   # each Makefile.in and add a new line on top of each file to say so.
677   # So let's grep whole file.
678   if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
679     dirpart=`AS_DIRNAME("$mf")`
680   else
681     continue
682   fi
683   grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
684   # Extract the definition of DEP_FILES from the Makefile without
685   # running `make'.
686   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
687   test -z "$DEPDIR" && continue
688   # When using ansi2knr, U may be empty or an underscore; expand it
689   U=`sed -n -e '/^U = / s///p' < "$mf"`
690   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
691   # We invoke sed twice because it is the simplest approach to
692   # changing $(DEPDIR) to its actual value in the expansion.
693   for file in `sed -n -e '
694     /^DEP_FILES = .*\\\\$/ {
695       s/^DEP_FILES = //
696       :loop
697         s/\\\\$//
698         p
699         n
700         /\\\\$/ b loop
701       p
702     }
703     /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
704        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
705     # Make sure the directory exists.
706     test -f "$dirpart/$file" && continue
707     fdir=`AS_DIRNAME(["$file"])`
708     AS_MKDIR_P([$dirpart/$fdir])
709     # echo "creating $dirpart/$file"
710     echo '# dummy' > "$dirpart/$file"
711   done
712 done
713 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
714
715
716 # AM_OUTPUT_DEPENDENCY_COMMANDS
717 # -----------------------------
718 # This macro should only be invoked once -- use via AC_REQUIRE.
719 #
720 # This code is only required when automatic dependency tracking
721 # is enabled.  FIXME.  This creates each `.P' file that we will
722 # need in order to bootstrap the dependency handling code.
723 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
724 [AC_CONFIG_COMMANDS([depfiles],
725      [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
726      [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
727 ])
728
729 # Check to see how 'make' treats includes.      -*- Autoconf -*-
730
731 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
732
733 # This program is free software; you can redistribute it and/or modify
734 # it under the terms of the GNU General Public License as published by
735 # the Free Software Foundation; either version 2, or (at your option)
736 # any later version.
737
738 # This program is distributed in the hope that it will be useful,
739 # but WITHOUT ANY WARRANTY; without even the implied warranty of
740 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
741 # GNU General Public License for more details.
742
743 # You should have received a copy of the GNU General Public License
744 # along with this program; if not, write to the Free Software
745 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
746 # 02111-1307, USA.
747
748 # serial 2
749
750 # AM_MAKE_INCLUDE()
751 # -----------------
752 # Check to see how make treats includes.
753 AC_DEFUN([AM_MAKE_INCLUDE],
754 [am_make=${MAKE-make}
755 cat > confinc << 'END'
756 am__doit:
757         @echo done
758 .PHONY: am__doit
759 END
760 # If we don't find an include directive, just comment out the code.
761 AC_MSG_CHECKING([for style of include used by $am_make])
762 am__include="#"
763 am__quote=
764 _am_result=none
765 # First try GNU make style include.
766 echo "include confinc" > confmf
767 # We grep out `Entering directory' and `Leaving directory'
768 # messages which can occur if `w' ends up in MAKEFLAGS.
769 # In particular we don't look at `^make:' because GNU make might
770 # be invoked under some other name (usually "gmake"), in which
771 # case it prints its new name instead of `make'.
772 if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
773    am__include=include
774    am__quote=
775    _am_result=GNU
776 fi
777 # Now try BSD make style include.
778 if test "$am__include" = "#"; then
779    echo '.include "confinc"' > confmf
780    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
781       am__include=.include
782       am__quote="\""
783       _am_result=BSD
784    fi
785 fi
786 AC_SUBST([am__include])
787 AC_SUBST([am__quote])
788 AC_MSG_RESULT([$_am_result])
789 rm -f confinc confmf
790 ])
791
792 # AM_CONDITIONAL                                              -*- Autoconf -*-
793
794 # Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
795
796 # This program is free software; you can redistribute it and/or modify
797 # it under the terms of the GNU General Public License as published by
798 # the Free Software Foundation; either version 2, or (at your option)
799 # any later version.
800
801 # This program is distributed in the hope that it will be useful,
802 # but WITHOUT ANY WARRANTY; without even the implied warranty of
803 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
804 # GNU General Public License for more details.
805
806 # You should have received a copy of the GNU General Public License
807 # along with this program; if not, write to the Free Software
808 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
809 # 02111-1307, USA.
810
811 # serial 5
812
813 AC_PREREQ(2.52)
814
815 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
816 # -------------------------------------
817 # Define a conditional.
818 AC_DEFUN([AM_CONDITIONAL],
819 [ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
820         [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
821 AC_SUBST([$1_TRUE])
822 AC_SUBST([$1_FALSE])
823 if $2; then
824   $1_TRUE=
825   $1_FALSE='#'
826 else
827   $1_TRUE='#'
828   $1_FALSE=
829 fi
830 AC_CONFIG_COMMANDS_PRE(
831 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
832   AC_MSG_ERROR([conditional "$1" was never defined.
833 Usually this means the macro was only invoked conditionally.])
834 fi])])
835
836 # gl_USE_SYSTEM_EXTENSIONS
837 # ------------------------
838 # Enable extensions on systems that normally disable them,
839 # typically due to standards-conformance issues.
840 AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [
841   AC_REQUIRE([AC_GNU_SOURCE])
842   AH_VERBATIM([__EXTENSIONS__],
843 [/* Enable extensions on Solaris.  */
844 #ifndef __EXTENSIONS__
845 # undef __EXTENSIONS__
846 #endif])
847   AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
848   AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
849   AC_DEFINE([__EXTENSIONS__])
850 ])
851
852 #serial 5
853
854 dnl From Jim Meyering.
855 dnl Find a new-enough version of Perl.
856 dnl
857
858 AC_DEFUN([jm_PERL],
859 [
860   dnl FIXME: don't hard-code 5.003
861   dnl FIXME: should we cache the result?
862   AC_MSG_CHECKING([for perl5.003 or newer])
863   if test "${PERL+set}" = set; then
864     # `PERL' is set in the user's environment.
865     candidate_perl_names="$PERL"
866     perl_specified=yes
867   else
868     candidate_perl_names='perl perl5'
869     perl_specified=no
870   fi
871
872   found=no
873   AC_SUBST(PERL)
874   PERL="$am_missing_run perl"
875   for perl in $candidate_perl_names; do
876     # Run test in a subshell; some versions of sh will print an error if
877     # an executable is not found, even if stderr is redirected.
878     if ( $perl -e 'require 5.003; use File::Compare' ) > /dev/null 2>&1; then
879       PERL=$perl
880       found=yes
881       break
882     fi
883   done
884
885   AC_MSG_RESULT($found)
886   test $found = no && AC_MSG_WARN([
887 WARNING: You don't seem to have perl5.003 or newer installed, or you lack
888          a usable version of the Perl File::Compare module.  As a result,
889          you may be unable to run a few tests or to regenerate certain
890          files if you modify the sources from which they are derived.
891 ] )
892 ])
893
894 #serial 66   -*- autoconf -*-
895
896 m4_undefine([AC_LANG_SOURCE(C)])
897 dnl The following is identical to the definition in c.m4
898 dnl from the autoconf cvs repository on 2003-03-07.
899 dnl FIXME: remove this code once we upgrade to autoconf-2.58.
900
901 # We can't use '#line $LINENO "configure"' here, since
902 # Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09)
903 # rejects $LINENO greater than 32767, and some configure scripts
904 # are longer than 32767 lines.
905 m4_define([AC_LANG_SOURCE(C)],
906 [/* confdefs.h.  */
907 _ACEOF
908 cat confdefs.h >>conftest.$ac_ext
909 cat >>conftest.$ac_ext <<_ACEOF
910 /* end confdefs.h.  */
911 $1])
912
913
914 dnl Misc type-related macros for fileutils, sh-utils, textutils.
915
916 AC_DEFUN([jm_MACROS],
917 [
918   AC_PREREQ(2.57)
919
920   GNU_PACKAGE="GNU $PACKAGE"
921   AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
922     [The concatenation of the strings `GNU ', and PACKAGE.])
923   AC_SUBST(GNU_PACKAGE)
924
925   AM_MISSING_PROG(HELP2MAN, help2man)
926   AC_SUBST(OPTIONAL_BIN_PROGS)
927   AC_SUBST(MAN)
928   AC_SUBST(DF_PROG)
929
930   dnl This macro actually runs replacement code.  See isc-posix.m4.
931   AC_REQUIRE([AC_ISC_POSIX])dnl
932
933   jm_CHECK_ALL_TYPES
934   gl_REGEX
935
936   AC_REQUIRE([UTILS_HOST_OS])
937   AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
938   AC_REQUIRE([jm_BISON])
939   AC_REQUIRE([jm_ASSERT])
940   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
941   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
942   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
943   AC_REQUIRE([jm_CHECK_DECLS])
944
945   AC_REQUIRE([jm_PREREQ])
946
947   AC_REQUIRE([UTILS_FUNC_DIRFD])
948   AC_REQUIRE([AC_FUNC_ACL])
949   AC_REQUIRE([AC_FUNC_FTW])
950   AC_REQUIRE([jm_FUNC_LCHOWN])
951   AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
952   AC_REQUIRE([jm_FUNC_CHOWN])
953   AC_REQUIRE([gl_FUNC_MKTIME])
954   AC_REQUIRE([jm_FUNC_LSTAT])
955   AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
956   AC_REQUIRE([jm_FUNC_STAT])
957   AC_REQUIRE([AC_FUNC_REALLOC])
958   AC_REQUIRE([AC_FUNC_MALLOC])
959   AC_REQUIRE([AC_FUNC_STRERROR_R])
960   AC_REQUIRE([jm_FUNC_NANOSLEEP])
961   AC_REQUIRE([jm_FUNC_MEMCMP])
962   AC_REQUIRE([gl_MEMCOLL])
963   AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
964   AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
965   AC_REQUIRE([jm_FUNC_PUTENV])
966   AC_REQUIRE([jm_AFS])
967   AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
968   AC_REQUIRE([jm_AC_PREREQ_XSTRTOIMAX])
969   AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
970   AC_REQUIRE([gl_FUNC_FNMATCH_GNU])
971   AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
972   AC_REQUIRE([jm_FUNC_FPENDING])
973
974   # This is for od and stat, and any other program that
975   # uses the PRI.MAX macros from inttypes.h.
976   AC_REQUIRE([gt_INTTYPES_PRI])
977
978   AC_REQUIRE([jm_FUNC_GETGROUPS])
979
980   AC_REQUIRE([AC_FUNC_FSEEKO])
981   AC_REQUIRE([AC_FUNC_ALLOCA])
982   AC_REQUIRE([gl_FUNC_ALLOCA])
983
984   AC_REQUIRE([gl_ERROR])
985
986   AC_CONFIG_LIBOBJ_DIR([lib])
987   AC_FUNC_GETLOADAVG
988
989   AC_REQUIRE([jm_SYS_PROC_UPTIME])
990   AC_REQUIRE([jm_FUNC_FTRUNCATE])
991   AC_REQUIRE([vb_FUNC_RENAME])
992
993   AC_REPLACE_FUNCS(strcasecmp strncasecmp)
994   AC_REPLACE_FUNCS(dup2)
995   AC_REPLACE_FUNCS(gethostname getusershell)
996   AC_REPLACE_FUNCS(sig2str)
997   AC_REPLACE_FUNCS(strcspn stpcpy strstr strtol strtoul)
998   AC_REPLACE_FUNCS(strpbrk)
999   AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
1000   AC_REPLACE_FUNCS(atexit)
1001   AC_REPLACE_FUNCS(getpass)
1002
1003   # raise is used by at least sort and ls.
1004   AC_REPLACE_FUNCS(raise)
1005
1006   dnl used by e.g. intl/*domain.c and lib/canon-host.c
1007   AC_REPLACE_FUNCS(strdup)
1008
1009   AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset)
1010   AC_CHECK_FUNCS(getpagesize)
1011
1012   AC_REQUIRE([UTILS_FUNC_MKSTEMP])
1013
1014   # By default, argmatch should fail calling usage (1).
1015   AC_DEFINE(ARGMATCH_DIE, [usage (1)],
1016             [Define to the function xargmatch calls on failures.])
1017   AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
1018             [Define to the declaration of the xargmatch failure function.])
1019
1020   dnl Used to define SETVBUF in sys2.h.
1021   dnl This evokes the following warning from autoconf:
1022   dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
1023   AC_FUNC_SETVBUF_REVERSED
1024
1025   # used by sleep and shred
1026   # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
1027   # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
1028
1029   # Save and restore LIBS so e.g., -lrt, isn't added to it.  Otherwise, *all*
1030   # programs in the package would end up linked with that potentially-shared
1031   # library, inducing unnecessary run-time overhead.
1032   fetish_saved_libs=$LIBS
1033     AC_SEARCH_LIBS(clock_gettime, [rt posix4],
1034                    [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
1035     AC_SUBST(LIB_CLOCK_GETTIME)
1036     AC_CHECK_FUNCS(clock_gettime clock_settime)
1037   LIBS=$fetish_saved_libs
1038   AC_CHECK_FUNCS(gettimeofday)
1039   AC_FUNC_GETTIMEOFDAY_CLOBBER
1040
1041   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
1042   AC_REQUIRE([jm_FUNC_UTIME])
1043   AC_REQUIRE([gl_FUNC_VASPRINTF])
1044   AC_REQUIRE([gl_FUNC_VASNPRINTF])
1045
1046   AC_CHECK_FUNCS( \
1047     bcopy \
1048     endgrent \
1049     endpwent \
1050     fchdir \
1051     fdatasync \
1052     ftime \
1053     ftruncate \
1054     getcwd \
1055     gethrtime \
1056     getmntinfo \
1057     hasmntopt \
1058     isascii \
1059     iswspace \
1060     lchown \
1061     listmntent \
1062     localeconv \
1063     memcpy \
1064     mempcpy \
1065     mkfifo \
1066     realpath \
1067     sethostname \
1068     strchr \
1069     strerror \
1070     strrchr \
1071     sysctl \
1072     sysinfo \
1073     wcrtomb \
1074     tzset \
1075   )
1076
1077   # for test.c
1078   AC_CHECK_FUNCS(setreuid setregid)
1079
1080   AM_FUNC_GETLINE
1081   gl_GETNDELIM2
1082   AC_FUNC_OBSTACK
1083
1084   AC_FUNC_STRTOD
1085   AC_REQUIRE([UTILS_SYS_OPEN_MAX])
1086   AC_REQUIRE([GL_FUNC_GETCWD_PATH_MAX])
1087   AC_REQUIRE([GL_FUNC_READDIR])
1088
1089   # See if linking `seq' requires -lm.
1090   # It does on nearly every system.  The single exception (so far) is
1091   # BeOS which has all the math functions in the normal runtime library
1092   # and doesn't have a separate math library.
1093
1094   AC_SUBST(SEQ_LIBM)
1095   ac_seq_body='
1096      static double x, y;
1097      x = floor (x);
1098      x = rint (x);
1099      x = modf (x, &y);'
1100   AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
1101     [ac_seq_save_LIBS="$LIBS"
1102      LIBS="$LIBS -lm"
1103      AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
1104      LIBS="$ac_seq_save_LIBS"
1105     ])
1106
1107   AM_LANGINFO_CODESET
1108   jm_GLIBC21
1109   AM_ICONV
1110   jm_FUNC_UNLINK_BUSY_TEXT
1111
1112   # These tests are for df.
1113   jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
1114   jm_FSTYPENAME
1115   jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
1116   if test $list_mounted_fs = yes && test $space = yes; then
1117     DF_PROG='df$(EXEEXT)'
1118     AC_LIBOBJ(fsusage)
1119     AC_LIBOBJ(mountlist)
1120   fi
1121   AC_REQUIRE([jm_AC_DOS])
1122   AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
1123
1124   # If any of these functions don't exist (e.g. DJGPP 2.03),
1125   # use the corresponding stub.
1126   AC_CHECK_FUNC([fchdir], , [AC_LIBOBJ(fchdir-stub)])
1127   AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)])
1128   AC_CHECK_FUNC([lstat], , [AC_LIBOBJ(lstat-stub)])
1129   AC_CHECK_FUNC([readlink], , [AC_LIBOBJ(readlink-stub)])
1130   AC_REQUIRE([AM_STDBOOL_H])
1131
1132 ])
1133
1134 # These tests must be run before any use of AC_CHECK_TYPE,
1135 # because that macro compiles code that tests e.g., HAVE_UNISTD_H.
1136 # See the definition of ac_includes_default in `configure'.
1137 AC_DEFUN([jm_CHECK_ALL_HEADERS],
1138 [
1139   AC_CHECK_HEADERS( \
1140     errno.h  \
1141     fcntl.h \
1142     float.h \
1143     hurd.h \
1144     limits.h \
1145     memory.h \
1146     mntent.h \
1147     mnttab.h \
1148     netdb.h \
1149     paths.h \
1150     stdlib.h \
1151     stddef.h \
1152     stdint.h \
1153     string.h \
1154     sys/filsys.h \
1155     sys/fs/s5param.h \
1156     sys/fs_types.h \
1157     sys/fstyp.h \
1158     sys/ioctl.h \
1159     sys/mntent.h \
1160     sys/mount.h \
1161     sys/param.h \
1162     sys/resource.h \
1163     sys/socket.h \
1164     sys/statfs.h \
1165     sys/statvfs.h \
1166     sys/sysctl.h \
1167     sys/systeminfo.h \
1168     sys/time.h \
1169     sys/timeb.h \
1170     sys/vfs.h \
1171     sys/wait.h \
1172     syslog.h \
1173     termios.h \
1174     unistd.h \
1175     utime.h \
1176     values.h \
1177   )
1178 ])
1179
1180 # This macro must be invoked before any tests that run the compiler.
1181 AC_DEFUN([jm_CHECK_ALL_TYPES],
1182 [
1183   dnl This test must come as early as possible after the compiler configuration
1184   dnl tests, because the choice of the file model can (in principle) affect
1185   dnl whether functions and headers are available, whether they work, etc.
1186   AC_REQUIRE([AC_SYS_LARGEFILE])
1187
1188   dnl This test must precede tests of compiler characteristics like
1189   dnl that for the inline keyword, since it may change the degree to
1190   dnl which the compiler supports such features.
1191   AC_REQUIRE([AM_C_PROTOTYPES])
1192
1193   dnl Checks for typedefs, structures, and compiler characteristics.
1194   AC_REQUIRE([AC_C_BIGENDIAN])
1195   AC_REQUIRE([AC_C_CONST])
1196   AC_REQUIRE([AC_C_VOLATILE])
1197   AC_REQUIRE([AC_C_INLINE])
1198   AC_REQUIRE([AC_C_LONG_DOUBLE])
1199
1200   AC_REQUIRE([jm_CHECK_ALL_HEADERS])
1201   AC_REQUIRE([AC_HEADER_DIRENT])
1202   AC_REQUIRE([AC_HEADER_STDC])
1203   AC_CHECK_MEMBERS(
1204     [struct stat.st_author,
1205      struct stat.st_blksize],,,
1206     [$ac_includes_default
1207 #include <sys/stat.h>
1208   ])
1209   AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
1210
1211   AC_REQUIRE([AC_STRUCT_TM])
1212   AC_REQUIRE([AC_STRUCT_TIMEZONE])
1213   AC_REQUIRE([AC_HEADER_STAT])
1214   AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
1215   AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
1216   AC_REQUIRE([gl_TIMESPEC])
1217
1218   AC_REQUIRE([AC_TYPE_GETGROUPS])
1219   AC_REQUIRE([AC_TYPE_MODE_T])
1220   AC_REQUIRE([AC_TYPE_OFF_T])
1221   AC_REQUIRE([AC_TYPE_PID_T])
1222   AC_REQUIRE([AC_TYPE_SIGNAL])
1223   AC_REQUIRE([AC_TYPE_SIZE_T])
1224   AC_REQUIRE([AC_TYPE_UID_T])
1225   AC_CHECK_TYPE(ino_t, unsigned long)
1226
1227   gt_TYPE_SSIZE_T
1228
1229   dnl This relies on the fact that autoconf 2.14a's implementation of
1230   dnl AC_CHECK_TYPE checks includes unistd.h.
1231   AC_CHECK_TYPE(major_t, unsigned int)
1232   AC_CHECK_TYPE(minor_t, unsigned int)
1233
1234   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
1235   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
1236
1237   AC_REQUIRE([AC_HEADER_MAJOR])
1238   AC_REQUIRE([AC_HEADER_DIRENT])
1239
1240 ])
1241
1242 # isc-posix.m4 serial 2 (gettext-0.11.2)
1243 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
1244 dnl This file is free software, distributed under the terms of the GNU
1245 dnl General Public License.  As a special exception to the GNU General
1246 dnl Public License, this file may be distributed as part of a program
1247 dnl that contains a configuration script generated by Autoconf, under
1248 dnl the same distribution terms as the rest of that program.
1249
1250 # This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
1251
1252 # This test replaces the one in autoconf.
1253 # Currently this macro should have the same name as the autoconf macro
1254 # because gettext's gettext.m4 (distributed in the automake package)
1255 # still uses it.  Otherwise, the use in gettext.m4 makes autoheader
1256 # give these diagnostics:
1257 #   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
1258 #   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
1259
1260 undefine([AC_ISC_POSIX])
1261
1262 AC_DEFUN([AC_ISC_POSIX],
1263   [
1264     dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
1265     AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
1266   ]
1267 )
1268
1269 #serial 17
1270
1271 dnl Initially derived from code in GNU grep.
1272 dnl Mostly written by Jim Meyering.
1273
1274 AC_DEFUN([gl_REGEX],
1275 [
1276   jm_INCLUDED_REGEX([lib/regex.c])
1277 ])
1278
1279 dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
1280 dnl
1281 AC_DEFUN([jm_INCLUDED_REGEX],
1282   [
1283     dnl Even packages that don't use regex.c can use this macro.
1284     dnl Of course, for them it doesn't do anything.
1285
1286     # Assume we'll default to using the included regex.c.
1287     ac_use_included_regex=yes
1288
1289     # However, if the system regex support is good enough that it passes the
1290     # the following run test, then default to *not* using the included regex.c.
1291     # If cross compiling, assume the test would fail and use the included
1292     # regex.c.  The first failing regular expression is from `Spencer ere
1293     # test #75' in grep-2.3.
1294     AC_CACHE_CHECK([for working re_compile_pattern],
1295                    jm_cv_func_working_re_compile_pattern,
1296       AC_TRY_RUN(
1297 [#include <stdio.h>
1298 #include <string.h>
1299 #include <regex.h>
1300           int
1301           main ()
1302           {
1303             static struct re_pattern_buffer regex;
1304             const char *s;
1305             struct re_registers regs;
1306             re_set_syntax (RE_SYNTAX_POSIX_EGREP);
1307             memset (&regex, 0, sizeof (regex));
1308             [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, &regex);]
1309             /* This should fail with _Invalid character class name_ error.  */
1310             if (!s)
1311               exit (1);
1312
1313             /* This should succeed, but doesn't for e.g. glibc-2.1.3.  */
1314             memset (&regex, 0, sizeof (regex));
1315             s = re_compile_pattern ("{1", 2, &regex);
1316
1317             if (s)
1318               exit (1);
1319
1320             /* The following example is derived from a problem report
1321                against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>.  */
1322             memset (&regex, 0, sizeof (regex));
1323             s = re_compile_pattern ("[[an\371]]*n", 7, &regex);
1324             if (s)
1325               exit (1);
1326
1327             /* This should match, but doesn't for e.g. glibc-2.2.1.  */
1328             if (re_match (&regex, "an", 2, 0, &regs) != 2)
1329               exit (1);
1330
1331             memset (&regex, 0, sizeof (regex));
1332             s = re_compile_pattern ("x", 1, &regex);
1333             if (s)
1334               exit (1);
1335
1336             /* The version of regex.c in e.g. GNU libc-2.2.93 didn't
1337                work with a negative RANGE argument.  */
1338             if (re_search (&regex, "wxy", 3, 2, -2, &regs) != 1)
1339               exit (1);
1340
1341             exit (0);
1342           }
1343         ],
1344                jm_cv_func_working_re_compile_pattern=yes,
1345                jm_cv_func_working_re_compile_pattern=no,
1346                dnl When crosscompiling, assume it's broken.
1347                jm_cv_func_working_re_compile_pattern=no))
1348     if test $jm_cv_func_working_re_compile_pattern = yes; then
1349       ac_use_included_regex=no
1350     fi
1351
1352     test -n "$1" || AC_MSG_ERROR([missing argument])
1353     m4_syscmd([test -f $1])
1354     ifelse(m4_sysval, 0,
1355       [
1356         AC_ARG_WITH(included-regex,
1357         [  --without-included-regex don't compile regex; this is the default on
1358                           systems with version 2 of the GNU C library
1359                           (use with caution on other system)],
1360                     jm_with_regex=$withval,
1361                     jm_with_regex=$ac_use_included_regex)
1362         if test "$jm_with_regex" = yes; then
1363           AC_LIBOBJ(regex)
1364           jm_PREREQ_REGEX
1365         fi
1366       ],
1367     )
1368   ]
1369 )
1370
1371 # Prerequisites of lib/regex.c.
1372 AC_DEFUN([jm_PREREQ_REGEX],
1373 [
1374   dnl FIXME: Maybe provide a btowc replacement someday: Solaris 2.5.1 lacks it.
1375   dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
1376   dnl to get them.
1377
1378   dnl Persuade glibc <string.h> to declare mempcpy().
1379   AC_REQUIRE([AC_GNU_SOURCE])
1380
1381   AC_REQUIRE([gl_C_RESTRICT])
1382   AC_REQUIRE([AC_FUNC_ALLOCA])
1383   AC_REQUIRE([AC_HEADER_STDC])
1384   AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
1385   AC_CHECK_FUNCS_ONCE(isascii mempcpy)
1386   AC_CHECK_FUNCS(btowc)
1387 ])
1388
1389 #serial 1002
1390 # This macro can be removed once we can rely on Autoconf 2.57a or later,
1391 # since we can then use its AC_C_RESTRICT.
1392
1393 # gl_C_RESTRICT
1394 # --------------
1395 # Determine whether the C/C++ compiler supports the "restrict" keyword
1396 # introduced in ANSI C99, or an equivalent.  Do nothing if the compiler
1397 # accepts it.  Otherwise, if the compiler supports an equivalent,
1398 # define "restrict" to be that.  Here are some variants:
1399 # - GCC supports both __restrict and __restrict__
1400 # - older DEC Alpha C compilers support only __restrict
1401 # - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C
1402 # Otherwise, define "restrict" to be empty.
1403 AC_DEFUN([gl_C_RESTRICT],
1404 [AC_CACHE_CHECK([for C/C++ restrict keyword], gl_cv_c_restrict,
1405   [gl_cv_c_restrict=no
1406    # Try the official restrict keyword, then gcc's __restrict, and
1407    # the less common variants.
1408    for ac_kw in restrict __restrict __restrict__ _Restrict; do
1409      AC_COMPILE_IFELSE([AC_LANG_SOURCE(
1410       [float * $ac_kw x;])],
1411       [gl_cv_c_restrict=$ac_kw; break])
1412    done
1413   ])
1414  case $gl_cv_c_restrict in
1415    restrict) ;;
1416    no) AC_DEFINE(restrict,,
1417         [Define to equivalent of C99 restrict keyword, or to nothing if this
1418         is not supported.  Do not define if restrict is supported directly.]) ;;
1419    *)  AC_DEFINE_UNQUOTED(restrict, $gl_cv_c_restrict) ;;
1420  esac
1421 ])
1422
1423 # onceonly.m4 serial 2
1424 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
1425 dnl This file is free software, distributed under the terms of the GNU
1426 dnl General Public License.  As a special exception to the GNU General
1427 dnl Public License, this file may be distributed as part of a program
1428 dnl that contains a configuration script generated by Autoconf, under
1429 dnl the same distribution terms as the rest of that program.
1430
1431 dnl This file defines some "once only" variants of standard autoconf macros.
1432 dnl   AC_CHECK_HEADERS_ONCE         like  AC_CHECK_HEADERS
1433 dnl   AC_CHECK_FUNCS_ONCE           like  AC_CHECK_FUNCS
1434 dnl   AC_CHECK_DECLS_ONCE           like  AC_CHECK_DECLS
1435 dnl   AC_REQUIRE([AC_HEADER_STDC])  like  AC_HEADER_STDC
1436 dnl The advantage is that the check for each of the headers/functions/decls
1437 dnl will be put only once into the 'configure' file. It keeps the size of
1438 dnl the 'configure' file down, and avoids redundant output when 'configure'
1439 dnl is run.
1440 dnl The drawback is that the checks cannot be conditionalized. If you write
1441 dnl   if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
1442 dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
1443 dnl empty, and the check will be inserted before the body of the AC_DEFUNed
1444 dnl function.
1445
1446 dnl Taken from Autoconf 2.50; can be removed once we assume 2.50 or later.
1447 define([m4_quote], [[$*]])
1448
1449 # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
1450 # AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
1451 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
1452   :
1453   AC_FOREACH([gl_HEADER_NAME], [$1], [
1454     AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(defn([gl_HEADER_NAME]),
1455                                                  [-./], [___])), [
1456       AC_CHECK_HEADERS(gl_HEADER_NAME)
1457     ])
1458     AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
1459                                                    [-./], [___])))
1460   ])
1461 ])
1462
1463 # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
1464 # AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
1465 AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
1466   :
1467   AC_FOREACH([gl_FUNC_NAME], [$1], [
1468     AC_DEFUN([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]), [
1469       AC_CHECK_FUNCS(defn([gl_FUNC_NAME]))
1470     ])
1471     AC_REQUIRE([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]))
1472   ])
1473 ])
1474
1475 # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
1476 # AC_CHECK_DECLS(DECL1, DECL2, ...).
1477 AC_DEFUN([AC_CHECK_DECLS_ONCE], [
1478   :
1479   AC_FOREACH([gl_DECL_NAME], [$1], [
1480     AC_DEFUN([gl_CHECK_DECL_]defn([gl_DECL_NAME]), [
1481       AC_CHECK_DECLS(defn([gl_DECL_NAME]))
1482     ])
1483     AC_REQUIRE([gl_CHECK_DECL_]defn([gl_DECL_NAME]))
1484   ])
1485 ])
1486
1487 #serial 2
1488
1489 dnl From Paul Eggert.
1490
1491 # Define HOST_OPERATING_SYSTEM to a name for the host operating system.
1492 AC_DEFUN([UTILS_HOST_OS],
1493 [
1494   AC_CACHE_CHECK([host operating system],
1495     utils_cv_host_operating_system,
1496
1497     [[case $host_os in
1498
1499        # These operating system names do not use the default heuristic below.
1500        # They are in reverse order, so that more-specific prefixes come first.
1501        winnt*)          os='Windows NT';;
1502        vos*)            os='VOS';;
1503        sysv*)           os='Unix System V';;
1504        superux*)        os='SUPER-UX';;
1505        sunos*)          os='SunOS';;
1506        stop*)           os='STOP';;
1507        sco*)            os='SCO Unix';;
1508        riscos*)         os='RISC OS';;
1509        riscix*)         os='RISCiX';;
1510        qnx*)            os='QNX';;
1511        pw32*)           os='PW32';;
1512        ptx*)            os='ptx';;
1513        plan9*)          os='Plan 9';;
1514        osf*)            os='Tru64';;
1515        os2*)            os='OS/2';;
1516        openbsd*)        os='OpenBSD';;
1517        nsk*)            os='NonStop Kernel';;
1518        nonstopux*)      os='NonStop-UX';;
1519        netbsd*)         os='NetBSD';;
1520        msdosdjgpp*)     os='DJGPP';;
1521        mpeix*)          os='MPE/iX';;
1522        mint*)           os='MiNT';;
1523        mingw*)          os='MinGW';;
1524        lynxos*)         os='LynxOS';;
1525        linux*)          os='GNU/Linux';;
1526        hpux*)           os='HP-UX';;
1527        hiux*)           os='HI-UX';;
1528        gnu*)            os='GNU';;
1529        freebsd*-gnu*)   os='GNU/FreeBSD';;
1530        freebsd*)        os='FreeBSD';;
1531        dgux*)           os='DG/UX';;
1532        bsdi*)           os='BSD/OS';;
1533        bsd*)            os='BSD';;
1534        beos*)           os='BeOS';;
1535        aux*)            os='A/UX';;
1536        atheos*)         os='AtheOS';;
1537        amigaos*)        os='Amiga OS';;
1538        aix*)            os='AIX';;
1539
1540        # The default heuristic takes the initial alphabetic string
1541        # from $host_os, but capitalizes its first letter.
1542        [A-Za-z]*)
1543          os=`
1544            expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
1545          ``
1546            expr "X$host_os" : 'X.\([A-Za-z]*\)'
1547          `
1548          ;;
1549
1550        # If $host_os does not start with an alphabetic string, use it unchanged.
1551        *)
1552          os=$host_os;;
1553      esac
1554      utils_cv_host_operating_system=$os]])
1555   AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
1556     "$utils_cv_host_operating_system",
1557     [The host operating system.])
1558 ])
1559
1560 #serial 1
1561
1562 # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
1563 # On such systems, arrange to use a wrapper function that removes any
1564 # trailing slashes.
1565 AC_DEFUN([UTILS_FUNC_MKDIR_TRAILING_SLASH],
1566 [dnl
1567   AC_CACHE_CHECK([whether mkdir fails due to a trailing slash],
1568     utils_cv_func_mkdir_trailing_slash_bug,
1569     [
1570       # Arrange for deletion of the temporary directory this test might create.
1571       ac_clean_files="$ac_clean_files confdir-slash"
1572       AC_TRY_RUN([
1573 #       include <sys/types.h>
1574 #       include <sys/stat.h>
1575 #       include <stdlib.h>
1576         int main ()
1577         {
1578           rmdir ("confdir-slash");
1579           exit (mkdir ("confdir-slash/", 0700));
1580         }
1581         ],
1582       utils_cv_func_mkdir_trailing_slash_bug=no,
1583       utils_cv_func_mkdir_trailing_slash_bug=yes,
1584       utils_cv_func_mkdir_trailing_slash_bug=yes
1585       )
1586     ]
1587   )
1588
1589   if test $utils_cv_func_mkdir_trailing_slash_bug = yes; then
1590     AC_LIBOBJ(mkdir)
1591     AC_DEFINE(mkdir, rpl_mkdir,
1592       [Define to rpl_mkdir if the replacement function should be used.])
1593   fi
1594 ])
1595
1596 #serial 2
1597
1598 AC_DEFUN([jm_BISON],
1599 [
1600   # getdate.y works with bison only.
1601   : ${YACC='bison -y'}
1602   AC_SUBST(YACC)
1603 ])
1604
1605 #serial 3
1606 dnl based on code from Eleftherios Gkioulekas
1607
1608 AC_DEFUN([jm_ASSERT],
1609 [
1610   AC_MSG_CHECKING(whether to enable assertions)
1611   AC_ARG_ENABLE(assert,
1612         [  --disable-assert        turn off assertions],
1613         [ AC_MSG_RESULT(no)
1614           AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ],
1615         [ AC_MSG_RESULT(yes) ]
1616                )
1617 ])
1618
1619 #serial 4
1620
1621 dnl From Jim Meyering
1622
1623 dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
1624 dnl usually in <utime.h>.
1625 dnl Some systems have utime.h but don't declare the struct anywhere.
1626
1627 AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF],
1628 [
1629   AC_CHECK_HEADERS(utime.h)
1630   AC_REQUIRE([AC_HEADER_TIME])
1631   AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
1632     [AC_TRY_COMPILE(
1633       [
1634 #ifdef TIME_WITH_SYS_TIME
1635 # include <sys/time.h>
1636 # include <time.h>
1637 #else
1638 # ifdef HAVE_SYS_TIME_H
1639 #  include <sys/time.h>
1640 # else
1641 #  include <time.h>
1642 # endif
1643 #endif
1644 #ifdef HAVE_UTIME_H
1645 # include <utime.h>
1646 #endif
1647       ],
1648       [static struct utimbuf x; x.actime = x.modtime;],
1649       fu_cv_sys_struct_utimbuf=yes,
1650       fu_cv_sys_struct_utimbuf=no)
1651     ])
1652
1653   if test $fu_cv_sys_struct_utimbuf = yes; then
1654     AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1,
1655 [Define if struct utimbuf is declared -- usually in <utime.h>.
1656    Some systems have utime.h but don't declare the struct anywhere. ])
1657   fi
1658 ])
1659
1660 #serial 5
1661
1662 dnl From Jim Meyering.
1663 dnl
1664 dnl Check whether struct dirent has a member named d_type.
1665 dnl
1666
1667 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
1668   [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1669    AC_CACHE_CHECK([for d_type member in directory struct],
1670                   jm_cv_struct_dirent_d_type,
1671      [AC_TRY_LINK(dnl
1672        [
1673 #include <sys/types.h>
1674 #ifdef HAVE_DIRENT_H
1675 # include <dirent.h>
1676 #else /* not HAVE_DIRENT_H */
1677 # define dirent direct
1678 # ifdef HAVE_SYS_NDIR_H
1679 #  include <sys/ndir.h>
1680 # endif /* HAVE_SYS_NDIR_H */
1681 # ifdef HAVE_SYS_DIR_H
1682 #  include <sys/dir.h>
1683 # endif /* HAVE_SYS_DIR_H */
1684 # ifdef HAVE_NDIR_H
1685 #  include <ndir.h>
1686 # endif /* HAVE_NDIR_H */
1687 #endif /* HAVE_DIRENT_H */
1688        ],
1689        [struct dirent dp; dp.d_type = 0;],
1690
1691        jm_cv_struct_dirent_d_type=yes,
1692        jm_cv_struct_dirent_d_type=no)
1693      ]
1694    )
1695    if test $jm_cv_struct_dirent_d_type = yes; then
1696      AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
1697   [Define if there is a member named d_type in the struct describing
1698    directory headers.])
1699    fi
1700   ]
1701 )
1702
1703 #serial 4
1704
1705 dnl From Jim Meyering.
1706 dnl
1707 dnl Check whether struct dirent has a member named d_ino.
1708 dnl
1709
1710 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
1711   [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1712    AC_CACHE_CHECK([for d_ino member in directory struct],
1713                   jm_cv_struct_dirent_d_ino,
1714      [AC_TRY_LINK(dnl
1715        [
1716 #include <sys/types.h>
1717 #ifdef HAVE_DIRENT_H
1718 # include <dirent.h>
1719 #else /* not HAVE_DIRENT_H */
1720 # define dirent direct
1721 # ifdef HAVE_SYS_NDIR_H
1722 #  include <sys/ndir.h>
1723 # endif /* HAVE_SYS_NDIR_H */
1724 # ifdef HAVE_SYS_DIR_H
1725 #  include <sys/dir.h>
1726 # endif /* HAVE_SYS_DIR_H */
1727 # ifdef HAVE_NDIR_H
1728 #  include <ndir.h>
1729 # endif /* HAVE_NDIR_H */
1730 #endif /* HAVE_DIRENT_H */
1731        ],
1732        [struct dirent dp; dp.d_ino = 0;],
1733
1734        jm_cv_struct_dirent_d_ino=yes,
1735        jm_cv_struct_dirent_d_ino=no)
1736      ]
1737    )
1738    if test $jm_cv_struct_dirent_d_ino = yes; then
1739      AC_DEFINE(D_INO_IN_DIRENT, 1,
1740   [Define if there is a member named d_ino in the struct describing
1741    directory headers.])
1742    fi
1743   ]
1744 )
1745
1746 #serial 19
1747
1748 dnl This is just a wrapper function to encapsulate this kludge.
1749 dnl Putting it in a separate file like this helps share it between
1750 dnl different packages.
1751 AC_DEFUN([jm_CHECK_DECLS],
1752 [
1753   AC_REQUIRE([_jm_DECL_HEADERS])
1754   AC_REQUIRE([AC_HEADER_TIME])
1755   headers='
1756 #include <stdio.h>
1757 #if HAVE_STRING_H
1758 # if !STDC_HEADERS && HAVE_MEMORY_H
1759 #  include <memory.h>
1760 # endif
1761 # include <string.h>
1762 #else
1763 # if HAVE_STRINGS_H
1764 #  include <strings.h>
1765 # endif
1766 #endif
1767 #if HAVE_STDLIB_H
1768 # include <stdlib.h>
1769 #endif
1770 #if HAVE_UNISTD_H
1771 # include <unistd.h>
1772 #endif
1773
1774 #include <sys/types.h>
1775 #if TIME_WITH_SYS_TIME
1776 # include <sys/time.h>
1777 # include <time.h>
1778 #else
1779 # if HAVE_SYS_TIME_H
1780 #  include <sys/time.h>
1781 # else
1782 #  include <time.h>
1783 # endif
1784 #endif
1785
1786 #if HAVE_UTMP_H
1787 # include <utmp.h>
1788 #endif
1789
1790 #if HAVE_GRP_H
1791 # include <grp.h>
1792 #endif
1793
1794 #if HAVE_PWD_H
1795 # include <pwd.h>
1796 #endif
1797 '
1798
1799   AC_CHECK_DECLS([
1800     euidaccess,
1801     free,
1802     getenv,
1803     geteuid,
1804     getgrgid,
1805     getlogin,
1806     getpwuid,
1807     getuid,
1808     getutent,
1809     lseek,
1810     malloc,
1811     memchr,
1812     memrchr,
1813     nanosleep,
1814     realloc,
1815     stpcpy,
1816     strndup,
1817     strnlen,
1818     strstr,
1819     strtoul,
1820     strtoull,
1821     ttyname], , , $headers)
1822 ])
1823
1824 dnl FIXME: when autoconf has support for it.
1825 dnl This is a little helper so we can require these header checks.
1826 AC_DEFUN([_jm_DECL_HEADERS],
1827 [
1828   AC_REQUIRE([AC_HEADER_STDC])
1829   AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
1830                    unistd.h sys/time.h utmp.h utmpx.h)
1831 ])
1832
1833 #serial 34
1834
1835 dnl We use jm_ for non Autoconf macros.
1836 m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1837 m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1838
1839 # These are the prerequisite macros for files in the lib/
1840 # directory of the coreutils package.
1841
1842 AC_DEFUN([jm_PREREQ],
1843 [
1844   AC_REQUIRE([jm_PREREQ_ADDEXT])
1845
1846   # We don't yet use c-stack.c.
1847   # AC_REQUIRE([jm_PREREQ_C_STACK])
1848
1849   AC_REQUIRE([jm_PREREQ_CANON_HOST])
1850   AC_REQUIRE([jm_PREREQ_DIRNAME])
1851   AC_REQUIRE([jm_PREREQ_ERROR])
1852   AC_REQUIRE([jm_PREREQ_EXCLUDE])
1853   AC_REQUIRE([jm_PREREQ_GETPAGESIZE])
1854   AC_REQUIRE([jm_PREREQ_HARD_LOCALE])
1855   AC_REQUIRE([jm_PREREQ_HASH])
1856   AC_REQUIRE([gl_HUMAN])
1857   AC_REQUIRE([jm_PREREQ_MBSWIDTH])
1858   AC_REQUIRE([jm_PREREQ_MEMCHR])
1859   AC_REQUIRE([jm_PREREQ_PHYSMEM])
1860   AC_REQUIRE([jm_PREREQ_POSIXVER])
1861   AC_REQUIRE([jm_PREREQ_QUOTEARG])
1862   AC_REQUIRE([jm_PREREQ_READUTMP])
1863   AC_REQUIRE([jm_PREREQ_STAT])
1864   AC_REQUIRE([jm_PREREQ_STRNLEN])
1865   AC_REQUIRE([jm_PREREQ_TEMPNAME]) # called by mkstemp
1866   AC_REQUIRE([gl_UTIMENS])
1867   AC_REQUIRE([jm_PREREQ_XGETCWD])
1868   AC_REQUIRE([jm_PREREQ_XREADLINK])
1869 ])
1870
1871 AC_DEFUN([jm_PREREQ_ADDEXT],
1872 [
1873   dnl For addext.c.
1874   AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
1875   AC_CHECK_FUNCS(pathconf)
1876   AC_CHECK_HEADERS(limits.h string.h unistd.h)
1877 ])
1878
1879 AC_DEFUN([jm_PREREQ_CANON_HOST],
1880 [
1881   dnl Add any libraries as early as possible.
1882   dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1,
1883   dnl so we have to add -lnsl to LIBS before checking for that function.
1884   AC_SEARCH_LIBS(gethostbyname, [inet nsl])
1885
1886   dnl These come from -lnsl on Solaris5.5.1.
1887   AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
1888
1889   AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \
1890                    netinet/in.h arpa/inet.h)
1891 ])
1892
1893 AC_DEFUN([jm_PREREQ_DIRNAME],
1894 [
1895   AC_REQUIRE([AC_HEADER_STDC])
1896   AC_CHECK_HEADERS(string.h)
1897 ])
1898
1899 AC_DEFUN([jm_PREREQ_EXCLUDE],
1900 [
1901   AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
1902   AC_REQUIRE([AC_HEADER_STDBOOL])
1903 ])
1904
1905 AC_DEFUN([jm_PREREQ_GETPAGESIZE],
1906 [
1907   AC_CHECK_FUNCS(getpagesize)
1908   AC_CHECK_HEADERS(OS.h unistd.h)
1909 ])
1910
1911 AC_DEFUN([jm_PREREQ_HARD_LOCALE],
1912 [
1913   AC_CHECK_HEADERS(locale.h stdlib.h string.h)
1914   AC_CHECK_FUNCS(setlocale)
1915   AC_REQUIRE([AM_C_PROTOTYPES])
1916 ])
1917
1918 AC_DEFUN([jm_PREREQ_HASH],
1919 [
1920   AC_CHECK_HEADERS(stdlib.h)
1921   AC_REQUIRE([AC_HEADER_STDBOOL])
1922   AC_REQUIRE([jm_CHECK_DECLS])
1923 ])
1924
1925 AC_DEFUN([jm_PREREQ_MEMCHR],
1926 [
1927   AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h)
1928 ])
1929
1930 # Check for the external symbol, _system_configuration,
1931 # a struct with member `physmem'.
1932 AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION],
1933   [AC_CACHE_CHECK(for external symbol _system_configuration,
1934                   gl_cv_var__system_configuration,
1935     [AC_LINK_IFELSE([AC_LANG_PROGRAM(
1936                       [[#include <sys/systemcfg.h>
1937                       ]],
1938                       [double x = _system_configuration.physmem;])],
1939       [gl_cv_var__system_configuration=yes],
1940       [gl_cv_var__system_configuration=no])])
1941
1942     if test $gl_cv_var__system_configuration = yes; then
1943       AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
1944                 [Define to 1 if you have the external variable,
1945                 _system_configuration with a member named physmem.])
1946     fi
1947   ]
1948 )
1949
1950 AC_DEFUN([jm_PREREQ_PHYSMEM],
1951 [
1952   AC_CHECK_HEADERS([unistd.h sys/pstat.h sys/sysmp.h sys/sysinfo.h \
1953     machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \
1954     sys/systemcfg.h],,, [AC_INCLUDES_DEFAULT])
1955   AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table)
1956
1957   AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION])
1958 ])
1959
1960 AC_DEFUN([jm_PREREQ_POSIXVER],
1961 [
1962   AC_CHECK_HEADERS(unistd.h)
1963   AC_CHECK_DECLS([getenv])
1964 ])
1965
1966 AC_DEFUN([jm_PREREQ_QUOTEARG],
1967 [
1968   AC_CHECK_FUNCS(isascii iswprint)
1969   AC_REQUIRE([jm_FUNC_MBRTOWC])
1970   AC_REQUIRE([jm_FUNC_MEMCMP])
1971   AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
1972   AC_REQUIRE([AC_HEADER_STDC])
1973   AC_REQUIRE([AC_C_BACKSLASH_A])
1974   AC_REQUIRE([AC_TYPE_MBSTATE_T])
1975   AC_REQUIRE([AM_C_PROTOTYPES])
1976 ])
1977
1978 AC_DEFUN([jm_PREREQ_READUTMP],
1979 [
1980   AC_REQUIRE([AC_HEADER_STDC])
1981   AC_CHECK_HEADERS(string.h utmp.h utmpx.h sys/param.h)
1982   AC_CHECK_FUNCS(utmpname)
1983   AC_CHECK_FUNCS(utmpxname)
1984   AC_REQUIRE([AM_C_PROTOTYPES])
1985
1986   if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
1987     utmp_includes="\
1988 $ac_includes_default
1989 #ifdef HAVE_UTMPX_H
1990 # include <utmpx.h>
1991 #endif
1992 #ifdef HAVE_UTMP_H
1993 # include <utmp.h>
1994 #endif
1995 "
1996     AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
1997     AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
1998     AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
1999     AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
2000     AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
2001     AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
2002     AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
2003     AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
2004     AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
2005     AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
2006
2007     AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
2008     AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
2009     AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
2010     AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
2011
2012     AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
2013     AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
2014     AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
2015     AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
2016     AC_LIBOBJ(readutmp)
2017   fi
2018 ])
2019
2020 AC_DEFUN([jm_PREREQ_STAT],
2021 [
2022   AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
2023   AC_CHECK_HEADERS(sys/param.h sys/mount.h)
2024   AC_CHECK_FUNCS(statvfs)
2025
2026   # For `struct statfs' on Ultrix 4.4.
2027   AC_CHECK_HEADERS([netinet/in.h nfs/nfs_clnt.h nfs/vfs.h],,,
2028     [AC_INCLUDES_DEFAULT])
2029
2030   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
2031
2032   statxfs_includes="\
2033 $ac_includes_default
2034 #if HAVE_SYS_STATVFS_H
2035 # include <sys/statvfs.h>
2036 #endif
2037 #if HAVE_SYS_VFS_H
2038 # include <sys/vfs.h>
2039 #endif
2040 #if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H
2041 # if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H
2042 /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
2043 #  include <sys/param.h>
2044 #  include <sys/mount.h>
2045 # elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
2046 /* Ultrix 4.4 needs these for the declaration of struct statfs.  */
2047 #  include <netinet/in.h>
2048 #  include <nfs/nfs_clnt.h>
2049 #  include <nfs/vfs.h>
2050 # endif
2051 #endif
2052 "
2053   AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
2054   AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
2055   AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
2056   AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
2057   AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
2058   AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
2059   AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
2060   AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
2061   AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
2062   AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
2063   AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
2064 ])
2065
2066 AC_DEFUN([jm_PREREQ_STRNLEN],
2067 [
2068   AC_REQUIRE([AC_FUNC_STRNLEN])
2069   AC_REQUIRE([AC_HEADER_STDC])
2070   AC_CHECK_HEADERS(memory.h)
2071   AC_CHECK_DECLS([memchr])
2072
2073   # This is necessary because automake-1.6.1 doesn't understand
2074   # that the above use of AC_FUNC_STRNLEN means we may have to use
2075   # lib/strnlen.c.
2076   test $ac_cv_func_strnlen_working = yes \
2077     && AC_LIBOBJ(strnlen)
2078 ])
2079
2080 AC_DEFUN([jm_PREREQ_TEMPNAME],
2081 [
2082   AC_REQUIRE([AC_HEADER_STDC])
2083   AC_REQUIRE([AC_HEADER_STAT])
2084   AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h)
2085   AC_CHECK_FUNCS(__secure_getenv gettimeofday)
2086   AC_CHECK_DECLS([getenv])
2087   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2088 ])
2089
2090 AC_DEFUN([jm_PREREQ_XGETCWD],
2091 [
2092   AC_REQUIRE([AC_C_PROTOTYPES])
2093   AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h)
2094   AC_CHECK_FUNCS(getcwd)
2095   AC_REQUIRE([AC_FUNC_GETCWD_NULL])
2096 ])
2097
2098 AC_DEFUN([jm_PREREQ_XREADLINK],
2099 [
2100   AC_REQUIRE([AC_C_PROTOTYPES])
2101   AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h)
2102 ])
2103
2104 #serial 7
2105
2106 AC_DEFUN([gl_ERROR],
2107 [
2108   AC_FUNC_ERROR_AT_LINE
2109   dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
2110   jm_PREREQ_ERROR
2111 ])
2112
2113 # Prerequisites of lib/error.c.
2114 AC_DEFUN([jm_PREREQ_ERROR],
2115 [
2116   AC_REQUIRE([AC_HEADER_STDC])
2117   AC_REQUIRE([AC_FUNC_VPRINTF])
2118   AC_CHECK_FUNCS(strerror)
2119   AC_CHECK_DECLS([strerror])
2120   AC_FUNC_STRERROR_R
2121 ])
2122
2123 # human.m4 serial 3
2124 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2125 dnl This file is free software, distributed under the terms of the GNU
2126 dnl General Public License.  As a special exception to the GNU General
2127 dnl Public License, this file may be distributed as part of a program
2128 dnl that contains a configuration script generated by Autoconf, under
2129 dnl the same distribution terms as the rest of that program.
2130
2131 AC_DEFUN([gl_HUMAN],
2132 [
2133   dnl Prerequisites of lib/human.h.
2134   AC_REQUIRE([AM_STDBOOL_H])
2135   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2136
2137   dnl Prerequisites of lib/human.c.
2138   AC_CHECK_HEADERS_ONCE(locale.h stdlib.h string.h)
2139   AC_CHECK_DECLS_ONCE(getenv)
2140   AC_CHECK_FUNCS_ONCE(localeconv)
2141 ])
2142
2143 # Check for stdbool.h that conforms to C99.
2144
2145 # Copyright (C) 2002-2003 Free Software Foundation, Inc.
2146
2147 # This program is free software; you can redistribute it and/or modify
2148 # it under the terms of the GNU General Public License as published by
2149 # the Free Software Foundation; either version 2, or (at your option)
2150 # any later version.
2151
2152 # This program is distributed in the hope that it will be useful,
2153 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2154 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2155 # GNU General Public License for more details.
2156
2157 # You should have received a copy of the GNU General Public License
2158 # along with this program; if not, write to the Free Software
2159 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2160 # 02111-1307, USA.
2161
2162 # Prepare for substituting <stdbool.h> if it is not supported.
2163
2164 AC_DEFUN([AM_STDBOOL_H],
2165 [
2166   AC_REQUIRE([AC_HEADER_STDBOOL])
2167
2168   # Define two additional variables used in the Makefile substitution.
2169
2170   if test "$ac_cv_header_stdbool_h" = yes; then
2171     STDBOOL_H=''
2172   else
2173     STDBOOL_H='stdbool.h'
2174   fi
2175   AC_SUBST([STDBOOL_H])
2176
2177   if test "$ac_cv_type__Bool" = yes; then
2178     HAVE__BOOL=1
2179   else
2180     HAVE__BOOL=0
2181   fi
2182   AC_SUBST([HAVE__BOOL])
2183 ])
2184
2185 # This macro is only needed in autoconf <= 2.54.  Newer versions of autoconf
2186 # have this macro built-in.
2187
2188 AC_DEFUN([AC_HEADER_STDBOOL],
2189   [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
2190      [ac_cv_header_stdbool_h],
2191      [AC_TRY_COMPILE(
2192         [
2193           #include <stdbool.h>
2194           #ifndef bool
2195            "error: bool is not defined"
2196           #endif
2197           #ifndef false
2198            "error: false is not defined"
2199           #endif
2200           #if false
2201            "error: false is not 0"
2202           #endif
2203           #ifndef true
2204            "error: false is not defined"
2205           #endif
2206           #if true != 1
2207            "error: true is not 1"
2208           #endif
2209           #ifndef __bool_true_false_are_defined
2210            "error: __bool_true_false_are_defined is not defined"
2211           #endif
2212
2213           struct s { _Bool s: 1; _Bool t; } s;
2214
2215           char a[true == 1 ? 1 : -1];
2216           char b[false == 0 ? 1 : -1];
2217           char c[__bool_true_false_are_defined == 1 ? 1 : -1];
2218           char d[(bool) -0.5 == true ? 1 : -1];
2219           bool e = &s;
2220           char f[(_Bool) -0.0 == false ? 1 : -1];
2221           char g[true];
2222           char h[sizeof (_Bool)];
2223           char i[sizeof s.t];
2224         ],
2225         [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
2226         [ac_cv_header_stdbool_h=yes],
2227         [ac_cv_header_stdbool_h=no])])
2228    AC_CHECK_TYPES([_Bool])
2229    if test $ac_cv_header_stdbool_h = yes; then
2230      AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
2231    fi])
2232
2233 # uintmax_t.m4 serial 7 (gettext-0.12)
2234 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2235 dnl This file is free software, distributed under the terms of the GNU
2236 dnl General Public License.  As a special exception to the GNU General
2237 dnl Public License, this file may be distributed as part of a program
2238 dnl that contains a configuration script generated by Autoconf, under
2239 dnl the same distribution terms as the rest of that program.
2240
2241 dnl From Paul Eggert.
2242
2243 AC_PREREQ(2.13)
2244
2245 # Define uintmax_t to 'unsigned long' or 'unsigned long long'
2246 # if it is not already defined in <stdint.h> or <inttypes.h>.
2247
2248 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
2249 [
2250   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
2251   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
2252   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
2253     AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
2254     test $ac_cv_type_unsigned_long_long = yes \
2255       && ac_type='unsigned long long' \
2256       || ac_type='unsigned long'
2257     AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
2258       [Define to unsigned long or unsigned long long
2259        if <stdint.h> and <inttypes.h> don't define.])
2260   else
2261     AC_DEFINE(HAVE_UINTMAX_T, 1,
2262       [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
2263   fi
2264 ])
2265
2266 # inttypes_h.m4 serial 5 (gettext-0.12)
2267 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2268 dnl This file is free software, distributed under the terms of the GNU
2269 dnl General Public License.  As a special exception to the GNU General
2270 dnl Public License, this file may be distributed as part of a program
2271 dnl that contains a configuration script generated by Autoconf, under
2272 dnl the same distribution terms as the rest of that program.
2273
2274 dnl From Paul Eggert.
2275
2276 # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
2277 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2278
2279 AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
2280 [
2281   AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
2282   [AC_TRY_COMPILE(
2283     [#include <sys/types.h>
2284 #include <inttypes.h>],
2285     [uintmax_t i = (uintmax_t) -1;],
2286     jm_ac_cv_header_inttypes_h=yes,
2287     jm_ac_cv_header_inttypes_h=no)])
2288   if test $jm_ac_cv_header_inttypes_h = yes; then
2289     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
2290       [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
2291        and declares uintmax_t. ])
2292   fi
2293 ])
2294
2295 # stdint_h.m4 serial 3 (gettext-0.12)
2296 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2297 dnl This file is free software, distributed under the terms of the GNU
2298 dnl General Public License.  As a special exception to the GNU General
2299 dnl Public License, this file may be distributed as part of a program
2300 dnl that contains a configuration script generated by Autoconf, under
2301 dnl the same distribution terms as the rest of that program.
2302
2303 dnl From Paul Eggert.
2304
2305 # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
2306 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2307
2308 AC_DEFUN([jm_AC_HEADER_STDINT_H],
2309 [
2310   AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
2311   [AC_TRY_COMPILE(
2312     [#include <sys/types.h>
2313 #include <stdint.h>],
2314     [uintmax_t i = (uintmax_t) -1;],
2315     jm_ac_cv_header_stdint_h=yes,
2316     jm_ac_cv_header_stdint_h=no)])
2317   if test $jm_ac_cv_header_stdint_h = yes; then
2318     AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
2319       [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
2320        and declares uintmax_t. ])
2321   fi
2322 ])
2323
2324 #serial 2
2325
2326 dnl From Paul Eggert.
2327
2328 # Define HAVE_LONG_LONG if 'long long' works.
2329
2330 AC_DEFUN([jm_AC_TYPE_LONG_LONG],
2331 [
2332   AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
2333   [AC_TRY_LINK([long long ll = 1; int i = 63;],
2334     [long long llmax = (long long) -1;
2335      return ll << i | ll >> i | llmax / ll | llmax % ll;],
2336     ac_cv_type_long_long=yes,
2337     ac_cv_type_long_long=no)])
2338   if test $ac_cv_type_long_long = yes; then
2339     AC_DEFINE(HAVE_LONG_LONG, 1,
2340       [Define if you have the long long type.])
2341   fi
2342 ])
2343
2344 # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
2345
2346 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
2347 [
2348   AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
2349   [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
2350     [unsigned long long ullmax = (unsigned long long) -1;
2351      return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
2352     ac_cv_type_unsigned_long_long=yes,
2353     ac_cv_type_unsigned_long_long=no)])
2354   if test $ac_cv_type_unsigned_long_long = yes; then
2355     AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
2356       [Define if you have the unsigned long long type.])
2357   fi
2358 ])
2359
2360 #serial 7
2361
2362 dnl autoconf tests required for use of mbswidth.c
2363 dnl From Bruno Haible.
2364
2365 AC_DEFUN([jm_PREREQ_MBSWIDTH],
2366 [
2367   AC_REQUIRE([AC_HEADER_STDC])
2368   AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
2369   AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
2370   jm_FUNC_MBRTOWC
2371
2372   AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
2373     [AC_TRY_COMPILE([
2374 /* AIX 3.2.5 declares wcwidth in <string.h>. */
2375 #if HAVE_STRING_H
2376 # include <string.h>
2377 #endif
2378 #if HAVE_WCHAR_H
2379 # include <wchar.h>
2380 #endif
2381 ], [
2382 #ifndef wcwidth
2383   char *p = (char *) wcwidth;
2384 #endif
2385 ], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
2386   if test $ac_cv_have_decl_wcwidth = yes; then
2387     ac_val=1
2388   else
2389     ac_val=0
2390   fi
2391   AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
2392     [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
2393
2394   AC_TYPE_MBSTATE_T
2395 ])
2396
2397 # mbrtowc.m4 serial 4 (fileutils-4.1.3)
2398 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
2399 dnl This file is free software, distributed under the terms of the GNU
2400 dnl General Public License.  As a special exception to the GNU General
2401 dnl Public License, this file may be distributed as part of a program
2402 dnl that contains a configuration script generated by Autoconf, under
2403 dnl the same distribution terms as the rest of that program.
2404
2405 dnl From Paul Eggert
2406
2407 AC_DEFUN([jm_FUNC_MBRTOWC],
2408 [
2409   AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
2410     jm_cv_func_mbrtowc,
2411     [AC_TRY_LINK(
2412        [#include <wchar.h>],
2413        [mbstate_t state; return ! (sizeof state && mbrtowc);],
2414        jm_cv_func_mbrtowc=yes,
2415        jm_cv_func_mbrtowc=no)])
2416   if test $jm_cv_func_mbrtowc = yes; then
2417     AC_DEFINE(HAVE_MBRTOWC, 1,
2418       [Define to 1 if mbrtowc and mbstate_t are properly declared.])
2419   fi
2420 ])
2421
2422 dnl Copyright (C) 2003 Free Software Foundation, Inc.
2423 dnl This file is free software, distributed under the terms of the GNU
2424 dnl General Public License.  As a special exception to the GNU General
2425 dnl Public License, this file may be distributed as part of a program
2426 dnl that contains a configuration script generated by Autoconf, under
2427 dnl the same distribution terms as the rest of that program.
2428
2429 AC_DEFUN([gl_UTIMENS],
2430 [
2431   dnl Prerequisites of lib/utimens.c.
2432   AC_REQUIRE([gl_TIMESPEC])
2433   AC_REQUIRE([gl_FUNC_UTIMES])
2434   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
2435   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
2436 ])
2437
2438 #serial 7
2439
2440 dnl From Jim Meyering
2441
2442 AC_DEFUN([gl_TIMESPEC],
2443 [
2444   dnl Prerequisites of lib/timespec.h.
2445   AC_REQUIRE([AC_HEADER_TIME])
2446   AC_CHECK_HEADERS_ONCE(sys/time.h)
2447   jm_CHECK_TYPE_STRUCT_TIMESPEC
2448   AC_STRUCT_ST_MTIM_NSEC
2449
2450   dnl Persuade glibc <time.h> to declare nanosleep().
2451   AC_REQUIRE([AC_GNU_SOURCE])
2452
2453   AC_CHECK_DECLS(nanosleep, , , [#include <time.h>])
2454 ])
2455
2456 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
2457 dnl in time.h or sys/time.h.
2458
2459 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
2460 [
2461   dnl Persuade pedantic Solaris to declare struct timespec.
2462   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
2463
2464   AC_REQUIRE([AC_HEADER_TIME])
2465   AC_CHECK_HEADERS_ONCE(sys/time.h)
2466   AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
2467     [AC_TRY_COMPILE(
2468       [
2469 #      if TIME_WITH_SYS_TIME
2470 #       include <sys/time.h>
2471 #       include <time.h>
2472 #      else
2473 #       if HAVE_SYS_TIME_H
2474 #        include <sys/time.h>
2475 #       else
2476 #        include <time.h>
2477 #       endif
2478 #      endif
2479       ],
2480       [static struct timespec x; x.tv_sec = x.tv_nsec;],
2481       fu_cv_sys_struct_timespec=yes,
2482       fu_cv_sys_struct_timespec=no)
2483     ])
2484
2485   if test $fu_cv_sys_struct_timespec = yes; then
2486     AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
2487               [Define if struct timespec is declared in <time.h>. ])
2488   fi
2489 ])
2490
2491 #serial 6
2492
2493 dnl From Paul Eggert.
2494
2495 # Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
2496 # if it exists.
2497
2498 AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
2499  [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
2500    ac_cv_struct_st_mtim_nsec,
2501    [ac_save_CPPFLAGS="$CPPFLAGS"
2502     ac_cv_struct_st_mtim_nsec=no
2503     # tv_nsec -- the usual case
2504     # _tv_nsec -- Solaris 2.6, if
2505     #   (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
2506     #    && !defined __EXTENSIONS__)
2507     # st__tim.tv_nsec -- UnixWare 2.1.2
2508     for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
2509       CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
2510       AC_TRY_COMPILE([#include <sys/types.h>
2511 #include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
2512         [ac_cv_struct_st_mtim_nsec=$ac_val; break])
2513     done
2514     CPPFLAGS="$ac_save_CPPFLAGS"])
2515
2516   if test $ac_cv_struct_st_mtim_nsec != no; then
2517     AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
2518       [Define to be the nanoseconds member of struct stat's st_mtim,
2519        if it exists.])
2520   fi
2521  ]
2522 )
2523
2524 # See if we need to work around bugs in glibc's implementation of
2525 # utimes from around July/August 2003.
2526 # First, there was a bug that would make utimes set mtime
2527 # and atime to zero (1970-01-01) unconditionally.
2528 # Then, there is/was code to round rather than truncate.
2529 #
2530 # From Jim Meyering, with suggestions from Paul Eggert.
2531
2532 AC_DEFUN([gl_FUNC_UTIMES],
2533 [
2534   AC_CACHE_CHECK([determine whether the utimes function works],
2535                  gl_cv_func_working_utimes,
2536   [
2537   AC_RUN_IFELSE([AC_LANG_SOURCE([[
2538 #include <sys/types.h>
2539 #include <sys/stat.h>
2540 #include <sys/time.h>
2541 #include <unistd.h>
2542 #include <stdlib.h>
2543 #include <stdio.h>
2544 #include <utime.h>
2545
2546 int
2547 main ()
2548 {
2549   static struct timeval timeval[2] = {{9, 10}, {999999, 999999}};
2550   struct stat sbuf;
2551   char const *file = "conftest.utimes";
2552   FILE *f;
2553
2554   exit ( ! ((f = fopen (file, "w"))
2555             && fclose (f) == 0
2556             && utimes (file, timeval) == 0
2557             && lstat (file, &sbuf) == 0
2558             && sbuf.st_atime == timeval[0].tv_sec
2559             && sbuf.st_mtime == timeval[1].tv_sec) );
2560 }
2561   ]])],
2562        [gl_cv_func_working_utimes=yes],
2563        [gl_cv_func_working_utimes=no],
2564        [gl_cv_func_working_utimes=no])])
2565
2566   if test $gl_cv_func_working_utimes = yes; then
2567     AC_DEFINE([HAVE_WORKING_UTIMES], 1, [Define if utimes works properly. ])
2568   fi
2569 ])
2570
2571 #serial 5
2572
2573 dnl A replacement for autoconf's macro by the same name.  This version
2574 dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
2575 dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
2576 dnl run only if one of the listed libraries ends up being used (and not in
2577 dnl the `none required' case.
2578 dnl I hope it's only temporary while we wait for that version to be fixed.
2579 undefine([AC_SEARCH_LIBS])
2580
2581 # AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
2582 #                [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
2583 #                [OTHER-LIBRARIES])
2584 # --------------------------------------------------------
2585 # Search for a library defining FUNC, if it's not already available.
2586 AC_DEFUN([AC_SEARCH_LIBS],
2587 [
2588   AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
2589   [
2590     ac_func_search_save_LIBS=$LIBS
2591     ac_cv_search_$1=no
2592     AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
2593     if test "$ac_cv_search_$1" = no; then
2594       for ac_lib in $2; do
2595         LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
2596         AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
2597       done
2598     fi
2599     LIBS=$ac_func_search_save_LIBS
2600   ])
2601
2602   if test "$ac_cv_search_$1" = no; then :
2603     $4
2604   else
2605     if test "$ac_cv_search_$1" = 'none required'; then :
2606       $4
2607     else
2608       LIBS="$ac_cv_search_$1 $LIBS"
2609       $3
2610     fi
2611   fi
2612 ])
2613
2614
2615 # Copyright 1996, 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
2616
2617 # This program is free software; you can redistribute it and/or modify
2618 # it under the terms of the GNU General Public License as published by
2619 # the Free Software Foundation; either version 2, or (at your option)
2620 # any later version.
2621
2622 # This program is distributed in the hope that it will be useful,
2623 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2624 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2625 # GNU General Public License for more details.
2626
2627 # You should have received a copy of the GNU General Public License
2628 # along with this program; if not, write to the Free Software
2629 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2630 # 02111-1307, USA.
2631
2632 # serial 2
2633
2634 AC_DEFUN([AM_C_PROTOTYPES],
2635 [AC_REQUIRE([AM_PROG_CC_STDC])
2636 AC_REQUIRE([AC_PROG_CPP])
2637 AC_MSG_CHECKING([for function prototypes])
2638 if test "$am_cv_prog_cc_stdc" != no; then
2639   AC_MSG_RESULT(yes)
2640   AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
2641   U= ANSI2KNR=
2642 else
2643   AC_MSG_RESULT(no)
2644   U=_ ANSI2KNR=./ansi2knr
2645 fi
2646 # Ensure some checks needed by ansi2knr itself.
2647 AC_HEADER_STDC
2648 AC_CHECK_HEADERS(string.h)
2649 AC_SUBST(U)dnl
2650 AC_SUBST(ANSI2KNR)dnl
2651 ])
2652
2653 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
2654
2655
2656 # Copyright 1996, 1997, 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
2657
2658 # This program is free software; you can redistribute it and/or modify
2659 # it under the terms of the GNU General Public License as published by
2660 # the Free Software Foundation; either version 2, or (at your option)
2661 # any later version.
2662
2663 # This program is distributed in the hope that it will be useful,
2664 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2665 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2666 # GNU General Public License for more details.
2667
2668 # You should have received a copy of the GNU General Public License
2669 # along with this program; if not, write to the Free Software
2670 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2671 # 02111-1307, USA.
2672
2673 # serial 2
2674
2675 # @defmac AC_PROG_CC_STDC
2676 # @maindex PROG_CC_STDC
2677 # @ovindex CC
2678 # If the C compiler in not in ANSI C mode by default, try to add an option
2679 # to output variable @code{CC} to make it so.  This macro tries various
2680 # options that select ANSI C on some system or another.  It considers the
2681 # compiler to be in ANSI C mode if it handles function prototypes correctly.
2682 #
2683 # If you use this macro, you should check after calling it whether the C
2684 # compiler has been set to accept ANSI C; if not, the shell variable
2685 # @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
2686 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
2687 # program @code{ansi2knr}, which comes with Ghostscript.
2688 # @end defmac
2689
2690 AC_DEFUN([AM_PROG_CC_STDC],
2691 [AC_REQUIRE([AC_PROG_CC])
2692 AC_BEFORE([$0], [AC_C_INLINE])
2693 AC_BEFORE([$0], [AC_C_CONST])
2694 dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
2695 dnl a magic option to avoid problems with ANSI preprocessor commands
2696 dnl like #elif.
2697 dnl FIXME: can't do this because then AC_AIX won't work due to a
2698 dnl circular dependency.
2699 dnl AC_BEFORE([$0], [AC_PROG_CPP])
2700 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
2701 AC_CACHE_VAL(am_cv_prog_cc_stdc,
2702 [am_cv_prog_cc_stdc=no
2703 ac_save_CC="$CC"
2704 # Don't try gcc -ansi; that turns off useful extensions and
2705 # breaks some systems' header files.
2706 # AIX                   -qlanglvl=ansi
2707 # Ultrix and OSF/1      -std1
2708 # HP-UX 10.20 and later -Ae
2709 # HP-UX older versions  -Aa -D_HPUX_SOURCE
2710 # SVR4                  -Xc -D__EXTENSIONS__
2711 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
2712 do
2713   CC="$ac_save_CC $ac_arg"
2714   AC_TRY_COMPILE(
2715 [#include <stdarg.h>
2716 #include <stdio.h>
2717 #include <sys/types.h>
2718 #include <sys/stat.h>
2719 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
2720 struct buf { int x; };
2721 FILE * (*rcsopen) (struct buf *, struct stat *, int);
2722 static char *e (p, i)
2723      char **p;
2724      int i;
2725 {
2726   return p[i];
2727 }
2728 static char *f (char * (*g) (char **, int), char **p, ...)
2729 {
2730   char *s;
2731   va_list v;
2732   va_start (v,p);
2733   s = g (p, va_arg (v,int));
2734   va_end (v);
2735   return s;
2736 }
2737 int test (int i, double x);
2738 struct s1 {int (*f) (int a);};
2739 struct s2 {int (*f) (double a);};
2740 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
2741 int argc;
2742 char **argv;
2743 ], [
2744 return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
2745 ],
2746 [am_cv_prog_cc_stdc="$ac_arg"; break])
2747 done
2748 CC="$ac_save_CC"
2749 ])
2750 if test -z "$am_cv_prog_cc_stdc"; then
2751   AC_MSG_RESULT([none needed])
2752 else
2753   AC_MSG_RESULT([$am_cv_prog_cc_stdc])
2754 fi
2755 case "x$am_cv_prog_cc_stdc" in
2756   x|xno) ;;
2757   *) CC="$CC $am_cv_prog_cc_stdc" ;;
2758 esac
2759 ])
2760
2761 AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
2762
2763 #serial 7
2764
2765 AC_DEFUN([jm_FUNC_MEMCMP],
2766 [AC_REQUIRE([AC_FUNC_MEMCMP])dnl
2767  if test $ac_cv_func_memcmp_working = no; then
2768    AC_DEFINE(memcmp, rpl_memcmp,
2769      [Define to rpl_memcmp if the replacement function should be used.])
2770  fi
2771 ])
2772
2773 # getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
2774
2775 # Copyright 2001 Free Software Foundation, Inc.
2776
2777 # This program is free software; you can redistribute it and/or modify
2778 # it under the terms of the GNU General Public License as published by
2779 # the Free Software Foundation; either version 2, or (at your option)
2780 # any later version.
2781
2782 # This program is distributed in the hope that it will be useful,
2783 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2784 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2785 # GNU General Public License for more details.
2786
2787 # You should have received a copy of the GNU General Public License
2788 # along with this program; if not, write to the Free Software Foundation,
2789 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
2790
2791 # Written by Paul Eggert.
2792
2793 AC_DEFUN([AC_FUNC_GETCWD_NULL],
2794   [AC_CHECK_HEADERS(stdlib.h unistd.h)
2795    AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
2796      [ac_cv_func_getcwd_null],
2797      [AC_TRY_RUN(
2798         [
2799 #        ifdef HAVE_STDLIB_H
2800 #         include <stdlib.h>
2801 #        endif
2802 #        ifdef HAVE_UNISTD_H
2803 #         include <unistd.h>
2804 #        endif
2805 #        ifndef getcwd
2806          char *getcwd ();
2807 #        endif
2808          int
2809          main ()
2810          {
2811            if (chdir ("/") != 0)
2812              exit (1);
2813            else
2814              {
2815                char *f = getcwd (NULL, 0);
2816                exit (! (f && f[0] == '/' && !f[1]));
2817              }
2818          }],
2819         [ac_cv_func_getcwd_null=yes],
2820         [ac_cv_func_getcwd_null=no],
2821         [ac_cv_func_getcwd_null=no])])
2822    if test $ac_cv_func_getcwd_null = yes; then
2823      AC_DEFINE(HAVE_GETCWD_NULL, 1,
2824                [Define if getcwd (NULL, 0) allocates memory for result.])
2825    fi])
2826
2827 #serial 6
2828
2829 dnl Find out how to get the file descriptor associated with an open DIR*.
2830 dnl From Jim Meyering
2831
2832 AC_DEFUN([UTILS_FUNC_DIRFD],
2833 [
2834   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
2835   AC_REQUIRE([AC_PROG_CPP])
2836   AC_REQUIRE([AC_PROG_EGREP])
2837
2838   AC_HEADER_DIRENT
2839   dirfd_headers='
2840 #if HAVE_DIRENT_H
2841 # include <dirent.h>
2842 #else /* not HAVE_DIRENT_H */
2843 # define dirent direct
2844 # if HAVE_SYS_NDIR_H
2845 #  include <sys/ndir.h>
2846 # endif /* HAVE_SYS_NDIR_H */
2847 # if HAVE_SYS_DIR_H
2848 #  include <sys/dir.h>
2849 # endif /* HAVE_SYS_DIR_H */
2850 # if HAVE_NDIR_H
2851 #  include <ndir.h>
2852 # endif /* HAVE_NDIR_H */
2853 #endif /* HAVE_DIRENT_H */
2854 '
2855   AC_CHECK_FUNCS(dirfd)
2856   AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
2857
2858   AC_CACHE_CHECK([whether dirfd is a macro],
2859     jm_cv_func_dirfd_macro,
2860     [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
2861 #ifdef dirfd
2862  dirent_header_defines_dirfd
2863 #endif],
2864        jm_cv_func_dirfd_macro=yes,
2865        jm_cv_func_dirfd_macro=no)])
2866
2867   # Use the replacement only if we have no function, macro,
2868   # or declaration with that name.
2869   if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
2870       = no,no,no; then
2871     AC_REPLACE_FUNCS([dirfd])
2872     AC_CACHE_CHECK(
2873               [how to get the file descriptor associated with an open DIR*],
2874                    gl_cv_sys_dir_fd_member_name,
2875       [
2876         dirfd_save_CFLAGS=$CFLAGS
2877         for ac_expr in d_fd dd_fd; do
2878
2879           CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
2880           AC_TRY_COMPILE(
2881             [$dirfd_headers
2882             ],
2883             [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
2884             dir_fd_found=yes
2885           )
2886           CFLAGS=$dirfd_save_CFLAGS
2887           test "$dir_fd_found" = yes && break
2888         done
2889         test "$dir_fd_found" = yes || ac_expr=no_such_member
2890
2891         gl_cv_sys_dir_fd_member_name=$ac_expr
2892       ]
2893     )
2894     if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
2895       AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
2896         $gl_cv_sys_dir_fd_member_name,
2897         [the name of the file descriptor member of DIR])
2898     fi
2899     AH_VERBATIM(DIR_TO_FD,
2900                 [#ifdef DIR_FD_MEMBER_NAME
2901 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
2902 #else
2903 # define DIR_TO_FD(Dir_p) -1
2904 #endif
2905 ]
2906     )
2907   fi
2908 ])
2909
2910 # acl.m4 - check for access control list (ACL) primitives
2911
2912 # Copyright (C) 2002 Free Software Foundation, Inc.
2913
2914 # This program is free software; you can redistribute it and/or modify
2915 # it under the terms of the GNU General Public License as published by
2916 # the Free Software Foundation; either version 2, or (at your option)
2917 # any later version.
2918
2919 # This program is distributed in the hope that it will be useful,
2920 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2921 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2922 # GNU General Public License for more details.
2923
2924 # You should have received a copy of the GNU General Public License
2925 # along with this program; if not, write to the Free Software Foundation,
2926 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
2927
2928 # Written by Paul Eggert.
2929
2930 AC_DEFUN([AC_FUNC_ACL],
2931   [AC_CHECK_HEADERS(sys/acl.h)
2932    AC_CHECK_FUNCS(acl)])
2933
2934 #serial 2
2935 # Use the replacement ftw.c if the one in the C library is inadequate or buggy.
2936 # For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
2937 # or FTW_DCHP that we need.  Arrange to use lib/ftw.h.  And since that
2938 # implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
2939 # objects and arrange to use lib/search.h if necessary.
2940 # From Jim Meyering
2941
2942 AC_DEFUN([AC_FUNC_FTW],
2943 [
2944   # prerequisites
2945   AC_REQUIRE([AC_HEADER_STAT])
2946   AC_REQUIRE([jm_FUNC_LSTAT])
2947   AC_REQUIRE([AC_HEADER_DIRENT])
2948   AC_CHECK_HEADERS(sys/param.h)
2949   AC_CHECK_DECLS([stpcpy])
2950
2951   # In the event that we have to use the replacement ftw.c,
2952   # see if we'll also need the replacement tsearch.c.
2953   AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
2954
2955   AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
2956                  ac_cv_func_ftw_working,
2957   [
2958   # The following test would fail prior to glibc-2.3.2, because `depth'
2959   # would be 2 rather than 4.  Of course, now that we require FTW_DCH
2960   # and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
2961   mkdir -p conftest.dir/a/b/c
2962   AC_RUN_IFELSE([AC_LANG_SOURCE([[
2963 #include <string.h>
2964 #include <stdlib.h>
2965 #include <ftw.h>
2966
2967 static char *_f[] = { "conftest.dir", "conftest.dir/a",
2968                       "conftest.dir/a/b", "conftest.dir/a/b/c" };
2969 static char **p = _f;
2970 static int depth;
2971
2972 static int
2973 cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
2974 {
2975   if (strcmp (file, *p++) != 0)
2976     exit (1);
2977   ++depth;
2978   return 0;
2979 }
2980
2981 int
2982 main ()
2983 {
2984   /* Require these symbols, too.  */
2985   int d1 = FTW_DCH;
2986   int d2 = FTW_DCHP;
2987
2988   int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
2989   exit ((err == 0 && depth == 4) ? 0 : 1);
2990 }
2991 ]])],
2992                [ac_cv_func_ftw_working=yes],
2993                [ac_cv_func_ftw_working=no],
2994                [ac_cv_func_ftw_working=no])])
2995   rm -rf conftest.dir
2996   if test $ac_cv_func_ftw_working = no; then
2997     AC_LIBOBJ([ftw])
2998     AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
2999     # Add tsearch.o IFF we have to use the replacement ftw.c.
3000     if test -n "$need_tdestroy"; then
3001       AC_LIBOBJ([tsearch])
3002       # Link search.h to search_.h if we use the replacement tsearch.c.
3003       AC_CONFIG_LINKS(
3004         [$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
3005     fi
3006   fi
3007 ])# AC_FUNC_FTW
3008
3009 #serial 7
3010
3011 dnl From Jim Meyering.
3012 dnl Determine whether lstat has the bug that it succeeds when given the
3013 dnl zero-length file name argument.  The lstat from SunOS 4.1.4 and the Hurd
3014 dnl (as of 1998-11-01) do this.
3015 dnl
3016 dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
3017 dnl compile the wrapper function.
3018 dnl
3019
3020 AC_DEFUN([jm_FUNC_LSTAT],
3021 [
3022  AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3023  AC_CACHE_CHECK([whether lstat accepts an empty string],
3024   jm_cv_func_lstat_empty_string_bug,
3025   [AC_TRY_RUN([
3026 #   include <sys/types.h>
3027 #   include <sys/stat.h>
3028
3029     int
3030     main ()
3031     {
3032       struct stat sbuf;
3033       exit (lstat ("", &sbuf) ? 1 : 0);
3034     }
3035           ],
3036          jm_cv_func_lstat_empty_string_bug=yes,
3037          jm_cv_func_lstat_empty_string_bug=no,
3038          dnl When crosscompiling, assume lstat is broken.
3039          jm_cv_func_lstat_empty_string_bug=yes)
3040   ])
3041   if test $jm_cv_func_lstat_empty_string_bug = yes; then
3042     AC_LIBOBJ(lstat)
3043     AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
3044 [Define if lstat has the bug that it succeeds when given the zero-length
3045    file name argument.  The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3046    do this. ])
3047   fi
3048 ])
3049
3050 #serial 2
3051
3052 dnl From Jim Meyering.
3053 dnl Provide lchown on systems that lack it.
3054
3055 AC_DEFUN([jm_FUNC_LCHOWN],
3056 [
3057   AC_REQUIRE([AC_TYPE_UID_T])
3058   AC_REPLACE_FUNCS(lchown)
3059 ])
3060
3061 #serial 3
3062
3063 # When rmdir fails because the specified directory is not empty, it sets
3064 # errno to some value, usually ENOTEMPTY.  However, on some AIX systems,
3065 # ENOTEMPTY is mistakenly defined to be EEXIST.  To work around this, and
3066 # in general, to avoid depending on the use of any particular symbol, this
3067 # test runs a test to determine the actual numeric value.
3068 AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
3069 [dnl
3070   AC_CACHE_CHECK([for rmdir-not-empty errno value],
3071     fetish_cv_func_rmdir_errno_not_empty,
3072     [
3073       # Arrange for deletion of the temporary directory this test creates.
3074       ac_clean_files="$ac_clean_files confdir2"
3075       mkdir confdir2; : > confdir2/file
3076       AC_TRY_RUN([
3077 #include <stdio.h>
3078 #include <errno.h>
3079 #ifndef errno
3080 extern int errno;
3081 #endif
3082         int main ()
3083         {
3084           FILE *s;
3085           int val;
3086           rmdir ("confdir2");
3087           val = errno;
3088           s = fopen ("confdir2/errno", "w");
3089           fprintf (s, "%d\n", val);
3090           exit (0);
3091         }
3092         ],
3093       fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
3094       fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
3095       fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
3096       )
3097     ]
3098   )
3099
3100   AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
3101     $fetish_cv_func_rmdir_errno_not_empty,
3102     [the value to which errno is set when rmdir fails on a nonempty directory])
3103 ])
3104
3105 #serial 7
3106
3107 dnl From Jim Meyering.
3108 dnl Determine whether chown accepts arguments of -1 for uid and gid.
3109 dnl If it doesn't, arrange to use the replacement function.
3110 dnl
3111
3112 AC_DEFUN([jm_FUNC_CHOWN],
3113 [AC_REQUIRE([AC_TYPE_UID_T])dnl
3114  test -z "$ac_cv_header_unistd_h" \
3115    && AC_CHECK_HEADERS(unistd.h)
3116  AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown,
3117   [AC_TRY_RUN([
3118 #   include <sys/types.h>
3119 #   include <sys/stat.h>
3120 #   include <fcntl.h>
3121 #   ifdef HAVE_UNISTD_H
3122 #    include <unistd.h>
3123 #   endif
3124
3125     int
3126     main ()
3127     {
3128       char *f = "conftest.chown";
3129       struct stat before, after;
3130
3131       if (creat (f, 0600) < 0)
3132         exit (1);
3133       if (stat (f, &before) < 0)
3134         exit (1);
3135       if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
3136         exit (1);
3137       if (stat (f, &after) < 0)
3138         exit (1);
3139       exit ((before.st_uid == after.st_uid
3140              && before.st_gid == after.st_gid) ? 0 : 1);
3141     }
3142               ],
3143              jm_cv_func_working_chown=yes,
3144              jm_cv_func_working_chown=no,
3145              dnl When crosscompiling, assume chown is broken.
3146              jm_cv_func_working_chown=no)
3147   ])
3148   if test $jm_cv_func_working_chown = no; then
3149     AC_LIBOBJ(chown)
3150     AC_DEFINE(chown, rpl_chown,
3151       [Define to rpl_chown if the replacement function should be used.])
3152   fi
3153 ])
3154
3155 # mktime.m4 serial 2
3156 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3157 dnl This file is free software, distributed under the terms of the GNU
3158 dnl General Public License.  As a special exception to the GNU General
3159 dnl Public License, this file may be distributed as part of a program
3160 dnl that contains a configuration script generated by Autoconf, under
3161 dnl the same distribution terms as the rest of that program.
3162
3163 dnl From Jim Meyering.
3164
3165 # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.57 and earlier.
3166 # This redefinition can be removed once a new version of Autoconf comes out.
3167 # The redefinition is taken from
3168 # <http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.78>.
3169 # AC_FUNC_MKTIME
3170 # --------------
3171 AC_DEFUN([AC_FUNC_MKTIME],
3172 [AC_REQUIRE([AC_HEADER_TIME])dnl
3173 AC_CHECK_HEADERS(stdlib.h sys/time.h unistd.h)
3174 AC_CHECK_FUNCS(alarm)
3175 AC_CACHE_CHECK([for working mktime], ac_cv_func_working_mktime,
3176 [AC_RUN_IFELSE([AC_LANG_SOURCE(
3177 [[/* Test program from Paul Eggert and Tony Leneis.  */
3178 #if TIME_WITH_SYS_TIME
3179 # include <sys/time.h>
3180 # include <time.h>
3181 #else
3182 # if HAVE_SYS_TIME_H
3183 #  include <sys/time.h>
3184 # else
3185 #  include <time.h>
3186 # endif
3187 #endif
3188
3189 #if HAVE_STDLIB_H
3190 # include <stdlib.h>
3191 #endif
3192
3193 #if HAVE_UNISTD_H
3194 # include <unistd.h>
3195 #endif
3196
3197 #if !HAVE_ALARM
3198 # define alarm(X) /* empty */
3199 #endif
3200
3201 /* Work around redefinition to rpl_putenv by other config tests.  */
3202 #undef putenv
3203
3204 static time_t time_t_max;
3205 static time_t time_t_min;
3206
3207 /* Values we'll use to set the TZ environment variable.  */
3208 static char *tz_strings[] = {
3209   (char *) 0, "TZ=GMT0", "TZ=JST-9",
3210   "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
3211 };
3212 #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
3213
3214 /* Fail if mktime fails to convert a date in the spring-forward gap.
3215    Based on a problem report from Andreas Jaeger.  */
3216 static void
3217 spring_forward_gap ()
3218 {
3219   /* glibc (up to about 1998-10-07) failed this test. */
3220   struct tm tm;
3221
3222   /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
3223      instead of "TZ=America/Vancouver" in order to detect the bug even
3224      on systems that don't support the Olson extension, or don't have the
3225      full zoneinfo tables installed.  */
3226   putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
3227
3228   tm.tm_year = 98;
3229   tm.tm_mon = 3;
3230   tm.tm_mday = 5;
3231   tm.tm_hour = 2;
3232   tm.tm_min = 0;
3233   tm.tm_sec = 0;
3234   tm.tm_isdst = -1;
3235   if (mktime (&tm) == (time_t)-1)
3236     exit (1);
3237 }
3238
3239 static void
3240 mktime_test1 (now)
3241      time_t now;
3242 {
3243   struct tm *lt;
3244   if ((lt = localtime (&now)) && mktime (lt) != now)
3245     exit (1);
3246 }
3247
3248 static void
3249 mktime_test (now)
3250      time_t now;
3251 {
3252   mktime_test1 (now);
3253   mktime_test1 ((time_t) (time_t_max - now));
3254   mktime_test1 ((time_t) (time_t_min + now));
3255 }
3256
3257 static void
3258 irix_6_4_bug ()
3259 {
3260   /* Based on code from Ariel Faigon.  */
3261   struct tm tm;
3262   tm.tm_year = 96;
3263   tm.tm_mon = 3;
3264   tm.tm_mday = 0;
3265   tm.tm_hour = 0;
3266   tm.tm_min = 0;
3267   tm.tm_sec = 0;
3268   tm.tm_isdst = -1;
3269   mktime (&tm);
3270   if (tm.tm_mon != 2 || tm.tm_mday != 31)
3271     exit (1);
3272 }
3273
3274 static void
3275 bigtime_test (j)
3276      int j;
3277 {
3278   struct tm tm;
3279   time_t now;
3280   tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
3281   now = mktime (&tm);
3282   if (now != (time_t) -1)
3283     {
3284       struct tm *lt = localtime (&now);
3285       if (! (lt
3286              && lt->tm_year == tm.tm_year
3287              && lt->tm_mon == tm.tm_mon
3288              && lt->tm_mday == tm.tm_mday
3289              && lt->tm_hour == tm.tm_hour
3290              && lt->tm_min == tm.tm_min
3291              && lt->tm_sec == tm.tm_sec
3292              && lt->tm_yday == tm.tm_yday
3293              && lt->tm_wday == tm.tm_wday
3294              && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
3295                   == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
3296         exit (1);
3297     }
3298 }
3299
3300 int
3301 main ()
3302 {
3303   time_t t, delta;
3304   int i, j;
3305
3306   /* This test makes some buggy mktime implementations loop.
3307      Give up after 60 seconds; a mktime slower than that
3308      isn't worth using anyway.  */
3309   alarm (60);
3310
3311   for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
3312     continue;
3313   time_t_max--;
3314   if ((time_t) -1 < 0)
3315     for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
3316       continue;
3317   delta = time_t_max / 997; /* a suitable prime number */
3318   for (i = 0; i < N_STRINGS; i++)
3319     {
3320       if (tz_strings[i])
3321         putenv (tz_strings[i]);
3322
3323       for (t = 0; t <= time_t_max - delta; t += delta)
3324         mktime_test (t);
3325       mktime_test ((time_t) 1);
3326       mktime_test ((time_t) (60 * 60));
3327       mktime_test ((time_t) (60 * 60 * 24));
3328
3329       for (j = 1; 0 < j; j *= 2)
3330         bigtime_test (j);
3331       bigtime_test (j - 1);
3332     }
3333   irix_6_4_bug ();
3334   spring_forward_gap ();
3335   exit (0);
3336 }]])],
3337                [ac_cv_func_working_mktime=yes],
3338                [ac_cv_func_working_mktime=no],
3339                [ac_cv_func_working_mktime=no])])
3340 if test $ac_cv_func_working_mktime = no; then
3341   AC_LIBOBJ([mktime])
3342 fi
3343 ])# AC_FUNC_MKTIME
3344
3345 AC_DEFUN([gl_FUNC_MKTIME],
3346 [
3347   AC_REQUIRE([AC_FUNC_MKTIME])
3348   if test $ac_cv_func_working_mktime = no; then
3349     AC_DEFINE(mktime, rpl_mktime,
3350       [Define to rpl_mktime if the replacement function should be used.])
3351     gl_PREREQ_MKTIME
3352   fi
3353 ])
3354
3355 # Prerequisites of lib/mktime.c.
3356 AC_DEFUN([gl_PREREQ_MKTIME], [
3357   AC_REQUIRE([AC_HEADER_STDC])
3358   AC_CHECK_HEADERS_ONCE(limits.h)
3359 ])
3360
3361 #serial 7
3362
3363 dnl From Jim Meyering.
3364 dnl Determine whether stat has the bug that it succeeds when given the
3365 dnl zero-length file name argument.  The stat from SunOS 4.1.4 and the Hurd
3366 dnl (as of 1998-11-01) do this.
3367 dnl
3368 dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
3369 dnl compile the wrapper function.
3370 dnl
3371
3372 AC_DEFUN([jm_FUNC_STAT],
3373 [
3374  AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3375  AC_CACHE_CHECK([whether stat accepts an empty string],
3376   jm_cv_func_stat_empty_string_bug,
3377   [AC_TRY_RUN([
3378 #   include <sys/types.h>
3379 #   include <sys/stat.h>
3380
3381     int
3382     main ()
3383     {
3384       struct stat sbuf;
3385       exit (stat ("", &sbuf) ? 1 : 0);
3386     }
3387           ],
3388          jm_cv_func_stat_empty_string_bug=yes,
3389          jm_cv_func_stat_empty_string_bug=no,
3390          dnl When crosscompiling, assume stat is broken.
3391          jm_cv_func_stat_empty_string_bug=yes)
3392   ])
3393   if test $jm_cv_func_stat_empty_string_bug = yes; then
3394     AC_LIBOBJ(stat)
3395     AC_DEFINE(HAVE_STAT_EMPTY_STRING_BUG, 1,
3396 [Define if stat has the bug that it succeeds when given the zero-length
3397    file name argument.  The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3398    do this. ])
3399   fi
3400 ])
3401
3402 #serial 8
3403
3404 dnl From Jim Meyering.
3405 dnl Check for the nanosleep function.
3406 dnl If not found, use the supplied replacement.
3407 dnl
3408
3409 AC_DEFUN([jm_FUNC_NANOSLEEP],
3410 [
3411  nanosleep_save_libs=$LIBS
3412
3413  # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
3414  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
3415  AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
3416  AC_SUBST(LIB_NANOSLEEP)
3417
3418  AC_CACHE_CHECK([whether nanosleep works],
3419   jm_cv_func_nanosleep_works,
3420   [
3421    AC_REQUIRE([AC_HEADER_TIME])
3422    AC_TRY_RUN([
3423 #   if TIME_WITH_SYS_TIME
3424 #    include <sys/time.h>
3425 #    include <time.h>
3426 #   else
3427 #    if HAVE_SYS_TIME_H
3428 #     include <sys/time.h>
3429 #    else
3430 #     include <time.h>
3431 #    endif
3432 #   endif
3433
3434     int
3435     main ()
3436     {
3437       struct timespec ts_sleep, ts_remaining;
3438       ts_sleep.tv_sec = 0;
3439       ts_sleep.tv_nsec = 1;
3440       exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
3441     }
3442           ],
3443          jm_cv_func_nanosleep_works=yes,
3444          jm_cv_func_nanosleep_works=no,
3445          dnl When crosscompiling, assume the worst.
3446          jm_cv_func_nanosleep_works=no)
3447   ])
3448   if test $jm_cv_func_nanosleep_works = no; then
3449     AC_LIBOBJ(nanosleep)
3450     AC_DEFINE(nanosleep, rpl_nanosleep,
3451       [Define to rpl_nanosleep if the replacement function should be used.])
3452   fi
3453
3454  LIBS=$nanosleep_save_libs
3455 ])
3456
3457 # memcoll.m4 serial 2
3458 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3459 dnl This file is free software, distributed under the terms of the GNU
3460 dnl General Public License.  As a special exception to the GNU General
3461 dnl Public License, this file may be distributed as part of a program
3462 dnl that contains a configuration script generated by Autoconf, under
3463 dnl the same distribution terms as the rest of that program.
3464
3465 AC_DEFUN([gl_MEMCOLL],
3466 [
3467   dnl Prerequisites of lib/memcoll.c.
3468   AC_REQUIRE([AC_FUNC_MEMCMP])
3469   AC_CHECK_HEADERS_ONCE(string.h)
3470   AC_FUNC_STRCOLL
3471 ])
3472
3473 #serial 8 -*- autoconf -*-
3474
3475 dnl From Jim Meyering.
3476 dnl
3477 dnl See if the glibc *_unlocked I/O macros or functions are available.
3478 dnl Use only those *_unlocked macros or functions that are declared
3479 dnl (because some of them were declared in Solaris 2.5.1 but were removed
3480 dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
3481 dnl on Solaris 2.6).
3482
3483 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
3484 [
3485   dnl Persuade glibc and Solaris <stdio.h> to declare
3486   dnl fgets_unlocked(), fputs_unlocked() etc.
3487   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
3488
3489   AC_CHECK_DECLS_ONCE(
3490      [clearerr_unlocked feof_unlocked ferror_unlocked
3491       fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
3492       fread_unlocked fwrite_unlocked getc_unlocked
3493       getchar_unlocked putc_unlocked putchar_unlocked])
3494 ])
3495
3496 #serial 3
3497
3498 dnl Written by Jim Meyering
3499
3500 AC_DEFUN([jm_FUNC_GROUP_MEMBER],
3501   [
3502     dnl Do this replacement check manually because I want the hyphen
3503     dnl (not the underscore) in the filename.
3504     AC_CHECK_FUNC(group_member, , [AC_LIBOBJ(group-member)])
3505   ]
3506 )
3507
3508 #serial 5
3509
3510 dnl From Jim Meyering.
3511 dnl
3512 dnl Check whether putenv ("FOO") removes FOO from the environment.
3513 dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
3514 dnl
3515
3516 AC_DEFUN([jm_FUNC_PUTENV],
3517 [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
3518   [AC_TRY_RUN([
3519     int
3520     main ()
3521     {
3522       /* Put it in env.  */
3523       if (putenv ("CONFTEST_putenv=val"))
3524         exit (1);
3525
3526       /* Try to remove it.  */
3527       if (putenv ("CONFTEST_putenv"))
3528         exit (1);
3529
3530       /* Make sure it was deleted.  */
3531       if (getenv ("CONFTEST_putenv") != 0)
3532         exit (1);
3533
3534       exit (0);
3535     }
3536               ],
3537              jm_cv_func_svid_putenv=yes,
3538              jm_cv_func_svid_putenv=no,
3539              dnl When crosscompiling, assume putenv is broken.
3540              jm_cv_func_svid_putenv=no)
3541   ])
3542   if test $jm_cv_func_svid_putenv = no; then
3543     AC_LIBOBJ(putenv)
3544     AC_DEFINE(putenv, rpl_putenv,
3545       [Define to rpl_putenv if the replacement function should be used.])
3546   fi
3547 ])
3548
3549 #serial 5
3550
3551 AC_DEFUN([jm_AFS],
3552   [
3553     AC_MSG_CHECKING(for AFS)
3554     if test -d /afs; then
3555       AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
3556       ac_result=yes
3557     else
3558       ac_result=no
3559     fi
3560     AC_MSG_RESULT($ac_result)
3561   ])
3562
3563 #serial 4
3564
3565 # autoconf tests required for use of xstrtoumax.c
3566
3567 AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX],
3568 [
3569   AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3570   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3571   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3572   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3573   AC_CHECK_DECLS([strtol, strtoul, strtoull, strtoimax, strtoumax])
3574   AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3575
3576   AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
3577     jm_cv_func_strtoumax_macro,
3578     AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
3579 #ifdef strtoumax
3580  inttypes_h_defines_strtoumax
3581 #endif],
3582       jm_cv_func_strtoumax_macro=yes,
3583       jm_cv_func_strtoumax_macro=no))
3584
3585   if test "$jm_cv_func_strtoumax_macro" != yes; then
3586     AC_REPLACE_FUNCS(strtoumax)
3587   fi
3588
3589   dnl Only the replacement strtoumax invokes strtoul and strtoull,
3590   dnl so we need the replacements only if strtoumax does not exist.
3591   case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
3592     no,no)
3593       AC_REPLACE_FUNCS(strtoul)
3594
3595       dnl We don't need (and can't compile) the replacement strtoull
3596       dnl unless the type `unsigned long long' exists.
3597       if test "$ac_cv_type_unsigned_long_long" = yes; then
3598         AC_REPLACE_FUNCS(strtoull)
3599       fi
3600       ;;
3601   esac
3602 ])
3603
3604 # intmax_t.m4 serial 1
3605 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
3606 dnl This file is free software, distributed under the terms of the GNU
3607 dnl General Public License.  As a special exception to the GNU General
3608 dnl Public License, this file may be distributed as part of a program
3609 dnl that contains a configuration script generated by Autoconf, under
3610 dnl the same distribution terms as the rest of that program.
3611
3612 dnl From Paul Eggert.
3613
3614 AC_PREREQ(2.13)
3615
3616 # Define intmax_t to 'long' or 'long long'
3617 # if it is not already defined in <stdint.h> or <inttypes.h>.
3618
3619 AC_DEFUN([jm_AC_TYPE_INTMAX_T],
3620 [
3621   dnl For simplicity, we assume that a header file defines 'intmax_t' if and
3622   dnl only if it defines 'uintmax_t'.
3623   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3624   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3625   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3626     AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3627     test $ac_cv_type_long_long = yes \
3628       && ac_type='long long' \
3629       || ac_type='long'
3630     AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3631      [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
3632   else
3633     AC_DEFINE(HAVE_INTMAX_T, 1,
3634       [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3635   fi
3636 ])
3637
3638 dnl An alternative would be to explicitly test for 'intmax_t'.
3639
3640 AC_DEFUN([gt_AC_TYPE_INTMAX_T],
3641 [
3642   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3643   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3644   AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
3645     [AC_TRY_COMPILE([
3646 #include <stddef.h>
3647 #include <stdlib.h>
3648 #if HAVE_STDINT_H_WITH_UINTMAX
3649 #include <stdint.h>
3650 #endif
3651 #if HAVE_INTTYPES_H_WITH_UINTMAX
3652 #include <inttypes.h>
3653 #endif
3654 ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
3655   if test $gt_cv_c_intmax_t = yes; then
3656     AC_DEFINE(HAVE_INTMAX_T, 1,
3657       [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3658   else
3659     AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3660     test $ac_cv_type_long_long = yes \
3661       && ac_type='long long' \
3662       || ac_type='long'
3663     AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3664      [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
3665   fi
3666 ])
3667
3668 #serial 2
3669 dnl Cloned from xstrtoumax.m4.  Keep these files in sync.
3670
3671 # autoconf tests required for use of xstrtoimax.c
3672
3673 AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX],
3674 [
3675   AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3676   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3677   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3678   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3679   AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoimax, strtoumax])
3680   AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3681
3682   AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
3683     jm_cv_func_strtoimax_macro,
3684     AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
3685 #ifdef strtoimax
3686  inttypes_h_defines_strtoimax
3687 #endif],
3688       jm_cv_func_strtoimax_macro=yes,
3689       jm_cv_func_strtoimax_macro=no))
3690
3691   if test "$jm_cv_func_strtoimax_macro" != yes; then
3692     AC_REPLACE_FUNCS(strtoimax)
3693   fi
3694
3695   dnl Only the replacement strtoimax invokes strtol and strtoll,
3696   dnl so we need the replacements only if strtoimax does not exist.
3697   case "$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" in
3698     no,no)
3699       AC_REPLACE_FUNCS(strtol)
3700
3701       dnl We don't need (and can't compile) the replacement strtoll
3702       dnl unless the type `long long' exists.
3703       if test "$ac_cv_type_long_long" = yes; then
3704         AC_REPLACE_FUNCS(strtoll)
3705       fi
3706       ;;
3707   esac
3708 ])
3709
3710 #serial 3
3711 dnl Run a program to determine whether whether link(2) follows symlinks.
3712 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
3713
3714 AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
3715 [dnl
3716   AC_CACHE_CHECK(
3717     [whether link(2) dereferences a symlink specified with a trailing slash],
3718                  jm_ac_cv_func_link_follows_symlink,
3719   [
3720     dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
3721     dnl the appropriate framework.
3722     test -z "$ac_cv_header_unistd_h" \
3723       && AC_CHECK_HEADERS(unistd.h)
3724
3725     # Create a regular file.
3726     echo > conftest.file
3727     AC_TRY_RUN(
3728       [
3729 #       include <sys/types.h>
3730 #       include <sys/stat.h>
3731 #       ifdef HAVE_UNISTD_H
3732 #        include <unistd.h>
3733 #       endif
3734
3735 #       define SAME_INODE(Stat_buf_1, Stat_buf_2) \
3736           ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
3737            && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
3738
3739         int
3740         main ()
3741         {
3742           const char *file = "conftest.file";
3743           const char *sym = "conftest.sym";
3744           const char *hard = "conftest.hard";
3745           struct stat sb_file, sb_hard;
3746
3747           /* Create a symlink to the regular file. */
3748           if (symlink (file, sym))
3749             abort ();
3750
3751           /* Create a hard link to that symlink.  */
3752           if (link (sym, hard))
3753             abort ();
3754
3755           if (lstat (hard, &sb_hard))
3756             abort ();
3757           if (lstat (file, &sb_file))
3758             abort ();
3759
3760           /* If the dev/inode of hard and file are the same, then
3761              the link call followed the symlink.  */
3762           return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
3763         }
3764       ],
3765       jm_ac_cv_func_link_follows_symlink=yes,
3766       jm_ac_cv_func_link_follows_symlink=no,
3767       jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
3768     )
3769   ])
3770   if test $jm_ac_cv_func_link_follows_symlink = yes; then
3771     AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
3772       [Define if `link(2)' dereferences symbolic links.])
3773   fi
3774 ])
3775
3776 # Check for fnmatch.
3777
3778 # This is a modified version of autoconf's AC_FUNC_FNMATCH.
3779 # This file should be simplified after Autoconf 2.57 is required.
3780
3781 # Copyright (C) 2000-2003 Free Software Foundation, Inc.
3782
3783 # This program is free software; you can redistribute it and/or modify
3784 # it under the terms of the GNU General Public License as published by
3785 # the Free Software Foundation; either version 2, or (at your option)
3786 # any later version.
3787
3788 # This program is distributed in the hope that it will be useful,
3789 # but WITHOUT ANY WARRANTY; without even the implied warranty of
3790 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3791 # GNU General Public License for more details.
3792
3793 # You should have received a copy of the GNU General Public License
3794 # along with this program; if not, write to the Free Software
3795 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3796 # 02111-1307, USA.
3797
3798 # _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE)
3799 # -------------------------------------------------------------------------
3800 # If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise
3801 # IF-FALSE.  Use CACHE_VAR.
3802 AC_DEFUN([_AC_FUNC_FNMATCH_IF],
3803 [AC_CACHE_CHECK(
3804    [for working $1 fnmatch],
3805    [$2],
3806   [# Some versions of Solaris, SCO, and the GNU C Library
3807    # have a broken or incompatible fnmatch.
3808    # So we run a test program.  If we are cross-compiling, take no chance.
3809    # Thanks to John Oleynick, Franc,ois Pinard, and Paul Eggert for this test.
3810    AC_RUN_IFELSE(
3811       [AC_LANG_PROGRAM(
3812          [
3813 #          include <stdlib.h>
3814 #          include <fnmatch.h>
3815 #          define y(a, b, c) (fnmatch (a, b, c) == 0)
3816 #          define n(a, b, c) (fnmatch (a, b, c) == FNM_NOMATCH)
3817          ],
3818          [exit
3819            (!(y ("a*", "abc", 0)
3820               && n ("d*/*1", "d/s/1", FNM_PATHNAME)
3821               && y ("a\\\\bc", "abc", 0)
3822               && n ("a\\\\bc", "abc", FNM_NOESCAPE)
3823               && y ("*x", ".x", 0)
3824               && n ("*x", ".x", FNM_PERIOD)
3825               && m4_if([$1], [GNU],
3826                    [y ("xxXX", "xXxX", FNM_CASEFOLD)
3827                     && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
3828                     && n ("d*/*1", "d/s/1", FNM_FILE_NAME)
3829                     && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
3830                     && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
3831                     && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)],
3832                    1)));])],
3833       [$2=yes],
3834       [$2=no],
3835       [$2=cross])])
3836 AS_IF([test $$2 = yes], [$3], [$4])
3837 ])# _AC_FUNC_FNMATCH_IF
3838
3839
3840 # _AC_LIBOBJ_FNMATCH
3841 # ------------------
3842 # Prepare the replacement of fnmatch.
3843 AC_DEFUN([_AC_LIBOBJ_FNMATCH],
3844 [AC_REQUIRE([AC_C_CONST])dnl
3845 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
3846 AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
3847 AC_CHECK_DECLS([getenv])
3848 AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmempcpy])
3849 AC_CHECK_HEADERS([wchar.h wctype.h])
3850 AC_LIBOBJ([fnmatch])
3851 FNMATCH_H=fnmatch.h
3852 AC_DEFINE(fnmatch, rpl_fnmatch,
3853           [Define to rpl_fnmatch if the replacement function should be used.])
3854 ])# _AC_LIBOBJ_FNMATCH
3855
3856
3857 # Additional prerequisites of lib/fnmatch.c, not part of _AC_LIBOBJ_FNMATCH.
3858 AC_DEFUN([gl_PREREQ_FNMATCH_EXTRA],
3859 [
3860   AC_REQUIRE([AC_HEADER_STDC])
3861   AC_CHECK_HEADERS_ONCE(string.h strings.h)
3862 ])
3863
3864
3865 AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
3866 [
3867   FNMATCH_H=
3868   _AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_posix],
3869                       [rm -f lib/fnmatch.h],
3870                       [_AC_LIBOBJ_FNMATCH])
3871   if test $ac_cv_func_fnmatch_posix != yes; then
3872     gl_PREREQ_FNMATCH_EXTRA
3873     dnl We must choose a different name for our function, since on ELF systems
3874     dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3875     dnl compiled into a shared library.
3876     AC_DEFINE([fnmatch], [posix_fnmatch],
3877       [Define to a replacement function name for fnmatch().])
3878   fi
3879   AC_SUBST([FNMATCH_H])
3880 ])
3881
3882
3883 AC_DEFUN([gl_FUNC_FNMATCH_GNU],
3884 [
3885   dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
3886   AC_REQUIRE([AC_GNU_SOURCE])
3887
3888   FNMATCH_H=
3889   _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu],
3890                       [rm -f lib/fnmatch.h],
3891                       [_AC_LIBOBJ_FNMATCH])
3892   if test $ac_cv_func_fnmatch_gnu != yes; then
3893     gl_PREREQ_FNMATCH_EXTRA
3894     dnl We must choose a different name for our function, since on ELF systems
3895     dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3896     dnl compiled into a shared library.
3897     AC_DEFINE([fnmatch], [gnu_fnmatch],
3898       [Define to a replacement function name for fnmatch().])
3899   fi
3900   AC_SUBST([FNMATCH_H])
3901 ])
3902
3903 #serial 20
3904
3905 dnl This macro is intended to be used solely in this file.
3906 dnl These are the prerequisite macros for GNU's strftime.c replacement.
3907 AC_DEFUN([_jm_STRFTIME_PREREQS],
3908 [
3909  dnl strftime.c uses the underyling system strftime if it exists.
3910  AC_FUNC_STRFTIME
3911
3912  AC_CHECK_HEADERS_ONCE(limits.h)
3913  AC_CHECK_FUNCS_ONCE(memcpy mempcpy)
3914  AC_CHECK_FUNCS(tzset memset)
3915
3916  # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
3917  AC_STRUCT_TIMEZONE
3918
3919  AC_CHECK_FUNCS(mblen mbrlen)
3920  AC_TYPE_MBSTATE_T
3921
3922  AC_REQUIRE([gl_TM_GMTOFF])
3923  AC_REQUIRE([gl_FUNC_TZSET_CLOBBER])
3924 ])
3925
3926 dnl From Jim Meyering.
3927 dnl
3928 AC_DEFUN([jm_FUNC_GNU_STRFTIME],
3929 [AC_REQUIRE([AC_HEADER_TIME])dnl
3930
3931  _jm_STRFTIME_PREREQS
3932
3933  AC_REQUIRE([AC_C_CONST])dnl
3934  AC_REQUIRE([AC_HEADER_STDC])dnl
3935  AC_CHECK_HEADERS_ONCE(sys/time.h)
3936  AC_DEFINE([my_strftime], [nstrftime],
3937    [Define to the name of the strftime replacement function.])
3938 ])
3939
3940 AC_DEFUN([jm_FUNC_STRFTIME],
3941 [
3942   _jm_STRFTIME_PREREQS
3943 ])
3944
3945 # tm_gmtoff.m4 serial 1
3946 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3947 dnl This file is free software, distributed under the terms of the GNU
3948 dnl General Public License.  As a special exception to the GNU General
3949 dnl Public License, this file may be distributed as part of a program
3950 dnl that contains a configuration script generated by Autoconf, under
3951 dnl the same distribution terms as the rest of that program.
3952
3953 AC_DEFUN([gl_TM_GMTOFF],
3954 [
3955  AC_CHECK_MEMBER([struct tm.tm_gmtoff],
3956                  [AC_DEFINE(HAVE_TM_GMTOFF, 1,
3957                             [Define if struct tm has the tm_gmtoff member.])],
3958                  ,
3959                  [#include <time.h>])
3960 ])
3961
3962 #serial 1
3963 # See if we have a working tzset function.
3964 # If so, arrange to compile the wrapper function.
3965 # For at least Solaris 2.5.1 and 2.6, this is necessary
3966 # because tzset can clobber the contents of the buffer
3967 # used by localtime.
3968
3969 # Written by Paul Eggert and Jim Meyering.
3970
3971 AC_DEFUN([gl_FUNC_TZSET_CLOBBER],
3972 [
3973   AC_REQUIRE([AC_HEADER_TIME])
3974   AC_CACHE_CHECK([whether tzset clobbers localtime buffer],
3975                  gl_cv_func_tzset_clobber,
3976   [
3977   AC_RUN_IFELSE([AC_LANG_SOURCE([[
3978 #if TIME_WITH_SYS_TIME
3979 # include <sys/time.h>
3980 # include <time.h>
3981 #else
3982 # if HAVE_SYS_TIME_H
3983 #  include <sys/time.h>
3984 # else
3985 #  include <time.h>
3986 # endif
3987 #endif
3988 #include <stdlib.h>
3989
3990 int
3991 main ()
3992 {
3993   time_t t1 = 853958121;
3994   struct tm *p, s;
3995   putenv ("TZ=GMT0");
3996   p = localtime (&t1);
3997   s = *p;
3998   putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00");
3999   tzset ();
4000   exit (p->tm_year != s.tm_year
4001         || p->tm_mon != s.tm_mon
4002         || p->tm_mday != s.tm_mday
4003         || p->tm_hour != s.tm_hour
4004         || p->tm_min != s.tm_min
4005         || p->tm_sec != s.tm_sec);
4006 }
4007   ]])],
4008        [gl_cv_func_tzset_clobber=no],
4009        [gl_cv_func_tzset_clobber=yes],
4010        [gl_cv_func_tzset_clobber=yes])])
4011
4012   AC_DEFINE(HAVE_RUN_TZSET_TEST, 1,
4013     [Define to 1 if you have run the test for working tzset.])
4014
4015   if test $gl_cv_func_tzset_clobber = yes; then
4016     # Caution: the following few lines should be the same
4017     # as those in gettimeofday.m4.
4018     AC_LIBOBJ(gettimeofday)
4019     AC_DEFINE(gmtime, rpl_gmtime,
4020       [Define to rpl_gmtime if the replacement function should be used.])
4021     AC_DEFINE(localtime, rpl_localtime,
4022       [Define to rpl_localtime if the replacement function should be used.])
4023
4024     AC_DEFINE(tzset, rpl_tzset,
4025       [Define to rpl_tzset if the wrapper function should be used.])
4026     AC_DEFINE(TZSET_CLOBBERS_LOCALTIME_BUFFER, 1,
4027       [Define if tzset clobbers localtime's static buffer.])
4028   fi
4029 ])
4030
4031 #serial 3
4032
4033 dnl From Jim Meyering
4034 dnl Using code from emacs, based on suggestions from Paul Eggert
4035 dnl and Ulrich Drepper.
4036
4037 dnl Find out how to determine the number of pending output bytes on a stream.
4038 dnl glibc (2.1.93 and newer) and Solaris provide __fpending.  On other systems,
4039 dnl we have to grub around in the FILE struct.
4040
4041 AC_DEFUN([jm_FUNC_FPENDING],
4042 [
4043   AC_CHECK_HEADERS(stdio_ext.h)
4044   AC_REPLACE_FUNCS([__fpending])
4045   fp_headers='
4046 #     if HAVE_STDIO_EXT_H
4047 #      include <stdio_ext.h>
4048 #     endif
4049 '
4050   AC_CHECK_DECLS([__fpending], , , $fp_headers)
4051   if test $ac_cv_func___fpending = no; then
4052     AC_CACHE_CHECK(
4053               [how to determine the number of pending output bytes on a stream],
4054                    ac_cv_sys_pending_output_n_bytes,
4055       [
4056         for ac_expr in                                          \
4057                                                                 \
4058             '# glibc2'                                          \
4059             'fp->_IO_write_ptr - fp->_IO_write_base'            \
4060                                                                 \
4061             '# traditional Unix'                                \
4062             'fp->_ptr - fp->_base'                              \
4063                                                                 \
4064             '# BSD'                                             \
4065             'fp->_p - fp->_bf._base'                            \
4066                                                                 \
4067             '# SCO, Unixware'                                   \
4068             'fp->__ptr - fp->__base'                            \
4069                                                                 \
4070             '# old glibc?'                                      \
4071             'fp->__bufp - fp->__buffer'                         \
4072                                                                 \
4073             '# old glibc iostream?'                             \
4074             'fp->_pptr - fp->_pbase'                            \
4075                                                                 \
4076             '# VMS'                                             \
4077             '(*fp)->_ptr - (*fp)->_base'                        \
4078                                                                 \
4079             '# e.g., DGUX R4.11; the info is not available'     \
4080             1                                                   \
4081             ; do
4082
4083           # Skip each embedded comment.
4084           case "$ac_expr" in '#'*) continue;; esac
4085
4086           AC_TRY_COMPILE(
4087             [#include <stdio.h>
4088             ],
4089             [FILE *fp = stdin; (void) ($ac_expr);],
4090             fp_done=yes
4091           )
4092           test "$fp_done" = yes && break
4093         done
4094
4095         ac_cv_sys_pending_output_n_bytes=$ac_expr
4096       ]
4097     )
4098     AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
4099       $ac_cv_sys_pending_output_n_bytes,
4100       [the number of pending output bytes on stream `fp'])
4101   fi
4102 ])
4103
4104 # inttypes-pri.m4 serial 1001 (based on gettext-0.11.4's `serial 1')
4105 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
4106 dnl This file is free software, distributed under the terms of the GNU
4107 dnl General Public License.  As a special exception to the GNU General
4108 dnl Public License, this file may be distributed as part of a program
4109 dnl that contains a configuration script generated by Autoconf, under
4110 dnl the same distribution terms as the rest of that program.
4111
4112 dnl From Bruno Haible.
4113
4114 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
4115 # macros to non-string values.  This is the case on AIX 4.3.3.
4116
4117 AC_DEFUN([gt_INTTYPES_PRI],
4118 [
4119   # autoconf-2.52 has a proper check for inttypes.h.
4120   AC_PREREQ(2.52)
4121
4122   if test $ac_cv_header_inttypes_h = yes; then
4123     AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
4124       gt_cv_inttypes_pri_broken,
4125       [
4126         AC_TRY_COMPILE([#include <inttypes.h>
4127 #ifdef PRId32
4128 char *p = PRId32;
4129 #endif
4130 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
4131       ])
4132   fi
4133   if test "$gt_cv_inttypes_pri_broken" = yes; then
4134     AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
4135       [Define if <inttypes.h> exists and defines unusable PRI* macros.])
4136   fi
4137 ])
4138
4139 #serial 7
4140
4141 dnl From Jim Meyering.
4142 dnl A wrapper around AC_FUNC_GETGROUPS.
4143
4144 AC_DEFUN([jm_FUNC_GETGROUPS],
4145 [AC_REQUIRE([AC_FUNC_GETGROUPS])dnl
4146   if test $ac_cv_func_getgroups_works = no; then
4147     AC_LIBOBJ(getgroups)
4148     AC_DEFINE(getgroups, rpl_getgroups,
4149       [Define as rpl_getgroups if getgroups doesn't work right.])
4150   fi
4151   test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
4152 ])
4153
4154 # alloca.m4 serial 2 (gettext-0.12)
4155 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4156 dnl This file is free software, distributed under the terms of the GNU
4157 dnl General Public License.  As a special exception to the GNU General
4158 dnl Public License, this file may be distributed as part of a program
4159 dnl that contains a configuration script generated by Autoconf, under
4160 dnl the same distribution terms as the rest of that program.
4161
4162 AC_DEFUN([gl_FUNC_ALLOCA],
4163 [
4164   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
4165   AC_REQUIRE([AC_PROG_CPP])
4166   AC_REQUIRE([AC_PROG_EGREP])
4167
4168   AC_REQUIRE([AC_FUNC_ALLOCA])
4169   if test $ac_cv_func_alloca_works = no; then
4170     gl_PREREQ_ALLOCA
4171   fi
4172
4173   # Define an additional variable used in the Makefile substitution.
4174
4175   AC_EGREP_CPP([Need own alloca], [
4176 #if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
4177   Need own alloca
4178 #endif
4179     ],
4180     ALLOCA_H=alloca.h,
4181     ALLOCA_H=)
4182   AC_SUBST([ALLOCA_H])
4183 ])
4184
4185 # Prerequisites of lib/alloca.c.
4186 # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
4187 AC_DEFUN([gl_PREREQ_ALLOCA], [
4188   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
4189 ])
4190
4191 #serial 5
4192
4193 AC_PREREQ(2.13)
4194
4195 AC_DEFUN([jm_SYS_PROC_UPTIME],
4196 [ dnl Require AC_PROG_CC to see if we're cross compiling.
4197   AC_REQUIRE([AC_PROG_CC])
4198   AC_CACHE_CHECK([for /proc/uptime], jm_cv_have_proc_uptime,
4199   [jm_cv_have_proc_uptime=no
4200     test -f /proc/uptime \
4201       && test "$cross_compiling" = no \
4202       && cat < /proc/uptime >/dev/null 2>/dev/null \
4203       && jm_cv_have_proc_uptime=yes])
4204   if test $jm_cv_have_proc_uptime = yes; then
4205     AC_DEFINE(HAVE_PROC_UPTIME, 1,
4206               [  Define if your system has the /proc/uptime special file.])
4207   fi
4208 ])
4209
4210 #serial 4
4211
4212 # See if we need to emulate a missing ftruncate function using fcntl or chsize.
4213
4214 AC_DEFUN([jm_FUNC_FTRUNCATE],
4215 [
4216   AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
4217
4218   if test "$ftruncate_missing" = yes; then
4219     AC_CHECK_HEADERS([unistd.h])
4220     AC_CHECK_FUNCS([chsize])
4221     AC_LIBOBJ(ftruncate)
4222   fi
4223 ])
4224
4225 #serial 3
4226
4227 dnl From Volker Borchert.
4228 dnl Determine whether rename works for source paths with a trailing slash.
4229 dnl The rename from SunOS 4.1.1_U1 doesn't.
4230 dnl
4231 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
4232 dnl to compile the wrapper function.
4233 dnl
4234
4235 AC_DEFUN([vb_FUNC_RENAME],
4236 [
4237  AC_CACHE_CHECK([whether rename is broken],
4238   vb_cv_func_rename_trailing_slash_bug,
4239   [
4240     rm -rf conftest.d1 conftest.d2
4241     mkdir conftest.d1 ||
4242       AC_MSG_ERROR([cannot create temporary directory])
4243     AC_TRY_RUN([
4244 #       include <stdio.h>
4245         int
4246         main ()
4247         {
4248           exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
4249         }
4250       ],
4251       vb_cv_func_rename_trailing_slash_bug=no,
4252       vb_cv_func_rename_trailing_slash_bug=yes,
4253       dnl When crosscompiling, assume rename is broken.
4254       vb_cv_func_rename_trailing_slash_bug=yes)
4255
4256       rm -rf conftest.d1 conftest.d2
4257   ])
4258   if test $vb_cv_func_rename_trailing_slash_bug = yes; then
4259     AC_LIBOBJ(rename)
4260     AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
4261 [Define if rename does not work for source paths with a trailing slash,
4262    like the one from SunOS 4.1.1_U1.])
4263   fi
4264 ])
4265
4266 #serial 1
4267
4268 # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
4269 # silly limit that it can create no more than 26 files from a given template.
4270 # Other systems lack mkstemp altogether.  On either type of system, arrange
4271 # to use the replacement function.
4272 AC_DEFUN([UTILS_FUNC_MKSTEMP],
4273 [dnl
4274   AC_REPLACE_FUNCS(mkstemp)
4275   if test $ac_cv_func_mkstemp = no; then
4276     utils_cv_func_mkstemp_limitations=yes
4277   else
4278     AC_CACHE_CHECK([for mkstemp limitations],
4279       utils_cv_func_mkstemp_limitations,
4280       [
4281         AC_TRY_RUN([
4282 #         include <stdlib.h>
4283           int main ()
4284           {
4285             int i;
4286             for (i = 0; i < 30; i++)
4287               {
4288                 char template[] = "conftestXXXXXX";
4289                 int fd = mkstemp (template);
4290                 if (fd == -1)
4291                   exit (1);
4292                 close (fd);
4293               }
4294             exit (0);
4295           }
4296           ],
4297         utils_cv_func_mkstemp_limitations=no,
4298         utils_cv_func_mkstemp_limitations=yes,
4299         utils_cv_func_mkstemp_limitations=yes
4300         )
4301       ]
4302     )
4303   fi
4304
4305   if test $utils_cv_func_mkstemp_limitations = yes; then
4306     AC_LIBOBJ(mkstemp)
4307     AC_LIBOBJ(tempname)
4308     AC_DEFINE(mkstemp, rpl_mkstemp,
4309       [Define to rpl_mkstemp if the replacement function should be used.])
4310   fi
4311 ])
4312
4313 #serial 2
4314
4315 dnl From Jim Meyering.
4316 dnl
4317 dnl See if gettimeofday clobbers the static buffer that localtime uses
4318 dnl for it's return value.  The gettimeofday function from Mac OS X 10.0.4,
4319 dnl i.e. Darwin 1.3.7 has this problem.
4320 dnl
4321 dnl If it does, then arrange to use gettimeofday and localtime only via
4322 dnl the wrapper functions that work around the problem.
4323
4324 AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
4325 [
4326  AC_REQUIRE([AC_HEADER_TIME])
4327  AC_CHECK_HEADERS(string.h stdlib.h)
4328  AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
4329   jm_cv_func_gettimeofday_clobber,
4330   [AC_TRY_RUN([
4331 #include <stdio.h>
4332 #if HAVE_STRING_H
4333 # include <string.h>
4334 #endif
4335
4336 #if TIME_WITH_SYS_TIME
4337 # include <sys/time.h>
4338 # include <time.h>
4339 #else
4340 # if HAVE_SYS_TIME_H
4341 #  include <sys/time.h>
4342 # else
4343 #  include <time.h>
4344 # endif
4345 #endif
4346
4347 #if HAVE_STDLIB_H
4348 # include <stdlib.h>
4349 #endif
4350
4351 int
4352 main ()
4353 {
4354   time_t t = 0;
4355   struct tm *lt;
4356   struct tm saved_lt;
4357   struct timeval tv;
4358   lt = localtime (&t);
4359   saved_lt = *lt;
4360   gettimeofday (&tv, NULL);
4361   if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
4362     exit (1);
4363
4364   exit (0);
4365 }
4366           ],
4367          jm_cv_func_gettimeofday_clobber=no,
4368          jm_cv_func_gettimeofday_clobber=yes,
4369          dnl When crosscompiling, assume it is broken.
4370          jm_cv_func_gettimeofday_clobber=yes)
4371   ])
4372   if test $jm_cv_func_gettimeofday_clobber = yes; then
4373     # Caution: the following few lines should be the same
4374     # as those in gettimeofday.m4.
4375     AC_LIBOBJ(gettimeofday)
4376     AC_DEFINE(gmtime, rpl_gmtime,
4377       [Define to rpl_gmtime if the replacement function should be used.])
4378     AC_DEFINE(localtime, rpl_localtime,
4379       [Define to rpl_localtime if the replacement function should be used.])
4380
4381     AC_DEFINE(gettimeofday, rpl_gettimeofday,
4382       [Define to rpl_gettimeofday if the replacement function should be used.])
4383     AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
4384       [Define if gettimeofday clobbers localtime's static buffer.])
4385   fi
4386 ])
4387
4388 #serial 3
4389
4390 dnl From Jim Meyering
4391 dnl Replace the utime function on systems that need it.
4392
4393 dnl FIXME
4394
4395 AC_DEFUN([jm_FUNC_UTIME],
4396 [
4397   AC_CHECK_HEADERS(utime.h)
4398   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
4399   AC_REQUIRE([AC_FUNC_UTIME_NULL])
4400
4401   if test $ac_cv_func_utime_null = no; then
4402     jm_FUNC_UTIMES_NULL
4403     AC_REPLACE_FUNCS(utime)
4404   fi
4405 ])
4406
4407 #serial 4
4408
4409 dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL,
4410 dnl then do case-insensitive s/utime/utimes/.
4411
4412 AC_DEFUN([jm_FUNC_UTIMES_NULL],
4413 [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
4414 [rm -f conftest.data; > conftest.data
4415 AC_TRY_RUN([
4416 /* In case stat has been defined to rpl_stat, undef it here.  */
4417 #undef stat
4418 #include <sys/types.h>
4419 #include <sys/stat.h>
4420 main() {
4421 struct stat s, t;
4422 exit(!(stat ("conftest.data", &s) == 0
4423        && utimes("conftest.data", (long *)0) == 0
4424        && stat("conftest.data", &t) == 0
4425        && t.st_mtime >= s.st_mtime
4426        && t.st_mtime - s.st_mtime < 120));
4427 }],
4428   ac_cv_func_utimes_null=yes,
4429   ac_cv_func_utimes_null=no,
4430   ac_cv_func_utimes_null=no)
4431 rm -f core core.* *.core])
4432
4433     if test $ac_cv_func_utimes_null = yes; then
4434       AC_DEFINE(HAVE_UTIMES_NULL, 1,
4435                 [Define if utimes accepts a null argument])
4436     fi
4437   ]
4438 )
4439
4440 # vasprintf.m4 serial 1
4441 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4442 dnl This file is free software, distributed under the terms of the GNU
4443 dnl General Public License.  As a special exception to the GNU General
4444 dnl Public License, this file may be distributed as part of a program
4445 dnl that contains a configuration script generated by Autoconf, under
4446 dnl the same distribution terms as the rest of that program.
4447
4448 AC_DEFUN([gl_FUNC_VASPRINTF],
4449 [
4450   AC_REPLACE_FUNCS(vasprintf)
4451   if test $ac_cv_func_vasprintf = no; then
4452     AC_LIBOBJ(asprintf)
4453     gl_PREREQ_VASPRINTF
4454     gl_PREREQ_ASPRINTF
4455   fi
4456 ])
4457
4458 # Prerequisites of lib/vasprintf.c.
4459 AC_DEFUN([gl_PREREQ_VASPRINTF],
4460 [
4461 ])
4462
4463 # Prerequisites of lib/asprintf.c.
4464 AC_DEFUN([gl_PREREQ_ASPRINTF],
4465 [
4466 ])
4467
4468 # vasnprintf.m4 serial 1
4469 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4470 dnl This file is free software, distributed under the terms of the GNU
4471 dnl General Public License.  As a special exception to the GNU General
4472 dnl Public License, this file may be distributed as part of a program
4473 dnl that contains a configuration script generated by Autoconf, under
4474 dnl the same distribution terms as the rest of that program.
4475
4476 AC_DEFUN([gl_FUNC_VASNPRINTF],
4477 [
4478   AC_REPLACE_FUNCS(vasnprintf)
4479   if test $ac_cv_func_vasnprintf = no; then
4480     AC_LIBOBJ(printf-args)
4481     AC_LIBOBJ(printf-parse)
4482     AC_LIBOBJ(asnprintf)
4483     gl_PREREQ_PRINTF_ARGS
4484     gl_PREREQ_PRINTF_PARSE
4485     gl_PREREQ_VASNPRINTF
4486     gl_PREREQ_ASNPRINTF
4487   fi
4488 ])
4489
4490 # Prequisites of lib/printf-args.h, lib/printf-args.c.
4491 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
4492 [
4493   AC_REQUIRE([bh_C_SIGNED])
4494   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4495   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4496   AC_REQUIRE([gt_TYPE_WCHAR_T])
4497   AC_REQUIRE([gt_TYPE_WINT_T])
4498 ])
4499
4500 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
4501 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
4502 [
4503   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4504   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4505   AC_REQUIRE([gt_TYPE_WCHAR_T])
4506   AC_REQUIRE([gt_TYPE_WINT_T])
4507   AC_REQUIRE([AC_TYPE_SIZE_T])
4508   AC_CHECK_TYPES(ptrdiff_t)
4509   AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
4510 ])
4511
4512 # Prerequisites of lib/vasnprintf.c.
4513 AC_DEFUN([gl_PREREQ_VASNPRINTF],
4514 [
4515   AC_REQUIRE([AC_FUNC_ALLOCA])
4516   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4517   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4518   AC_REQUIRE([gt_TYPE_WCHAR_T])
4519   AC_REQUIRE([gt_TYPE_WINT_T])
4520   AC_CHECK_FUNCS(snprintf)
4521
4522   # Solaris 2.5.1 needs -lw to get the wcslen function.
4523   AC_SEARCH_LIBS(wcslen, [w])
4524 ])
4525
4526 # Prerequisites of lib/asnprintf.c.
4527 AC_DEFUN([gl_PREREQ_ASNPRINTF],
4528 [
4529 ])
4530
4531 # signed.m4 serial 1 (gettext-0.10.40)
4532 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4533 dnl This file is free software, distributed under the terms of the GNU
4534 dnl General Public License.  As a special exception to the GNU General
4535 dnl Public License, this file may be distributed as part of a program
4536 dnl that contains a configuration script generated by Autoconf, under
4537 dnl the same distribution terms as the rest of that program.
4538
4539 dnl From Bruno Haible.
4540
4541 AC_DEFUN([bh_C_SIGNED],
4542 [
4543   AC_CACHE_CHECK([for signed], bh_cv_c_signed,
4544    [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
4545   if test $bh_cv_c_signed = no; then
4546     AC_DEFINE(signed, ,
4547               [Define to empty if the C compiler doesn't support this keyword.])
4548   fi
4549 ])
4550
4551 # longdouble.m4 serial 1 (gettext-0.12)
4552 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4553 dnl This file is free software, distributed under the terms of the GNU
4554 dnl General Public License.  As a special exception to the GNU General
4555 dnl Public License, this file may be distributed as part of a program
4556 dnl that contains a configuration script generated by Autoconf, under
4557 dnl the same distribution terms as the rest of that program.
4558
4559 dnl From Bruno Haible.
4560 dnl Test whether the compiler supports the 'long double' type.
4561 dnl Prerequisite: AC_PROG_CC
4562
4563 AC_DEFUN([gt_TYPE_LONGDOUBLE],
4564 [
4565   AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
4566     [if test "$GCC" = yes; then
4567        gt_cv_c_long_double=yes
4568      else
4569        AC_TRY_COMPILE([
4570          /* The Stardent Vistra knows sizeof(long double), but does not support it.  */
4571          long double foo = 0.0;
4572          /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
4573          int array [2*(sizeof(long double) >= sizeof(double)) - 1];
4574          ], ,
4575          gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
4576      fi])
4577   if test $gt_cv_c_long_double = yes; then
4578     AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
4579   fi
4580 ])
4581
4582 # wchar_t.m4 serial 1 (gettext-0.12)
4583 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4584 dnl This file is free software, distributed under the terms of the GNU
4585 dnl General Public License.  As a special exception to the GNU General
4586 dnl Public License, this file may be distributed as part of a program
4587 dnl that contains a configuration script generated by Autoconf, under
4588 dnl the same distribution terms as the rest of that program.
4589
4590 dnl From Bruno Haible.
4591 dnl Test whether <stddef.h> has the 'wchar_t' type.
4592 dnl Prerequisite: AC_PROG_CC
4593
4594 AC_DEFUN([gt_TYPE_WCHAR_T],
4595 [
4596   AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
4597     [AC_TRY_COMPILE([#include <stddef.h>
4598        wchar_t foo = (wchar_t)'\0';], ,
4599        gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
4600   if test $gt_cv_c_wchar_t = yes; then
4601     AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
4602   fi
4603 ])
4604
4605 # wint_t.m4 serial 1 (gettext-0.12)
4606 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4607 dnl This file is free software, distributed under the terms of the GNU
4608 dnl General Public License.  As a special exception to the GNU General
4609 dnl Public License, this file may be distributed as part of a program
4610 dnl that contains a configuration script generated by Autoconf, under
4611 dnl the same distribution terms as the rest of that program.
4612
4613 dnl From Bruno Haible.
4614 dnl Test whether <wchar.h> has the 'wint_t' type.
4615 dnl Prerequisite: AC_PROG_CC
4616
4617 AC_DEFUN([gt_TYPE_WINT_T],
4618 [
4619   AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
4620     [AC_TRY_COMPILE([#include <wchar.h>
4621        wint_t foo = (wchar_t)'\0';], ,
4622        gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
4623   if test $gt_cv_c_wint_t = yes; then
4624     AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
4625   fi
4626 ])
4627
4628 # getline.m4 serial 9
4629
4630 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
4631 dnl Foundation, Inc.
4632
4633 dnl This file is free software, distributed under the terms of the GNU
4634 dnl General Public License.  As a special exception to the GNU General
4635 dnl Public License, this file may be distributed as part of a program
4636 dnl that contains a configuration script generated by Autoconf, under
4637 dnl the same distribution terms as the rest of that program.
4638
4639 AC_PREREQ(2.52)
4640
4641 dnl See if there's a working, system-supplied version of the getline function.
4642 dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
4643 dnl have a function by that name in -linet that doesn't have anything
4644 dnl to do with the function we need.
4645 AC_DEFUN([AM_FUNC_GETLINE],
4646 [
4647   dnl Persuade glibc <stdio.h> to declare getline() and getdelim().
4648   AC_REQUIRE([AC_GNU_SOURCE])
4649
4650   am_getline_needs_run_time_check=no
4651   AC_CHECK_FUNC(getline,
4652                 dnl Found it in some library.  Verify that it works.
4653                 am_getline_needs_run_time_check=yes,
4654                 am_cv_func_working_getline=no)
4655   if test $am_getline_needs_run_time_check = yes; then
4656     AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
4657     [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
4658     AC_TRY_RUN([
4659 #    include <stdio.h>
4660 #    include <stdlib.h>
4661 #    include <string.h>
4662     int main ()
4663     { /* Based on a test program from Karl Heuer.  */
4664       char *line = NULL;
4665       size_t siz = 0;
4666       int len;
4667       FILE *in = fopen ("./conftest.data", "r");
4668       if (!in)
4669         return 1;
4670       len = getline (&line, &siz, in);
4671       exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
4672     }
4673     ], am_cv_func_working_getline=yes dnl The library version works.
4674     , am_cv_func_working_getline=no dnl The library version does NOT work.
4675     , am_cv_func_working_getline=no dnl We're cross compiling.
4676     )])
4677   fi
4678
4679   if test $am_cv_func_working_getline = no; then
4680     dnl We must choose a different name for our function, since on ELF systems
4681     dnl a broken getline() in libc.so would override our getline() in
4682     dnl libgettextlib.so.
4683     AC_DEFINE([getline], [gnu_getline],
4684       [Define to a replacement function name for getline().])
4685     AC_LIBOBJ(getline)
4686     gl_PREREQ_GETLINE
4687     gl_PREREQ_GETNDELIM2
4688   fi
4689 ])
4690
4691 # Prerequisites of lib/getline.c.
4692 AC_DEFUN([gl_PREREQ_GETLINE],
4693 [
4694   AC_CHECK_FUNCS(getdelim)
4695 ])
4696
4697 # getndelim2.m4 serial 1
4698 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4699 dnl This file is free software, distributed under the terms of the GNU
4700 dnl General Public License.  As a special exception to the GNU General
4701 dnl Public License, this file may be distributed as part of a program
4702 dnl that contains a configuration script generated by Autoconf, under
4703 dnl the same distribution terms as the rest of that program.
4704
4705 AC_DEFUN([gl_GETNDELIM2],
4706 [
4707   gl_PREREQ_GETNDELIM2
4708 ])
4709
4710 # Prerequisites of lib/getndelim2.h and lib/getndelim2.c.
4711 AC_DEFUN([gl_PREREQ_GETNDELIM2],
4712 [
4713   dnl Prerequisites of lib/getndelim2.h.
4714   AC_REQUIRE([gt_TYPE_SSIZE_T])
4715   dnl Prerequisites of lib/getndelim2.c.
4716   AC_REQUIRE([AC_HEADER_STDC])
4717 ])
4718
4719 # ssize_t.m4 serial 3 (gettext-0.12.2)
4720 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
4721 dnl This file is free software, distributed under the terms of the GNU
4722 dnl General Public License.  As a special exception to the GNU General
4723 dnl Public License, this file may be distributed as part of a program
4724 dnl that contains a configuration script generated by Autoconf, under
4725 dnl the same distribution terms as the rest of that program.
4726
4727 dnl From Bruno Haible.
4728 dnl Test whether ssize_t is defined.
4729
4730 AC_DEFUN([gt_TYPE_SSIZE_T],
4731 [
4732   AC_CACHE_CHECK([for ssize_t], gt_cv_ssize_t,
4733     [AC_TRY_COMPILE([#include <sys/types.h>],
4734        [int x = sizeof (ssize_t *) + sizeof (ssize_t);],
4735        gt_cv_ssize_t=yes, gt_cv_ssize_t=no)])
4736   if test $gt_cv_ssize_t = no; then
4737     AC_DEFINE(ssize_t, int,
4738               [Define as a signed type of the same size as size_t.])
4739   fi
4740 ])
4741
4742 #serial 1
4743 # Determine approximately how many files may be open simultaneously
4744 # in one process.  This is approximate, since while running this test,
4745 # the configure script already has a few files open.
4746 # From Jim Meyering
4747
4748 AC_DEFUN([UTILS_SYS_OPEN_MAX],
4749 [
4750   AC_CACHE_CHECK([determine how many files may be open simultaneously],
4751                  utils_cv_sys_open_max,
4752   [
4753   AC_RUN_IFELSE([AC_LANG_SOURCE([[
4754 #include <stdio.h>
4755 #include <stdlib.h>
4756 #include <unistd.h>
4757     int
4758     main ()
4759     {
4760       FILE *result = fopen ("conftest.omax", "w");
4761       int i = 1;
4762       /* Impose an arbitrary limit, in case some system has no
4763          effective limit on the number of simultaneously open files.  */
4764       while (i < 30000)
4765         {
4766           FILE *s = fopen ("conftest.op", "w");
4767           if (!s)
4768             break;
4769           ++i;
4770         }
4771       fprintf (result, "%d\n", i);
4772       exit (fclose (result) == EOF);
4773     }
4774   ]])],
4775        [utils_cv_sys_open_max=`cat conftest.omax`],
4776        [utils_cv_sys_open_max='internal error in open-max.m4'],
4777        [utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
4778
4779   AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
4780     $utils_cv_sys_open_max,
4781     [the maximum number of simultaneously open files per process])
4782 ])
4783
4784 #serial 4
4785 # Check whether getcwd has the bug that it succeeds for a working directory
4786 # longer than PATH_MAX, yet returns a truncated directory name.
4787 # If so, arrange to compile the wrapper function.
4788
4789 # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
4790 # I've heard that this is due to a Linux kernel bug, and that it has
4791 # been fixed between 2.4.21-pre3 and 2.4.21-pre4.  */
4792
4793 # From Jim Meyering
4794
4795 AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
4796 [
4797   AC_CHECK_DECLS([getcwd])
4798   AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
4799                  gl_cv_func_getcwd_vs_path_max,
4800   [
4801   # Arrange for deletion of the temporary directory this test creates.
4802   ac_clean_files="$ac_clean_files confdir3"
4803   AC_RUN_IFELSE([AC_LANG_SOURCE([[
4804 #include <stdlib.h>
4805 #include <unistd.h>
4806 #include <string.h>
4807 #include <limits.h>
4808 #include <sys/stat.h>
4809 #include <sys/types.h>
4810
4811 /* Don't get link errors because mkdir is redefined to rpl_mkdir.  */
4812 #undef mkdir
4813
4814 #ifndef CHAR_BIT
4815 # define CHAR_BIT 8
4816 #endif
4817
4818 /* The extra casts work around common compiler bugs.  */
4819 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
4820 /* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
4821    It is necessary at least when t == time_t.  */
4822 #define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
4823                               ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
4824 #define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
4825
4826 #ifndef INT_MAX
4827 # define INT_MAX TYPE_MAXIMUM (int)
4828 #endif
4829
4830 /* The length of this name must be 8.  */
4831 #define DIR_NAME "confdir3"
4832
4833 int
4834 main ()
4835 {
4836 #ifndef PATH_MAX
4837   /* The Hurd doesn't define this, so getcwd can't exhibit the bug --
4838      at least not on a local file system.  And if we were to start worrying
4839      about remote file systems, we'd have to enable the wrapper function
4840      all of the time, just to be safe.  That's not worth the cost.  */
4841   exit (0);
4842 #elif INT_MAX - 9 <= PATH_MAX
4843   /* The '9', above, comes from strlen (DIR_NAME) + 1.  */
4844   /* FIXME: Assuming there's a system for which this is true,
4845      this should be done in a compile test.  */
4846   exit (0);
4847 #else
4848   char buf[PATH_MAX + 20];
4849   char *cwd = getcwd (buf, PATH_MAX);
4850   size_t cwd_len;
4851   int fail = 0;
4852   size_t n_chdirs = 0;
4853
4854   if (cwd == NULL)
4855     exit (1);
4856
4857   cwd_len = strlen (cwd);
4858
4859   while (1)
4860     {
4861       char *c;
4862       size_t len;
4863
4864       cwd_len += 1 + strlen (DIR_NAME);
4865       /* If mkdir or chdir fails, be pessimistic and consider that
4866          as a failure, too.  */
4867       if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
4868         {
4869           fail = 1;
4870           break;
4871         }
4872       if ((c = getcwd (buf, PATH_MAX)) == NULL)
4873         {
4874           /* This allows any failure to indicate there is no bug.
4875              FIXME: check errno?  */
4876           break;
4877         }
4878       if ((len = strlen (c)) != cwd_len)
4879         {
4880           fail = 1;
4881           break;
4882         }
4883       ++n_chdirs;
4884       if (PATH_MAX < len)
4885         break;
4886     }
4887
4888   /* Leaving behind such a deep directory is not polite.
4889      So clean up here, right away, even though the driving
4890      shell script would also clean up.  */
4891   {
4892     size_t i;
4893
4894     /* Unlink first, in case the chdir failed.  */
4895     unlink (DIR_NAME);
4896     for (i = 0; i <= n_chdirs; i++)
4897       {
4898         if (chdir ("..") < 0)
4899           break;
4900         rmdir (DIR_NAME);
4901       }
4902   }
4903
4904   exit (fail);
4905 #endif
4906 }
4907   ]])],
4908        [gl_cv_func_getcwd_vs_path_max=yes],
4909        [gl_cv_func_getcwd_vs_path_max=no],
4910        [gl_cv_func_getcwd_vs_path_max=no])])
4911
4912   if test $gl_cv_func_getcwd_vs_path_max = yes; then
4913     AC_LIBOBJ(getcwd)
4914     AC_DEFINE(getcwd, rpl_getcwd,
4915       [Define to rpl_getcwd if the wrapper function should be used.])
4916   fi
4917 ])
4918
4919 #serial 5
4920
4921 dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
4922 dnl to test whether a NULL return value really means there are no more files
4923 dnl in the directory.
4924 dnl
4925 dnl And the rm from coreutils-5.0 exposes a similar problem when there
4926 dnl are 338 or more files in a directory on a Darwin-6.5 system
4927 dnl
4928 dnl Detect the problem by creating a directory containing 500 files (254 not
4929 dnl counting . and .. is the minimum for SunOS, 338 for Darwin) and see
4930 dnl if a loop doing `readdir; unlink' removes all of them.
4931 dnl
4932 dnl Define HAVE_WORKING_READDIR if readdir does *not* have this problem.
4933
4934 dnl Written by Jim Meyering.
4935
4936 AC_DEFUN([GL_FUNC_READDIR],
4937 [dnl
4938 AC_REQUIRE([AC_HEADER_DIRENT])
4939 AC_CHECK_HEADERS(string.h)
4940 AC_CACHE_CHECK([for working readdir], gl_cv_func_working_readdir,
4941   [dnl
4942   # Arrange for deletion of the temporary directory this test creates, in
4943   # case the test itself fails to delete everything -- as happens on Sunos.
4944   ac_clean_files="$ac_clean_files conf-dir"
4945
4946   AC_TRY_RUN(
4947 [#   include <stdio.h>
4948 #   include <sys/types.h>
4949 #   if HAVE_STRING_H
4950 #    include <string.h>
4951 #   endif
4952
4953 #   ifdef HAVE_DIRENT_H
4954 #    include <dirent.h>
4955 #    define NLENGTH(direct) (strlen((direct)->d_name))
4956 #   else /* not HAVE_DIRENT_H */
4957 #    define dirent direct
4958 #    define NLENGTH(direct) ((direct)->d_namlen)
4959 #    ifdef HAVE_SYS_NDIR_H
4960 #     include <sys/ndir.h>
4961 #    endif /* HAVE_SYS_NDIR_H */
4962 #    ifdef HAVE_SYS_DIR_H
4963 #     include <sys/dir.h>
4964 #    endif /* HAVE_SYS_DIR_H */
4965 #    ifdef HAVE_NDIR_H
4966 #     include <ndir.h>
4967 #    endif /* HAVE_NDIR_H */
4968 #   endif /* HAVE_DIRENT_H */
4969
4970 #   define DOT_OR_DOTDOT(Basename) \
4971      (Basename[0] == '.' && (Basename[1] == '\0' \
4972                              || (Basename[1] == '.' && Basename[2] == '\0')))
4973
4974 /* Don't try to use replacement mkdir; it wouldn't resolve at link time.  */
4975 #   undef mkdir
4976
4977     static void
4978     create_N_file_dir (const char *dir, size_t n_files)
4979     {
4980       unsigned int i;
4981
4982       if (mkdir (dir, 0700))
4983         abort ();
4984       if (chdir (dir))
4985         abort ();
4986
4987       for (i = 0; i < n_files; i++)
4988         {
4989           char file_name[4];
4990           FILE *out;
4991
4992           sprintf (file_name, "%03d", i);
4993           out = fopen (file_name, "w");
4994           if (!out)
4995             abort ();
4996           if (fclose (out) == EOF)
4997             abort ();
4998         }
4999
5000       if (chdir (".."))
5001         abort ();
5002     }
5003
5004     static void
5005     remove_dir (const char *dir)
5006     {
5007       DIR *dirp;
5008
5009       if (chdir (dir))
5010         abort ();
5011
5012       dirp = opendir (".");
5013       if (dirp == NULL)
5014         abort ();
5015
5016       while (1)
5017         {
5018           struct dirent *dp = readdir (dirp);
5019           if (dp == NULL)
5020             break;
5021
5022           if (DOT_OR_DOTDOT (dp->d_name))
5023             continue;
5024
5025           if (unlink (dp->d_name))
5026             abort ();
5027         }
5028       closedir (dirp);
5029
5030       if (chdir (".."))
5031         abort ();
5032
5033       if (rmdir (dir))
5034         exit (1);
5035     }
5036
5037     int
5038     main ()
5039     {
5040       const char *dir = "conf-dir";
5041       create_N_file_dir (dir, 500);
5042       remove_dir (dir);
5043       exit (0);
5044     }],
5045   gl_cv_func_working_readdir=yes,
5046   gl_cv_func_working_readdir=no,
5047   gl_cv_func_working_readdir=no)])
5048
5049   if test $gl_cv_func_working_readdir = yes; then
5050     AC_DEFINE(HAVE_WORKING_READDIR, 1,
5051 [Define if readdir is found to work properly in some unusual cases. ])
5052   fi
5053 ])
5054
5055 # codeset.m4 serial AM1 (gettext-0.10.40)
5056 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5057 dnl This file is free software, distributed under the terms of the GNU
5058 dnl General Public License.  As a special exception to the GNU General
5059 dnl Public License, this file may be distributed as part of a program
5060 dnl that contains a configuration script generated by Autoconf, under
5061 dnl the same distribution terms as the rest of that program.
5062
5063 dnl From Bruno Haible.
5064
5065 AC_DEFUN([AM_LANGINFO_CODESET],
5066 [
5067   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
5068     [AC_TRY_LINK([#include <langinfo.h>],
5069       [char* cs = nl_langinfo(CODESET);],
5070       am_cv_langinfo_codeset=yes,
5071       am_cv_langinfo_codeset=no)
5072     ])
5073   if test $am_cv_langinfo_codeset = yes; then
5074     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
5075       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
5076   fi
5077 ])
5078
5079 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
5080 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5081 dnl This file is free software, distributed under the terms of the GNU
5082 dnl General Public License.  As a special exception to the GNU General
5083 dnl Public License, this file may be distributed as part of a program
5084 dnl that contains a configuration script generated by Autoconf, under
5085 dnl the same distribution terms as the rest of that program.
5086
5087 # Test for the GNU C Library, version 2.1 or newer.
5088 # From Bruno Haible.
5089
5090 AC_DEFUN([jm_GLIBC21],
5091   [
5092     AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
5093       ac_cv_gnu_library_2_1,
5094       [AC_EGREP_CPP([Lucky GNU user],
5095         [
5096 #include <features.h>
5097 #ifdef __GNU_LIBRARY__
5098  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
5099   Lucky GNU user
5100  #endif
5101 #endif
5102         ],
5103         ac_cv_gnu_library_2_1=yes,
5104         ac_cv_gnu_library_2_1=no)
5105       ]
5106     )
5107     AC_SUBST(GLIBC21)
5108     GLIBC21="$ac_cv_gnu_library_2_1"
5109   ]
5110 )
5111
5112 # iconv.m4 serial AM4 (gettext-0.11.3)
5113 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5114 dnl This file is free software, distributed under the terms of the GNU
5115 dnl General Public License.  As a special exception to the GNU General
5116 dnl Public License, this file may be distributed as part of a program
5117 dnl that contains a configuration script generated by Autoconf, under
5118 dnl the same distribution terms as the rest of that program.
5119
5120 dnl From Bruno Haible.
5121
5122 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
5123 [
5124   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
5125   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5126   AC_REQUIRE([AC_LIB_RPATH])
5127
5128   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5129   dnl accordingly.
5130   AC_LIB_LINKFLAGS_BODY([iconv])
5131 ])
5132
5133 AC_DEFUN([AM_ICONV_LINK],
5134 [
5135   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
5136   dnl those with the standalone portable GNU libiconv installed).
5137
5138   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5139   dnl accordingly.
5140   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
5141
5142   dnl Add $INCICONV to CPPFLAGS before performing the following checks,
5143   dnl because if the user has installed libiconv and not disabled its use
5144   dnl via --without-libiconv-prefix, he wants to use it. The first
5145   dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
5146   am_save_CPPFLAGS="$CPPFLAGS"
5147   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
5148
5149   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
5150     am_cv_func_iconv="no, consider installing GNU libiconv"
5151     am_cv_lib_iconv=no
5152     AC_TRY_LINK([#include <stdlib.h>
5153 #include <iconv.h>],
5154       [iconv_t cd = iconv_open("","");
5155        iconv(cd,NULL,NULL,NULL,NULL);
5156        iconv_close(cd);],
5157       am_cv_func_iconv=yes)
5158     if test "$am_cv_func_iconv" != yes; then
5159       am_save_LIBS="$LIBS"
5160       LIBS="$LIBS $LIBICONV"
5161       AC_TRY_LINK([#include <stdlib.h>
5162 #include <iconv.h>],
5163         [iconv_t cd = iconv_open("","");
5164          iconv(cd,NULL,NULL,NULL,NULL);
5165          iconv_close(cd);],
5166         am_cv_lib_iconv=yes
5167         am_cv_func_iconv=yes)
5168       LIBS="$am_save_LIBS"
5169     fi
5170   ])
5171   if test "$am_cv_func_iconv" = yes; then
5172     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
5173   fi
5174   if test "$am_cv_lib_iconv" = yes; then
5175     AC_MSG_CHECKING([how to link with libiconv])
5176     AC_MSG_RESULT([$LIBICONV])
5177   else
5178     dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
5179     dnl either.
5180     CPPFLAGS="$am_save_CPPFLAGS"
5181     LIBICONV=
5182     LTLIBICONV=
5183   fi
5184   AC_SUBST(LIBICONV)
5185   AC_SUBST(LTLIBICONV)
5186 ])
5187
5188 AC_DEFUN([AM_ICONV],
5189 [
5190   AM_ICONV_LINK
5191   if test "$am_cv_func_iconv" = yes; then
5192     AC_MSG_CHECKING([for iconv declaration])
5193     AC_CACHE_VAL(am_cv_proto_iconv, [
5194       AC_TRY_COMPILE([
5195 #include <stdlib.h>
5196 #include <iconv.h>
5197 extern
5198 #ifdef __cplusplus
5199 "C"
5200 #endif
5201 #if defined(__STDC__) || defined(__cplusplus)
5202 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
5203 #else
5204 size_t iconv();
5205 #endif
5206 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
5207       am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
5208     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
5209     AC_MSG_RESULT([$]{ac_t:-
5210          }[$]am_cv_proto_iconv)
5211     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
5212       [Define as const if the declaration of iconv() needs const.])
5213   fi
5214 ])
5215
5216 # lib-prefix.m4 serial 1 (gettext-0.11)
5217 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5218 dnl This file is free software, distributed under the terms of the GNU
5219 dnl General Public License.  As a special exception to the GNU General
5220 dnl Public License, this file may be distributed as part of a program
5221 dnl that contains a configuration script generated by Autoconf, under
5222 dnl the same distribution terms as the rest of that program.
5223
5224 dnl From Bruno Haible.
5225
5226 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
5227 dnl to access previously installed libraries. The basic assumption is that
5228 dnl a user will want packages to use other packages he previously installed
5229 dnl with the same --prefix option.
5230 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
5231 dnl libraries, but is otherwise very convenient.
5232 AC_DEFUN([AC_LIB_PREFIX],
5233 [
5234   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
5235   AC_REQUIRE([AC_PROG_CC])
5236   AC_REQUIRE([AC_CANONICAL_HOST])
5237   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5238   dnl By default, look in $includedir and $libdir.
5239   use_additional=yes
5240   AC_LIB_WITH_FINAL_PREFIX([
5241     eval additional_includedir=\"$includedir\"
5242     eval additional_libdir=\"$libdir\"
5243   ])
5244   AC_ARG_WITH([lib-prefix],
5245 [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
5246   --without-lib-prefix    don't search for libraries in includedir and libdir],
5247 [
5248     if test "X$withval" = "Xno"; then
5249       use_additional=no
5250     else
5251       if test "X$withval" = "X"; then
5252         AC_LIB_WITH_FINAL_PREFIX([
5253           eval additional_includedir=\"$includedir\"
5254           eval additional_libdir=\"$libdir\"
5255         ])
5256       else
5257         additional_includedir="$withval/include"
5258         additional_libdir="$withval/lib"
5259       fi
5260     fi
5261 ])
5262   if test $use_additional = yes; then
5263     dnl Potentially add $additional_includedir to $CPPFLAGS.
5264     dnl But don't add it
5265     dnl   1. if it's the standard /usr/include,
5266     dnl   2. if it's already present in $CPPFLAGS,
5267     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
5268     dnl   4. if it doesn't exist as a directory.
5269     if test "X$additional_includedir" != "X/usr/include"; then
5270       haveit=
5271       for x in $CPPFLAGS; do
5272         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5273         if test "X$x" = "X-I$additional_includedir"; then
5274           haveit=yes
5275           break
5276         fi
5277       done
5278       if test -z "$haveit"; then
5279         if test "X$additional_includedir" = "X/usr/local/include"; then
5280           if test -n "$GCC"; then
5281             case $host_os in
5282               linux*) haveit=yes;;
5283             esac
5284           fi
5285         fi
5286         if test -z "$haveit"; then
5287           if test -d "$additional_includedir"; then
5288             dnl Really add $additional_includedir to $CPPFLAGS.
5289             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
5290           fi
5291         fi
5292       fi
5293     fi
5294     dnl Potentially add $additional_libdir to $LDFLAGS.
5295     dnl But don't add it
5296     dnl   1. if it's the standard /usr/lib,
5297     dnl   2. if it's already present in $LDFLAGS,
5298     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
5299     dnl   4. if it doesn't exist as a directory.
5300     if test "X$additional_libdir" != "X/usr/lib"; then
5301       haveit=
5302       for x in $LDFLAGS; do
5303         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5304         if test "X$x" = "X-L$additional_libdir"; then
5305           haveit=yes
5306           break
5307         fi
5308       done
5309       if test -z "$haveit"; then
5310         if test "X$additional_libdir" = "X/usr/local/lib"; then
5311           if test -n "$GCC"; then
5312             case $host_os in
5313               linux*) haveit=yes;;
5314             esac
5315           fi
5316         fi
5317         if test -z "$haveit"; then
5318           if test -d "$additional_libdir"; then
5319             dnl Really add $additional_libdir to $LDFLAGS.
5320             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
5321           fi
5322         fi
5323       fi
5324     fi
5325   fi
5326 ])
5327
5328 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
5329 dnl acl_final_exec_prefix, containing the values to which $prefix and
5330 dnl $exec_prefix will expand at the end of the configure script.
5331 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
5332 [
5333   dnl Unfortunately, prefix and exec_prefix get only finally determined
5334   dnl at the end of configure.
5335   if test "X$prefix" = "XNONE"; then
5336     acl_final_prefix="$ac_default_prefix"
5337   else
5338     acl_final_prefix="$prefix"
5339   fi
5340   if test "X$exec_prefix" = "XNONE"; then
5341     acl_final_exec_prefix='${prefix}'
5342   else
5343     acl_final_exec_prefix="$exec_prefix"
5344   fi
5345   acl_save_prefix="$prefix"
5346   prefix="$acl_final_prefix"
5347   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
5348   prefix="$acl_save_prefix"
5349 ])
5350
5351 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
5352 dnl variables prefix and exec_prefix bound to the values they will have
5353 dnl at the end of the configure script.
5354 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
5355 [
5356   acl_save_prefix="$prefix"
5357   prefix="$acl_final_prefix"
5358   acl_save_exec_prefix="$exec_prefix"
5359   exec_prefix="$acl_final_exec_prefix"
5360   $1
5361   exec_prefix="$acl_save_exec_prefix"
5362   prefix="$acl_save_prefix"
5363 ])
5364
5365 # lib-link.m4 serial 3 (gettext-0.11.3)
5366 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5367 dnl This file is free software, distributed under the terms of the GNU
5368 dnl General Public License.  As a special exception to the GNU General
5369 dnl Public License, this file may be distributed as part of a program
5370 dnl that contains a configuration script generated by Autoconf, under
5371 dnl the same distribution terms as the rest of that program.
5372
5373 dnl From Bruno Haible.
5374
5375 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
5376 dnl the libraries corresponding to explicit and implicit dependencies.
5377 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
5378 dnl augments the CPPFLAGS variable.
5379 AC_DEFUN([AC_LIB_LINKFLAGS],
5380 [
5381   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5382   AC_REQUIRE([AC_LIB_RPATH])
5383   define([Name],[translit([$1],[./-], [___])])
5384   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5385                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5386   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
5387     AC_LIB_LINKFLAGS_BODY([$1], [$2])
5388     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
5389     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
5390     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
5391   ])
5392   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
5393   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
5394   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
5395   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5396   AC_SUBST([LIB]NAME)
5397   AC_SUBST([LTLIB]NAME)
5398   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
5399   dnl results of this search when this library appears as a dependency.
5400   HAVE_LIB[]NAME=yes
5401   undefine([Name])
5402   undefine([NAME])
5403 ])
5404
5405 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
5406 dnl searches for libname and the libraries corresponding to explicit and
5407 dnl implicit dependencies, together with the specified include files and
5408 dnl the ability to compile and link the specified testcode. If found, it
5409 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
5410 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
5411 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
5412 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
5413 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
5414 [
5415   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5416   AC_REQUIRE([AC_LIB_RPATH])
5417   define([Name],[translit([$1],[./-], [___])])
5418   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5419                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5420
5421   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
5422   dnl accordingly.
5423   AC_LIB_LINKFLAGS_BODY([$1], [$2])
5424
5425   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
5426   dnl because if the user has installed lib[]Name and not disabled its use
5427   dnl via --without-lib[]Name-prefix, he wants to use it.
5428   ac_save_CPPFLAGS="$CPPFLAGS"
5429   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5430
5431   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
5432     ac_save_LIBS="$LIBS"
5433     LIBS="$LIBS $LIB[]NAME"
5434     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
5435     LIBS="$ac_save_LIBS"
5436   ])
5437   if test "$ac_cv_lib[]Name" = yes; then
5438     HAVE_LIB[]NAME=yes
5439     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
5440     AC_MSG_CHECKING([how to link with lib[]$1])
5441     AC_MSG_RESULT([$LIB[]NAME])
5442   else
5443     HAVE_LIB[]NAME=no
5444     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
5445     dnl $INC[]NAME either.
5446     CPPFLAGS="$ac_save_CPPFLAGS"
5447     LIB[]NAME=
5448     LTLIB[]NAME=
5449   fi
5450   AC_SUBST([HAVE_LIB]NAME)
5451   AC_SUBST([LIB]NAME)
5452   AC_SUBST([LTLIB]NAME)
5453   undefine([Name])
5454   undefine([NAME])
5455 ])
5456
5457 dnl Determine the platform dependent parameters needed to use rpath:
5458 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
5459 dnl hardcode_direct, hardcode_minus_L,
5460 dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
5461 AC_DEFUN([AC_LIB_RPATH],
5462 [
5463   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
5464   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
5465   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
5466   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
5467   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
5468     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
5469     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
5470     . ./conftest.sh
5471     rm -f ./conftest.sh
5472     acl_cv_rpath=done
5473   ])
5474   wl="$acl_cv_wl"
5475   libext="$acl_cv_libext"
5476   shlibext="$acl_cv_shlibext"
5477   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
5478   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
5479   hardcode_direct="$acl_cv_hardcode_direct"
5480   hardcode_minus_L="$acl_cv_hardcode_minus_L"
5481   sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
5482   sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
5483   dnl Determine whether the user wants rpath handling at all.
5484   AC_ARG_ENABLE(rpath,
5485     [  --disable-rpath         do not hardcode runtime library paths],
5486     :, enable_rpath=yes)
5487 ])
5488
5489 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
5490 dnl the libraries corresponding to explicit and implicit dependencies.
5491 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
5492 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
5493 [
5494   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5495                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5496   dnl By default, look in $includedir and $libdir.
5497   use_additional=yes
5498   AC_LIB_WITH_FINAL_PREFIX([
5499     eval additional_includedir=\"$includedir\"
5500     eval additional_libdir=\"$libdir\"
5501   ])
5502   AC_ARG_WITH([lib$1-prefix],
5503 [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
5504   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
5505 [
5506     if test "X$withval" = "Xno"; then
5507       use_additional=no
5508     else
5509       if test "X$withval" = "X"; then
5510         AC_LIB_WITH_FINAL_PREFIX([
5511           eval additional_includedir=\"$includedir\"
5512           eval additional_libdir=\"$libdir\"
5513         ])
5514       else
5515         additional_includedir="$withval/include"
5516         additional_libdir="$withval/lib"
5517       fi
5518     fi
5519 ])
5520   dnl Search the library and its dependencies in $additional_libdir and
5521   dnl $LDFLAGS. Using breadth-first-seach.
5522   LIB[]NAME=
5523   LTLIB[]NAME=
5524   INC[]NAME=
5525   rpathdirs=
5526   ltrpathdirs=
5527   names_already_handled=
5528   names_next_round='$1 $2'
5529   while test -n "$names_next_round"; do
5530     names_this_round="$names_next_round"
5531     names_next_round=
5532     for name in $names_this_round; do
5533       already_handled=
5534       for n in $names_already_handled; do
5535         if test "$n" = "$name"; then
5536           already_handled=yes
5537           break
5538         fi
5539       done
5540       if test -z "$already_handled"; then
5541         names_already_handled="$names_already_handled $name"
5542         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
5543         dnl or AC_LIB_HAVE_LINKFLAGS call.
5544         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
5545         eval value=\"\$HAVE_LIB$uppername\"
5546         if test -n "$value"; then
5547           if test "$value" = yes; then
5548             eval value=\"\$LIB$uppername\"
5549             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
5550             eval value=\"\$LTLIB$uppername\"
5551             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
5552           else
5553             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
5554             dnl that this library doesn't exist. So just drop it.
5555             :
5556           fi
5557         else
5558           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
5559           dnl and the already constructed $LIBNAME/$LTLIBNAME.
5560           found_dir=
5561           found_la=
5562           found_so=
5563           found_a=
5564           if test $use_additional = yes; then
5565             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
5566               found_dir="$additional_libdir"
5567               found_so="$additional_libdir/lib$name.$shlibext"
5568               if test -f "$additional_libdir/lib$name.la"; then
5569                 found_la="$additional_libdir/lib$name.la"
5570               fi
5571             else
5572               if test -f "$additional_libdir/lib$name.$libext"; then
5573                 found_dir="$additional_libdir"
5574                 found_a="$additional_libdir/lib$name.$libext"
5575                 if test -f "$additional_libdir/lib$name.la"; then
5576                   found_la="$additional_libdir/lib$name.la"
5577                 fi
5578               fi
5579             fi
5580           fi
5581           if test "X$found_dir" = "X"; then
5582             for x in $LDFLAGS $LTLIB[]NAME; do
5583               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5584               case "$x" in
5585                 -L*)
5586                   dir=`echo "X$x" | sed -e 's/^X-L//'`
5587                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
5588                     found_dir="$dir"
5589                     found_so="$dir/lib$name.$shlibext"
5590                     if test -f "$dir/lib$name.la"; then
5591                       found_la="$dir/lib$name.la"
5592                     fi
5593                   else
5594                     if test -f "$dir/lib$name.$libext"; then
5595                       found_dir="$dir"
5596                       found_a="$dir/lib$name.$libext"
5597                       if test -f "$dir/lib$name.la"; then
5598                         found_la="$dir/lib$name.la"
5599                       fi
5600                     fi
5601                   fi
5602                   ;;
5603               esac
5604               if test "X$found_dir" != "X"; then
5605                 break
5606               fi
5607             done
5608           fi
5609           if test "X$found_dir" != "X"; then
5610             dnl Found the library.
5611             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
5612             if test "X$found_so" != "X"; then
5613               dnl Linking with a shared library. We attempt to hardcode its
5614               dnl directory into the executable's runpath, unless it's the
5615               dnl standard /usr/lib.
5616               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
5617                 dnl No hardcoding is needed.
5618                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5619               else
5620                 dnl Use an explicit option to hardcode DIR into the resulting
5621                 dnl binary.
5622                 dnl Potentially add DIR to ltrpathdirs.
5623                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5624                 haveit=
5625                 for x in $ltrpathdirs; do
5626                   if test "X$x" = "X$found_dir"; then
5627                     haveit=yes
5628                     break
5629                   fi
5630                 done
5631                 if test -z "$haveit"; then
5632                   ltrpathdirs="$ltrpathdirs $found_dir"
5633                 fi
5634                 dnl The hardcoding into $LIBNAME is system dependent.
5635                 if test "$hardcode_direct" = yes; then
5636                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
5637                   dnl resulting binary.
5638                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5639                 else
5640                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
5641                     dnl Use an explicit option to hardcode DIR into the resulting
5642                     dnl binary.
5643                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5644                     dnl Potentially add DIR to rpathdirs.
5645                     dnl The rpathdirs will be appended to $LIBNAME at the end.
5646                     haveit=
5647                     for x in $rpathdirs; do
5648                       if test "X$x" = "X$found_dir"; then
5649                         haveit=yes
5650                         break
5651                       fi
5652                     done
5653                     if test -z "$haveit"; then
5654                       rpathdirs="$rpathdirs $found_dir"
5655                     fi
5656                   else
5657                     dnl Rely on "-L$found_dir".
5658                     dnl But don't add it if it's already contained in the LDFLAGS
5659                     dnl or the already constructed $LIBNAME
5660                     haveit=
5661                     for x in $LDFLAGS $LIB[]NAME; do
5662                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5663                       if test "X$x" = "X-L$found_dir"; then
5664                         haveit=yes
5665                         break
5666                       fi
5667                     done
5668                     if test -z "$haveit"; then
5669                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
5670                     fi
5671                     if test "$hardcode_minus_L" != no; then
5672                       dnl FIXME: Not sure whether we should use
5673                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5674                       dnl here.
5675                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5676                     else
5677                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
5678                       dnl here, because this doesn't fit in flags passed to the
5679                       dnl compiler. So give up. No hardcoding. This affects only
5680                       dnl very old systems.
5681                       dnl FIXME: Not sure whether we should use
5682                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5683                       dnl here.
5684                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5685                     fi
5686                   fi
5687                 fi
5688               fi
5689             else
5690               if test "X$found_a" != "X"; then
5691                 dnl Linking with a static library.
5692                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
5693               else
5694                 dnl We shouldn't come here, but anyway it's good to have a
5695                 dnl fallback.
5696                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
5697               fi
5698             fi
5699             dnl Assume the include files are nearby.
5700             additional_includedir=
5701             case "$found_dir" in
5702               */lib | */lib/)
5703                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
5704                 additional_includedir="$basedir/include"
5705                 ;;
5706             esac
5707             if test "X$additional_includedir" != "X"; then
5708               dnl Potentially add $additional_includedir to $INCNAME.
5709               dnl But don't add it
5710               dnl   1. if it's the standard /usr/include,
5711               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
5712               dnl   3. if it's already present in $CPPFLAGS or the already
5713               dnl      constructed $INCNAME,
5714               dnl   4. if it doesn't exist as a directory.
5715               if test "X$additional_includedir" != "X/usr/include"; then
5716                 haveit=
5717                 if test "X$additional_includedir" = "X/usr/local/include"; then
5718                   if test -n "$GCC"; then
5719                     case $host_os in
5720                       linux*) haveit=yes;;
5721                     esac
5722                   fi
5723                 fi
5724                 if test -z "$haveit"; then
5725                   for x in $CPPFLAGS $INC[]NAME; do
5726                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5727                     if test "X$x" = "X-I$additional_includedir"; then
5728                       haveit=yes
5729                       break
5730                     fi
5731                   done
5732                   if test -z "$haveit"; then
5733                     if test -d "$additional_includedir"; then
5734                       dnl Really add $additional_includedir to $INCNAME.
5735                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
5736                     fi
5737                   fi
5738                 fi
5739               fi
5740             fi
5741             dnl Look for dependencies.
5742             if test -n "$found_la"; then
5743               dnl Read the .la file. It defines the variables
5744               dnl dlname, library_names, old_library, dependency_libs, current,
5745               dnl age, revision, installed, dlopen, dlpreopen, libdir.
5746               save_libdir="$libdir"
5747               case "$found_la" in
5748                 */* | *\\*) . "$found_la" ;;
5749                 *) . "./$found_la" ;;
5750               esac
5751               libdir="$save_libdir"
5752               dnl We use only dependency_libs.
5753               for dep in $dependency_libs; do
5754                 case "$dep" in
5755                   -L*)
5756                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
5757                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
5758                     dnl But don't add it
5759                     dnl   1. if it's the standard /usr/lib,
5760                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
5761                     dnl   3. if it's already present in $LDFLAGS or the already
5762                     dnl      constructed $LIBNAME,
5763                     dnl   4. if it doesn't exist as a directory.
5764                     if test "X$additional_libdir" != "X/usr/lib"; then
5765                       haveit=
5766                       if test "X$additional_libdir" = "X/usr/local/lib"; then
5767                         if test -n "$GCC"; then
5768                           case $host_os in
5769                             linux*) haveit=yes;;
5770                           esac
5771                         fi
5772                       fi
5773                       if test -z "$haveit"; then
5774                         haveit=
5775                         for x in $LDFLAGS $LIB[]NAME; do
5776                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5777                           if test "X$x" = "X-L$additional_libdir"; then
5778                             haveit=yes
5779                             break
5780                           fi
5781                         done
5782                         if test -z "$haveit"; then
5783                           if test -d "$additional_libdir"; then
5784                             dnl Really add $additional_libdir to $LIBNAME.
5785                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
5786                           fi
5787                         fi
5788                         haveit=
5789                         for x in $LDFLAGS $LTLIB[]NAME; do
5790                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5791                           if test "X$x" = "X-L$additional_libdir"; then
5792                             haveit=yes
5793                             break
5794                           fi
5795                         done
5796                         if test -z "$haveit"; then
5797                           if test -d "$additional_libdir"; then
5798                             dnl Really add $additional_libdir to $LTLIBNAME.
5799                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
5800                           fi
5801                         fi
5802                       fi
5803                     fi
5804                     ;;
5805                   -R*)
5806                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
5807                     if test "$enable_rpath" != no; then
5808                       dnl Potentially add DIR to rpathdirs.
5809                       dnl The rpathdirs will be appended to $LIBNAME at the end.
5810                       haveit=
5811                       for x in $rpathdirs; do
5812                         if test "X$x" = "X$dir"; then
5813                           haveit=yes
5814                           break
5815                         fi
5816                       done
5817                       if test -z "$haveit"; then
5818                         rpathdirs="$rpathdirs $dir"
5819                       fi
5820                       dnl Potentially add DIR to ltrpathdirs.
5821                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5822                       haveit=
5823                       for x in $ltrpathdirs; do
5824                         if test "X$x" = "X$dir"; then
5825                           haveit=yes
5826                           break
5827                         fi
5828                       done
5829                       if test -z "$haveit"; then
5830                         ltrpathdirs="$ltrpathdirs $dir"
5831                       fi
5832                     fi
5833                     ;;
5834                   -l*)
5835                     dnl Handle this in the next round.
5836                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
5837                     ;;
5838                   *.la)
5839                     dnl Handle this in the next round. Throw away the .la's
5840                     dnl directory; it is already contained in a preceding -L
5841                     dnl option.
5842                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
5843                     ;;
5844                   *)
5845                     dnl Most likely an immediate library name.
5846                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
5847                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
5848                     ;;
5849                 esac
5850               done
5851             fi
5852           else
5853             dnl Didn't find the library; assume it is in the system directories
5854             dnl known to the linker and runtime loader. (All the system
5855             dnl directories known to the linker should also be known to the
5856             dnl runtime loader, otherwise the system is severely misconfigured.)
5857             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5858             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
5859           fi
5860         fi
5861       fi
5862     done
5863   done
5864   if test "X$rpathdirs" != "X"; then
5865     if test -n "$hardcode_libdir_separator"; then
5866       dnl Weird platform: only the last -rpath option counts, the user must
5867       dnl pass all path elements in one option. We can arrange that for a
5868       dnl single library, but not when more than one $LIBNAMEs are used.
5869       alldirs=
5870       for found_dir in $rpathdirs; do
5871         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
5872       done
5873       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
5874       acl_save_libdir="$libdir"
5875       libdir="$alldirs"
5876       eval flag=\"$hardcode_libdir_flag_spec\"
5877       libdir="$acl_save_libdir"
5878       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5879     else
5880       dnl The -rpath options are cumulative.
5881       for found_dir in $rpathdirs; do
5882         acl_save_libdir="$libdir"
5883         libdir="$found_dir"
5884         eval flag=\"$hardcode_libdir_flag_spec\"
5885         libdir="$acl_save_libdir"
5886         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5887       done
5888     fi
5889   fi
5890   if test "X$ltrpathdirs" != "X"; then
5891     dnl When using libtool, the option that works for both libraries and
5892     dnl executables is -R. The -R options are cumulative.
5893     for found_dir in $ltrpathdirs; do
5894       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
5895     done
5896   fi
5897 ])
5898
5899 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
5900 dnl unless already present in VAR.
5901 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
5902 dnl contains two or three consecutive elements that belong together.
5903 AC_DEFUN([AC_LIB_APPENDTOVAR],
5904 [
5905   for element in [$2]; do
5906     haveit=
5907     for x in $[$1]; do
5908       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5909       if test "X$x" = "X$element"; then
5910         haveit=yes
5911         break
5912       fi
5913     done
5914     if test -z "$haveit"; then
5915       [$1]="${[$1]}${[$1]:+ }$element"
5916     fi
5917   done
5918 ])
5919
5920 # lib-ld.m4 serial 2
5921 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
5922 dnl This file is free software, distributed under the terms of the GNU
5923 dnl General Public License.  As a special exception to the GNU General
5924 dnl Public License, this file may be distributed as part of a program
5925 dnl that contains a configuration script generated by Autoconf, under
5926 dnl the same distribution terms as the rest of that program.
5927
5928 dnl Subroutines of libtool.m4,
5929 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
5930 dnl with libtool.m4.
5931
5932 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
5933 AC_DEFUN([AC_LIB_PROG_LD_GNU],
5934 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
5935 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
5936 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
5937   acl_cv_prog_gnu_ld=yes
5938 else
5939   acl_cv_prog_gnu_ld=no
5940 fi])
5941 with_gnu_ld=$acl_cv_prog_gnu_ld
5942 ])
5943
5944 dnl From libtool-1.4. Sets the variable LD.
5945 AC_DEFUN([AC_LIB_PROG_LD],
5946 [AC_ARG_WITH(gnu-ld,
5947 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
5948 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
5949 AC_REQUIRE([AC_PROG_CC])dnl
5950 AC_REQUIRE([AC_CANONICAL_HOST])dnl
5951 ac_prog=ld
5952 if test "$GCC" = yes; then
5953   # Check if gcc -print-prog-name=ld gives a path.
5954   AC_MSG_CHECKING([for ld used by GCC])
5955   case $host in
5956   *-*-mingw*)
5957     # gcc leaves a trailing carriage return which upsets mingw
5958     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
5959   *)
5960     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
5961   esac
5962   case $ac_prog in
5963     # Accept absolute paths.
5964     [[\\/]* | [A-Za-z]:[\\/]*)]
5965       [re_direlt='/[^/][^/]*/\.\./']
5966       # Canonicalize the path of ld
5967       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
5968       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
5969         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
5970       done
5971       test -z "$LD" && LD="$ac_prog"
5972       ;;
5973   "")
5974     # If it fails, then pretend we aren't using GCC.
5975     ac_prog=ld
5976     ;;
5977   *)
5978     # If it is relative, then search for the first ld in PATH.
5979     with_gnu_ld=unknown
5980     ;;
5981   esac
5982 elif test "$with_gnu_ld" = yes; then
5983   AC_MSG_CHECKING([for GNU ld])
5984 else
5985   AC_MSG_CHECKING([for non-GNU ld])
5986 fi
5987 AC_CACHE_VAL(acl_cv_path_LD,
5988 [if test -z "$LD"; then
5989   IFS="${IFS=    }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
5990   for ac_dir in $PATH; do
5991     test -z "$ac_dir" && ac_dir=.
5992     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5993       acl_cv_path_LD="$ac_dir/$ac_prog"
5994       # Check to see if the program is GNU ld.  I'd rather use --version,
5995       # but apparently some GNU ld's only accept -v.
5996       # Break only if it was the GNU/non-GNU ld that we prefer.
5997       if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
5998         test "$with_gnu_ld" != no && break
5999       else
6000         test "$with_gnu_ld" != yes && break
6001       fi
6002     fi
6003   done
6004   IFS="$ac_save_ifs"
6005 else
6006   acl_cv_path_LD="$LD" # Let the user override the test with a path.
6007 fi])
6008 LD="$acl_cv_path_LD"
6009 if test -n "$LD"; then
6010   AC_MSG_RESULT($LD)
6011 else
6012   AC_MSG_RESULT(no)
6013 fi
6014 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
6015 AC_LIB_PROG_LD_GNU
6016 ])
6017
6018 #serial 6
6019
6020 dnl From J. David Anglin.
6021
6022 dnl HPUX and other systems can't unlink shared text that is being executed.
6023
6024 AC_DEFUN([jm_FUNC_UNLINK_BUSY_TEXT],
6025 [dnl
6026   AC_CACHE_CHECK([whether a running program can be unlinked],
6027     jm_cv_func_unlink_busy_text,
6028     [
6029       AC_TRY_RUN([
6030         main (argc, argv)
6031           int argc;
6032           char **argv;
6033         {
6034           if (!argc)
6035             exit (-1);
6036           exit (unlink (argv[0]));
6037         }
6038         ],
6039       jm_cv_func_unlink_busy_text=yes,
6040       jm_cv_func_unlink_busy_text=no,
6041       jm_cv_func_unlink_busy_text=no
6042       )
6043     ]
6044   )
6045
6046   if test $jm_cv_func_unlink_busy_text = no; then
6047     INSTALL=$ac_install_sh
6048   fi
6049 ])
6050
6051 #serial 12
6052
6053 dnl From Jim Meyering.
6054 dnl
6055 dnl This is not pretty.  I've just taken the autoconf code and wrapped
6056 dnl it in an AC_DEFUN.
6057 dnl
6058
6059 # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6060 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
6061   [
6062 AC_CHECK_FUNCS(listmntent getmntinfo)
6063 AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
6064     getfsstat_includes="\
6065 $ac_includes_default
6066 #if HAVE_SYS_PARAM_H
6067 # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
6068 #endif
6069 #if HAVE_SYS_UCRED_H
6070 # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
6071 #endif
6072 #if HAVE_SYS_MOUNT_H
6073 # include <sys/mount.h>
6074 #endif
6075 #if HAVE_SYS_FS_TYPES_H
6076 # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
6077 #endif
6078 "
6079 AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
6080
6081 # Determine how to get the list of mounted filesystems.
6082 ac_list_mounted_fs=
6083
6084 # If the getmntent function is available but not in the standard library,
6085 # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
6086 AC_FUNC_GETMNTENT
6087
6088 # This test must precede the ones for getmntent because Unicos-9 is
6089 # reported to have the getmntent function, but its support is incompatible
6090 # with other getmntent implementations.
6091
6092 # NOTE: Normally, I wouldn't use a check for system type as I've done for
6093 # `CRAY' below since that goes against the whole autoconf philosophy.  But
6094 # I think there is too great a chance that some non-Cray system has a
6095 # function named listmntent to risk the false positive.
6096
6097 if test -z "$ac_list_mounted_fs"; then
6098   # Cray UNICOS 9
6099   AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
6100   AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
6101     [fu_cv_sys_mounted_cray_listmntent=no
6102       AC_EGREP_CPP(yes,
6103         [#ifdef _CRAY
6104 yes
6105 #endif
6106         ], [test $ac_cv_func_listmntent = yes \
6107             && fu_cv_sys_mounted_cray_listmntent=yes]
6108       )
6109     ]
6110   )
6111   AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
6112   if test $fu_cv_sys_mounted_cray_listmntent = yes; then
6113     ac_list_mounted_fs=found
6114     AC_DEFINE(MOUNTED_LISTMNTENT, 1,
6115       [Define if there is a function named listmntent that can be used to
6116    list all mounted filesystems. (UNICOS)])
6117   fi
6118 fi
6119
6120 if test -z "$ac_list_mounted_fs"; then
6121   # AIX.
6122   AC_MSG_CHECKING([for mntctl function and struct vmount])
6123   AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
6124   [AC_TRY_CPP([#include <fshelp.h>],
6125     fu_cv_sys_mounted_vmount=yes,
6126     fu_cv_sys_mounted_vmount=no)])
6127   AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
6128   if test $fu_cv_sys_mounted_vmount = yes; then
6129     ac_list_mounted_fs=found
6130     AC_DEFINE(MOUNTED_VMOUNT, 1,
6131         [Define if there is a function named mntctl that can be used to read
6132    the list of mounted filesystems, and there is a system header file
6133    that declares `struct vmount.'  (AIX)])
6134   fi
6135 fi
6136
6137 if test $ac_cv_func_getmntent = yes; then
6138
6139   # This system has the getmntent function.
6140   # Determine whether it's the one-argument variant or the two-argument one.
6141
6142   if test -z "$ac_list_mounted_fs"; then
6143     # 4.3BSD, SunOS, HP-UX, Dynix, Irix
6144     AC_MSG_CHECKING([for one-argument getmntent function])
6145     AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
6146                  [AC_TRY_COMPILE([
6147 /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
6148 #include <stdio.h>
6149
6150 #include <mntent.h>
6151 #if !defined MOUNTED
6152 # if defined _PATH_MOUNTED      /* GNU libc  */
6153 #  define MOUNTED _PATH_MOUNTED
6154 # endif
6155 # if defined MNT_MNTTAB /* HP-UX.  */
6156 #  define MOUNTED MNT_MNTTAB
6157 # endif
6158 # if defined MNTTABNAME /* Dynix.  */
6159 #  define MOUNTED MNTTABNAME
6160 # endif
6161 #endif
6162 ],
6163                     [ struct mntent *mnt = 0; char *table = MOUNTED; ],
6164                     fu_cv_sys_mounted_getmntent1=yes,
6165                     fu_cv_sys_mounted_getmntent1=no)])
6166     AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
6167     if test $fu_cv_sys_mounted_getmntent1 = yes; then
6168       ac_list_mounted_fs=found
6169       AC_DEFINE(MOUNTED_GETMNTENT1, 1,
6170   [Define if there is a function named getmntent for reading the list
6171    of mounted filesystems, and that function takes a single argument.
6172    (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
6173     fi
6174   fi
6175
6176   if test -z "$ac_list_mounted_fs"; then
6177     # SVR4
6178     AC_MSG_CHECKING([for two-argument getmntent function])
6179     AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
6180     [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
6181       fu_cv_sys_mounted_getmntent2=yes,
6182       fu_cv_sys_mounted_getmntent2=no)])
6183     AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
6184     if test $fu_cv_sys_mounted_getmntent2 = yes; then
6185       ac_list_mounted_fs=found
6186       AC_DEFINE(MOUNTED_GETMNTENT2, 1,
6187   [Define if there is a function named getmntent for reading the list of
6188    mounted filesystems, and that function takes two arguments.  (SVR4)])
6189     fi
6190   fi
6191
6192 fi
6193
6194 if test -z "$ac_list_mounted_fs"; then
6195   # DEC Alpha running OSF/1, and Apple Darwin 1.3.
6196   # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
6197
6198   AC_MSG_CHECKING([for getfsstat function])
6199   AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
6200   [AC_TRY_LINK([
6201 #include <sys/types.h>
6202 #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
6203 # define FS_TYPE(Ent) ((Ent).f_fstypename)
6204 #else
6205 # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
6206 #endif
6207 ]$getfsstat_includes
6208 ,
6209   [struct statfs *stats;
6210    int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
6211    char *t = FS_TYPE (*stats); ],
6212     fu_cv_sys_mounted_getfsstat=yes,
6213     fu_cv_sys_mounted_getfsstat=no)])
6214   AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
6215   if test $fu_cv_sys_mounted_getfsstat = yes; then
6216     ac_list_mounted_fs=found
6217     AC_DEFINE(MOUNTED_GETFSSTAT, 1,
6218               [Define if there is a function named getfsstat for reading the
6219    list of mounted filesystems.  (DEC Alpha running OSF/1)])
6220   fi
6221 fi
6222
6223 if test -z "$ac_list_mounted_fs"; then
6224   # SVR3
6225   AC_MSG_CHECKING([for FIXME existence of three headers])
6226   AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
6227     [AC_TRY_CPP([
6228 #include <sys/statfs.h>
6229 #include <sys/fstyp.h>
6230 #include <mnttab.h>],
6231                 fu_cv_sys_mounted_fread_fstyp=yes,
6232                 fu_cv_sys_mounted_fread_fstyp=no)])
6233   AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
6234   if test $fu_cv_sys_mounted_fread_fstyp = yes; then
6235     ac_list_mounted_fs=found
6236     AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
6237 [Define if (like SVR2) there is no specific function for reading the
6238    list of mounted filesystems, and your system has these header files:
6239    <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
6240   fi
6241 fi
6242
6243 if test -z "$ac_list_mounted_fs"; then
6244   # 4.4BSD and DEC OSF/1.
6245   AC_MSG_CHECKING([for getmntinfo function])
6246   AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
6247     [
6248       test "$ac_cv_func_getmntinfo" = yes \
6249           && fu_cv_sys_mounted_getmntinfo=yes \
6250           || fu_cv_sys_mounted_getmntinfo=no
6251     ])
6252   AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
6253   if test $fu_cv_sys_mounted_getmntinfo = yes; then
6254     ac_list_mounted_fs=found
6255     AC_DEFINE(MOUNTED_GETMNTINFO, 1,
6256               [Define if there is a function named getmntinfo for reading the
6257    list of mounted filesystems.  (4.4BSD, Darwin)])
6258   fi
6259 fi
6260
6261 if test -z "$ac_list_mounted_fs"; then
6262   # Ultrix
6263   AC_MSG_CHECKING([for getmnt function])
6264   AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
6265     [AC_TRY_CPP([
6266 #include <sys/fs_types.h>
6267 #include <sys/mount.h>],
6268                 fu_cv_sys_mounted_getmnt=yes,
6269                 fu_cv_sys_mounted_getmnt=no)])
6270   AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
6271   if test $fu_cv_sys_mounted_getmnt = yes; then
6272     ac_list_mounted_fs=found
6273     AC_DEFINE(MOUNTED_GETMNT, 1,
6274       [Define if there is a function named getmnt for reading the list of
6275    mounted filesystems.  (Ultrix)])
6276   fi
6277 fi
6278
6279 if test -z "$ac_list_mounted_fs"; then
6280   # BeOS
6281   AC_CHECK_FUNCS(next_dev fs_stat_dev)
6282   AC_CHECK_HEADERS(fs_info.h)
6283   AC_MSG_CHECKING([for BEOS mounted file system support functions])
6284   if test $ac_cv_header_fs_info_h = yes \
6285       && test $ac_cv_func_next_dev = yes \
6286         && test $ac_cv_func_fs_stat_dev = yes; then
6287     fu_result=yes
6288   else
6289     fu_result=no
6290   fi
6291   AC_MSG_RESULT($fu_result)
6292   if test $fu_result = yes; then
6293     ac_list_mounted_fs=found
6294     AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
6295       [Define if there are functions named next_dev and fs_stat_dev for
6296    reading the list of mounted filesystems.  (BeOS)])
6297   fi
6298 fi
6299
6300 if test -z "$ac_list_mounted_fs"; then
6301   # SVR2
6302   AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
6303   AC_CACHE_VAL(fu_cv_sys_mounted_fread,
6304     [AC_TRY_CPP([#include <mnttab.h>],
6305                 fu_cv_sys_mounted_fread=yes,
6306                 fu_cv_sys_mounted_fread=no)])
6307   AC_MSG_RESULT($fu_cv_sys_mounted_fread)
6308   if test $fu_cv_sys_mounted_fread = yes; then
6309     ac_list_mounted_fs=found
6310     AC_DEFINE(MOUNTED_FREAD, 1,
6311               [Define if there is no specific function for reading the list of
6312    mounted filesystems.  fread will be used to read /etc/mnttab.  (SVR2) ])
6313   fi
6314 fi
6315
6316 if test -z "$ac_list_mounted_fs"; then
6317   AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
6318   # FIXME -- no need to abort building the whole package
6319   # Can't build mountlist.c or anything that needs its functions
6320 fi
6321
6322 AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
6323
6324   ])
6325
6326 #serial 3
6327
6328 dnl From Jim Meyering.
6329 dnl
6330 dnl See if struct statfs has the f_fstypename member.
6331 dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
6332 dnl
6333
6334 AC_DEFUN([jm_FSTYPENAME],
6335   [
6336     AC_CACHE_CHECK([for f_fstypename in struct statfs],
6337                    fu_cv_sys_f_fstypename_in_statfs,
6338       [
6339         AC_TRY_COMPILE(
6340           [
6341 #include <sys/param.h>
6342 #include <sys/types.h>
6343 #include <sys/mount.h>
6344           ],
6345           [struct statfs s; int i = sizeof s.f_fstypename;],
6346           fu_cv_sys_f_fstypename_in_statfs=yes,
6347           fu_cv_sys_f_fstypename_in_statfs=no
6348         )
6349       ]
6350     )
6351
6352     if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
6353       AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
6354                 [Define if struct statfs has the f_fstypename member.])
6355     fi
6356   ]
6357 )
6358
6359 #serial 9
6360
6361 # From fileutils/configure.in
6362
6363 # Try to determine how a program can obtain filesystem usage information.
6364 # If successful, define the appropriate symbol (see fsusage.c) and
6365 # execute ACTION-IF-FOUND.  Otherwise, execute ACTION-IF-NOT-FOUND.
6366 #
6367 # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6368
6369 AC_DEFUN([jm_FILE_SYSTEM_USAGE],
6370 [
6371
6372 echo "checking how to get filesystem space usage..."
6373 ac_fsusage_space=no
6374
6375 # Perform only the link test since it seems there are no variants of the
6376 # statvfs function.  This check is more than just AC_CHECK_FUNCS(statvfs)
6377 # because that got a false positive on SCO OSR5.  Adding the declaration
6378 # of a `struct statvfs' causes this test to fail (as it should) on such
6379 # systems.  That system is reported to work fine with STAT_STATFS4 which
6380 # is what it gets when this test fails.
6381 if test $ac_fsusage_space = no; then
6382   # SVR4
6383   AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
6384                  [AC_TRY_LINK([#include <sys/types.h>
6385 #ifdef __GLIBC__
6386 Do not use statvfs on systems with GNU libc, because that function stats
6387 all preceding entries in /proc/mounts, and that makes df hang if even
6388 one of the corresponding file systems is hard-mounted, but not available.
6389 #endif
6390 #include <sys/statvfs.h>],
6391                               [struct statvfs fsd; statvfs (0, &fsd);],
6392                               fu_cv_sys_stat_statvfs=yes,
6393                               fu_cv_sys_stat_statvfs=no)])
6394   if test $fu_cv_sys_stat_statvfs = yes; then
6395     ac_fsusage_space=yes
6396     AC_DEFINE(STAT_STATVFS, 1,
6397               [  Define if there is a function named statvfs.  (SVR4)])
6398   fi
6399 fi
6400
6401 if test $ac_fsusage_space = no; then
6402   # DEC Alpha running OSF/1
6403   AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
6404   AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
6405   [AC_TRY_RUN([
6406 #include <sys/param.h>
6407 #include <sys/types.h>
6408 #include <sys/mount.h>
6409   main ()
6410   {
6411     struct statfs fsd;
6412     fsd.f_fsize = 0;
6413     exit (statfs (".", &fsd, sizeof (struct statfs)));
6414   }],
6415   fu_cv_sys_stat_statfs3_osf1=yes,
6416   fu_cv_sys_stat_statfs3_osf1=no,
6417   fu_cv_sys_stat_statfs3_osf1=no)])
6418   AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
6419   if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
6420     ac_fsusage_space=yes
6421     AC_DEFINE(STAT_STATFS3_OSF1, 1,
6422               [   Define if  statfs takes 3 args.  (DEC Alpha running OSF/1)])
6423   fi
6424 fi
6425
6426 if test $ac_fsusage_space = no; then
6427 # AIX
6428   AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
6429 member (AIX, 4.3BSD)])
6430   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
6431   [AC_TRY_RUN([
6432 #ifdef HAVE_SYS_PARAM_H
6433 #include <sys/param.h>
6434 #endif
6435 #ifdef HAVE_SYS_MOUNT_H
6436 #include <sys/mount.h>
6437 #endif
6438 #ifdef HAVE_SYS_VFS_H
6439 #include <sys/vfs.h>
6440 #endif
6441   main ()
6442   {
6443   struct statfs fsd;
6444   fsd.f_bsize = 0;
6445   exit (statfs (".", &fsd));
6446   }],
6447   fu_cv_sys_stat_statfs2_bsize=yes,
6448   fu_cv_sys_stat_statfs2_bsize=no,
6449   fu_cv_sys_stat_statfs2_bsize=no)])
6450   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
6451   if test $fu_cv_sys_stat_statfs2_bsize = yes; then
6452     ac_fsusage_space=yes
6453     AC_DEFINE(STAT_STATFS2_BSIZE, 1,
6454 [  Define if statfs takes 2 args and struct statfs has a field named f_bsize.
6455    (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
6456   fi
6457 fi
6458
6459 if test $ac_fsusage_space = no; then
6460 # SVR3
6461   AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
6462   AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
6463   [AC_TRY_RUN([#include <sys/types.h>
6464 #include <sys/statfs.h>
6465   main ()
6466   {
6467   struct statfs fsd;
6468   exit (statfs (".", &fsd, sizeof fsd, 0));
6469   }],
6470     fu_cv_sys_stat_statfs4=yes,
6471     fu_cv_sys_stat_statfs4=no,
6472     fu_cv_sys_stat_statfs4=no)])
6473   AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
6474   if test $fu_cv_sys_stat_statfs4 = yes; then
6475     ac_fsusage_space=yes
6476     AC_DEFINE(STAT_STATFS4, 1,
6477               [  Define if statfs takes 4 args.  (SVR3, Dynix, Irix, Dolphin)])
6478   fi
6479 fi
6480
6481 if test $ac_fsusage_space = no; then
6482 # 4.4BSD and NetBSD
6483   AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
6484 member (4.4BSD and NetBSD)])
6485   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
6486   [AC_TRY_RUN([#include <sys/types.h>
6487 #ifdef HAVE_SYS_PARAM_H
6488 #include <sys/param.h>
6489 #endif
6490 #ifdef HAVE_SYS_MOUNT_H
6491 #include <sys/mount.h>
6492 #endif
6493   main ()
6494   {
6495   struct statfs fsd;
6496   fsd.f_fsize = 0;
6497   exit (statfs (".", &fsd));
6498   }],
6499   fu_cv_sys_stat_statfs2_fsize=yes,
6500   fu_cv_sys_stat_statfs2_fsize=no,
6501   fu_cv_sys_stat_statfs2_fsize=no)])
6502   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
6503   if test $fu_cv_sys_stat_statfs2_fsize = yes; then
6504     ac_fsusage_space=yes
6505     AC_DEFINE(STAT_STATFS2_FSIZE, 1,
6506 [  Define if statfs takes 2 args and struct statfs has a field named f_fsize.
6507    (4.4BSD, NetBSD)])
6508   fi
6509 fi
6510
6511 if test $ac_fsusage_space = no; then
6512   # Ultrix
6513   AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
6514   AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
6515   [AC_TRY_RUN([#include <sys/types.h>
6516 #ifdef HAVE_SYS_PARAM_H
6517 #include <sys/param.h>
6518 #endif
6519 #ifdef HAVE_SYS_MOUNT_H
6520 #include <sys/mount.h>
6521 #endif
6522 #ifdef HAVE_SYS_FS_TYPES_H
6523 #include <sys/fs_types.h>
6524 #endif
6525   main ()
6526   {
6527   struct fs_data fsd;
6528   /* Ultrix's statfs returns 1 for success,
6529      0 for not mounted, -1 for failure.  */
6530   exit (statfs (".", &fsd) != 1);
6531   }],
6532   fu_cv_sys_stat_fs_data=yes,
6533   fu_cv_sys_stat_fs_data=no,
6534   fu_cv_sys_stat_fs_data=no)])
6535   AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
6536   if test $fu_cv_sys_stat_fs_data = yes; then
6537     ac_fsusage_space=yes
6538     AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
6539 [  Define if statfs takes 2 args and the second argument has
6540    type struct fs_data.  (Ultrix)])
6541   fi
6542 fi
6543
6544 if test $ac_fsusage_space = no; then
6545   # SVR2
6546   AC_TRY_CPP([#include <sys/filsys.h>
6547     ],
6548     AC_DEFINE(STAT_READ_FILSYS, 1,
6549       [Define if there is no specific function for reading filesystems usage
6550        information and you have the <sys/filsys.h> header file.  (SVR2)])
6551     ac_fsusage_space=yes)
6552 fi
6553
6554 AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
6555
6556 ])
6557
6558 #serial 5
6559
6560 # Define some macros required for proper operation of code in lib/*.c
6561 # on MSDOS/Windows systems.
6562
6563 # From Jim Meyering.
6564
6565 AC_DEFUN([jm_AC_DOS],
6566   [
6567     AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
6568       [
6569         AC_TRY_COMPILE([],
6570         [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
6571 neither MSDOS nor Windows
6572 #endif],
6573         [ac_cv_win_or_dos=yes],
6574         [ac_cv_win_or_dos=no])
6575       ])
6576
6577     if test x"$ac_cv_win_or_dos" = xyes; then
6578       ac_fs_accepts_drive_letter_prefix=1
6579       ac_fs_backslash_is_file_name_separator=1
6580     else
6581       ac_fs_accepts_drive_letter_prefix=0
6582       ac_fs_backslash_is_file_name_separator=0
6583     fi
6584
6585     AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
6586     [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
6587 # define FILESYSTEM_PREFIX_LEN(Filename) \
6588   ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
6589 #else
6590 # define FILESYSTEM_PREFIX_LEN(Filename) 0
6591 #endif])
6592
6593     AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
6594       $ac_fs_accepts_drive_letter_prefix,
6595       [Define on systems for which file names may have a so-called
6596        `drive letter' prefix, define this to compute the length of that
6597        prefix, including the colon.])
6598
6599     AH_VERBATIM(ISSLASH,
6600     [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
6601 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
6602 #else
6603 # define ISSLASH(C) ((C) == '/')
6604 #endif])
6605
6606     AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
6607       $ac_fs_backslash_is_file_name_separator,
6608       [Define if the backslash character may also serve as a file name
6609        component separator.])
6610   ])
6611
6612 #serial 1
6613 AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
6614   [
6615     AC_REQUIRE([AC_HEADER_STDC])
6616     AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
6617     AC_CHECK_FUNCS(resolvepath)
6618     AC_REQUIRE([AC_HEADER_STAT])
6619
6620     # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
6621     # if the function name weren't so long.  Besides, I would rather
6622     # not have underscores in file names.
6623     AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
6624   ])
6625
6626 #serial 3
6627
6628 # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
6629
6630 AC_DEFUN([AC_STRUCT_ST_DM_MODE],
6631  [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
6632    [AC_TRY_COMPILE([#include <sys/types.h>
6633 #include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
6634      ac_cv_struct_st_dm_mode=yes,
6635      ac_cv_struct_st_dm_mode=no)])
6636
6637   if test $ac_cv_struct_st_dm_mode = yes; then
6638     AC_DEFINE(HAVE_ST_DM_MODE, 1,
6639               [Define if struct stat has an st_dm_mode member. ])
6640   fi
6641  ]
6642 )
6643
6644 #serial 6
6645 dnl From Jim Meyering and Paul Eggert.
6646 AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
6647 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6648  AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
6649                 jm_cv_sys_tiocgwinsz_needs_termios_h,
6650   [jm_cv_sys_tiocgwinsz_needs_termios_h=no
6651
6652    if test $ac_cv_sys_posix_termios = yes; then
6653      AC_EGREP_CPP([yes],
6654      [#include <sys/types.h>
6655 #      include <termios.h>
6656 #      ifdef TIOCGWINSZ
6657          yes
6658 #      endif
6659      ], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
6660    fi
6661   ])
6662 ])
6663
6664 AC_DEFUN([jm_WINSIZE_IN_PTEM],
6665   [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6666    AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
6667      jm_cv_sys_struct_winsize_needs_sys_ptem_h,
6668      [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
6669       if test $ac_cv_sys_posix_termios = yes; then
6670         AC_TRY_COMPILE([#include <termios.h>]
6671           [struct winsize x;],
6672           [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6673       fi
6674       if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6675         AC_TRY_COMPILE([#include <sys/ptem.h>],
6676           [struct winsize x;],
6677           [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6678       fi])
6679    if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6680      AC_DEFINE([WINSIZE_IN_PTEM], 1,
6681        [Define if sys/ptem.h is required for struct winsize.])
6682    fi])
6683
6684 # Determine whether this system has infrastructure for obtaining the boot time.
6685
6686 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6687 * ----------------------------------------------------------
6688 AC_DEFUN([GNULIB_BOOT_TIME],
6689 [
6690   AC_CHECK_FUNCS(sysctl)
6691   AC_CHECK_HEADERS(sys/sysctl.h)
6692   AC_CACHE_CHECK(
6693     [whether we can get the system boot time],
6694     [gnulib_cv_have_boot_time],
6695     [
6696       AC_COMPILE_IFELSE(
6697        [AC_LANG_PROGRAM(
6698 [AC_INCLUDES_DEFAULT
6699 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
6700 # include <sys/param.h> /* needed for OpenBSD 3.0 */
6701 # include <sys/sysctl.h>
6702 #endif
6703 #ifdef HAVE_UTMPX_H
6704 # include <utmpx.h>
6705 #else
6706 # include <utmp.h>
6707 #endif
6708 ],
6709 [[
6710 #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
6711 /* your system *does* have the infrastructure to determine boot time */
6712 #else
6713 please_tell_us_how_to_determine_boot_time_on_your_system
6714 #endif
6715 ]])],
6716        gnulib_cv_have_boot_time=yes,
6717        gnulib_cv_have_boot_time=no)
6718     ])
6719   AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
6720 ])
6721
6722 #serial 4
6723
6724 AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
6725 [AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
6726  AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
6727                 jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
6728   [jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
6729
6730   if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
6731     AC_EGREP_CPP([yes],
6732     [#include <sys/types.h>
6733 #     include <sys/ioctl.h>
6734 #     ifdef TIOCGWINSZ
6735         yes
6736 #     endif
6737     ], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
6738   fi
6739   ])
6740   if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
6741     AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
6742       [Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
6743   fi
6744 ])
6745
6746 #serial 5
6747
6748 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
6749
6750 AC_DEFUN([jm_LIB_CHECK],
6751 [
6752
6753   # Check for libypsec.a on Dolphin M88K machines.
6754   AC_CHECK_LIB(ypsec, main)
6755
6756   # m88k running dgux 5.4 needs this
6757   AC_CHECK_LIB(ldgc, main)
6758
6759   # Some programs need to link with -lm.  printf does if it uses
6760   # lib/strtod.c which uses pow.  And seq uses the math functions,
6761   # floor, modf, rint.  And factor uses sqrt.  And sleep uses fesetround.
6762
6763   # Save a copy of $LIBS and add $FLOOR_LIBM before these tests
6764   # Check for these math functions used by seq.
6765   ac_su_saved_lib="$LIBS"
6766   LIBS="$LIBS -lm"
6767   AC_CHECK_FUNCS(floor modf rint)
6768   LIBS="$ac_su_saved_lib"
6769
6770   AC_SUBST(SQRT_LIBM)
6771   AC_CHECK_FUNCS(sqrt)
6772   if test $ac_cv_func_sqrt = no; then
6773     AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
6774   fi
6775
6776   AC_SUBST(FESETROUND_LIBM)
6777   AC_CHECK_FUNCS(fesetround)
6778   if test $ac_cv_func_fesetround = no; then
6779     AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
6780   fi
6781
6782   # The -lsun library is required for YP support on Irix-4.0.5 systems.
6783   # m88k/svr3 DolphinOS systems using YP need -lypsec for id.
6784   AC_SEARCH_LIBS(yp_match, [sun ypsec])
6785
6786   # SysV needs -lsec, older versions of Linux need -lshadow for
6787   # shadow passwords.  UnixWare 7 needs -lgen.
6788   AC_SEARCH_LIBS(getspnam, [shadow sec gen])
6789
6790   AC_CHECK_HEADERS(shadow.h)
6791
6792   # Requirements for su.c.
6793   shadow_includes="\
6794 $ac_includes_default
6795 #if HAVE_SHADOW_H
6796 # include <shadow.h>
6797 #endif
6798 "
6799   AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
6800   AC_CHECK_FUNCS(getspnam)
6801
6802   # SCO-ODT-3.0 is reported to need -lufc for crypt.
6803   # NetBSD needs -lcrypt for crypt.
6804   ac_su_saved_lib="$LIBS"
6805   AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
6806   LIBS="$ac_su_saved_lib"
6807   AC_SUBST(LIB_CRYPT)
6808 ])
6809
6810 # gettext.m4 serial 17 (gettext-0.11.5)
6811 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
6812 dnl This file is free software, distributed under the terms of the GNU
6813 dnl General Public License.  As a special exception to the GNU General
6814 dnl Public License, this file may be distributed as part of a program
6815 dnl that contains a configuration script generated by Autoconf, under
6816 dnl the same distribution terms as the rest of that program.
6817 dnl
6818 dnl This file can can be used in projects which are not available under
6819 dnl the GNU General Public License or the GNU Library General Public
6820 dnl License but which still want to provide support for the GNU gettext
6821 dnl functionality.
6822 dnl Please note that the actual code of the GNU gettext library is covered
6823 dnl by the GNU Library General Public License, and the rest of the GNU
6824 dnl gettext package package is covered by the GNU General Public License.
6825 dnl They are *not* in the public domain.
6826
6827 dnl Authors:
6828 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
6829 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2002.
6830
6831 dnl Macro to add for using GNU gettext.
6832
6833 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
6834 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
6835 dnl    default (if it is not specified or empty) is 'no-libtool'.
6836 dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
6837 dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
6838 dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
6839 dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
6840 dnl    depending on --{enable,disable}-{shared,static} and on the presence of
6841 dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
6842 dnl    $(top_builddir)/intl/libintl.a will be created.
6843 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
6844 dnl    implementations (in libc or libintl) without the ngettext() function
6845 dnl    will be ignored.  If NEEDSYMBOL is specified and is
6846 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
6847 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
6848 dnl INTLDIR is used to find the intl libraries.  If empty,
6849 dnl    the value `$(top_builddir)/intl/' is used.
6850 dnl
6851 dnl The result of the configuration is one of three cases:
6852 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
6853 dnl    and used.
6854 dnl    Catalog format: GNU --> install in $(datadir)
6855 dnl    Catalog extension: .mo after installation, .gmo in source tree
6856 dnl 2) GNU gettext has been found in the system's C library.
6857 dnl    Catalog format: GNU --> install in $(datadir)
6858 dnl    Catalog extension: .mo after installation, .gmo in source tree
6859 dnl 3) No internationalization, always use English msgid.
6860 dnl    Catalog format: none
6861 dnl    Catalog extension: none
6862 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
6863 dnl The use of .gmo is historical (it was needed to avoid overwriting the
6864 dnl GNU format catalogs when building on a platform with an X/Open gettext),
6865 dnl but we keep it in order not to force irrelevant filename changes on the
6866 dnl maintainers.
6867 dnl
6868 AC_DEFUN([AM_GNU_GETTEXT],
6869 [
6870   dnl Argument checking.
6871   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
6872     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
6873 ])])])])])
6874   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
6875     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
6876 ])])])])
6877   define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
6878   define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
6879
6880   AC_REQUIRE([AM_PO_SUBDIRS])dnl
6881   ifelse(gt_included_intl, yes, [
6882     AC_REQUIRE([AM_INTL_SUBDIR])dnl
6883   ])
6884
6885   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
6886   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
6887   AC_REQUIRE([AC_LIB_RPATH])
6888
6889   dnl Sometimes libintl requires libiconv, so first search for libiconv.
6890   dnl Ideally we would do this search only after the
6891   dnl      if test "$USE_NLS" = "yes"; then
6892   dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6893   dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
6894   dnl the configure script would need to contain the same shell code
6895   dnl again, outside any 'if'. There are two solutions:
6896   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
6897   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
6898   dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
6899   dnl documented, we avoid it.
6900   ifelse(gt_included_intl, yes, , [
6901     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
6902   ])
6903
6904   AC_MSG_CHECKING([whether NLS is requested])
6905   dnl Default is enabled NLS
6906   AC_ARG_ENABLE(nls,
6907     [  --disable-nls           do not use Native Language Support],
6908     USE_NLS=$enableval, USE_NLS=yes)
6909   AC_MSG_RESULT($USE_NLS)
6910   AC_SUBST(USE_NLS)
6911
6912   ifelse(gt_included_intl, yes, [
6913     BUILD_INCLUDED_LIBINTL=no
6914     USE_INCLUDED_LIBINTL=no
6915   ])
6916   LIBINTL=
6917   LTLIBINTL=
6918   POSUB=
6919
6920   dnl If we use NLS figure out what method
6921   if test "$USE_NLS" = "yes"; then
6922     gt_use_preinstalled_gnugettext=no
6923     ifelse(gt_included_intl, yes, [
6924       AC_MSG_CHECKING([whether included gettext is requested])
6925       AC_ARG_WITH(included-gettext,
6926         [  --with-included-gettext use the GNU gettext library included here],
6927         nls_cv_force_use_gnu_gettext=$withval,
6928         nls_cv_force_use_gnu_gettext=no)
6929       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
6930
6931       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
6932       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
6933     ])
6934         dnl User does not insist on using GNU NLS library.  Figure out what
6935         dnl to use.  If GNU gettext is available we use this.  Else we have
6936         dnl to fall back to GNU NLS library.
6937
6938         dnl Add a version number to the cache macros.
6939         define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
6940         define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
6941         define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
6942
6943         AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
6944          [AC_TRY_LINK([#include <libintl.h>
6945 ]ifelse([$2], [need-formatstring-macros],
6946 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6947 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6948 #endif
6949 changequote(,)dnl
6950 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6951 changequote([,])dnl
6952 ], [])[extern int _nl_msg_cat_cntr;
6953 extern int *_nl_domain_bindings;],
6954             [bindtextdomain ("", "");
6955 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
6956             gt_cv_func_gnugettext_libc=yes,
6957             gt_cv_func_gnugettext_libc=no)])
6958
6959         if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6960           dnl Sometimes libintl requires libiconv, so first search for libiconv.
6961           ifelse(gt_included_intl, yes, , [
6962             AM_ICONV_LINK
6963           ])
6964           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
6965           dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
6966           dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
6967           dnl even if libiconv doesn't exist.
6968           AC_LIB_LINKFLAGS_BODY([intl])
6969           AC_CACHE_CHECK([for GNU gettext in libintl],
6970             gt_cv_func_gnugettext_libintl,
6971            [gt_save_CPPFLAGS="$CPPFLAGS"
6972             CPPFLAGS="$CPPFLAGS $INCINTL"
6973             gt_save_LIBS="$LIBS"
6974             LIBS="$LIBS $LIBINTL"
6975             dnl Now see whether libintl exists and does not depend on libiconv.
6976             AC_TRY_LINK([#include <libintl.h>
6977 ]ifelse([$2], [need-formatstring-macros],
6978 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6979 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6980 #endif
6981 changequote(,)dnl
6982 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6983 changequote([,])dnl
6984 ], [])[extern int _nl_msg_cat_cntr;
6985 extern
6986 #ifdef __cplusplus
6987 "C"
6988 #endif
6989 const char *_nl_expand_alias ();],
6990               [bindtextdomain ("", "");
6991 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
6992               gt_cv_func_gnugettext_libintl=yes,
6993               gt_cv_func_gnugettext_libintl=no)
6994             dnl Now see whether libintl exists and depends on libiconv.
6995             if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
6996               LIBS="$LIBS $LIBICONV"
6997               AC_TRY_LINK([#include <libintl.h>
6998 ]ifelse([$2], [need-formatstring-macros],
6999 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
7000 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
7001 #endif
7002 changequote(,)dnl
7003 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
7004 changequote([,])dnl
7005 ], [])[extern int _nl_msg_cat_cntr;
7006 extern
7007 #ifdef __cplusplus
7008 "C"
7009 #endif
7010 const char *_nl_expand_alias ();],
7011                 [bindtextdomain ("", "");
7012 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
7013                [LIBINTL="$LIBINTL $LIBICONV"
7014                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
7015                 gt_cv_func_gnugettext_libintl=yes
7016                ])
7017             fi
7018             CPPFLAGS="$gt_save_CPPFLAGS"
7019             LIBS="$gt_save_LIBS"])
7020         fi
7021
7022         dnl If an already present or preinstalled GNU gettext() is found,
7023         dnl use it.  But if this macro is used in GNU gettext, and GNU
7024         dnl gettext is already preinstalled in libintl, we update this
7025         dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
7026         if test "$gt_cv_func_gnugettext_libc" = "yes" \
7027            || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
7028                 && test "$PACKAGE" != gettext; }; then
7029           gt_use_preinstalled_gnugettext=yes
7030         else
7031           dnl Reset the values set by searching for libintl.
7032           LIBINTL=
7033           LTLIBINTL=
7034           INCINTL=
7035         fi
7036
7037     ifelse(gt_included_intl, yes, [
7038         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
7039           dnl GNU gettext is not found in the C library.
7040           dnl Fall back on included GNU gettext library.
7041           nls_cv_use_gnu_gettext=yes
7042         fi
7043       fi
7044
7045       if test "$nls_cv_use_gnu_gettext" = "yes"; then
7046         dnl Mark actions used to generate GNU NLS library.
7047         INTLOBJS="\$(GETTOBJS)"
7048         BUILD_INCLUDED_LIBINTL=yes
7049         USE_INCLUDED_LIBINTL=yes
7050         LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
7051         LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
7052         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
7053       fi
7054
7055       if test "$gt_use_preinstalled_gnugettext" = "yes" \
7056          || test "$nls_cv_use_gnu_gettext" = "yes"; then
7057         dnl Mark actions to use GNU gettext tools.
7058         CATOBJEXT=.gmo
7059       fi
7060     ])
7061
7062     if test "$gt_use_preinstalled_gnugettext" = "yes" \
7063        || test "$nls_cv_use_gnu_gettext" = "yes"; then
7064       AC_DEFINE(ENABLE_NLS, 1,
7065         [Define to 1 if translation of program messages to the user's native language
7066    is requested.])
7067     else
7068       USE_NLS=no
7069     fi
7070   fi
7071
7072   if test "$USE_NLS" = "yes"; then
7073
7074     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
7075       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
7076         AC_MSG_CHECKING([how to link with libintl])
7077         AC_MSG_RESULT([$LIBINTL])
7078         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
7079       fi
7080
7081       dnl For backward compatibility. Some packages may be using this.
7082       AC_DEFINE(HAVE_GETTEXT, 1,
7083        [Define if the GNU gettext() function is already present or preinstalled.])
7084       AC_DEFINE(HAVE_DCGETTEXT, 1,
7085        [Define if the GNU dcgettext() function is already present or preinstalled.])
7086     fi
7087
7088     dnl We need to process the po/ directory.
7089     POSUB=po
7090   fi
7091
7092   ifelse(gt_included_intl, yes, [
7093     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
7094     dnl to 'yes' because some of the testsuite requires it.
7095     if test "$PACKAGE" = gettext; then
7096       BUILD_INCLUDED_LIBINTL=yes
7097     fi
7098
7099     dnl Make all variables we use known to autoconf.
7100     AC_SUBST(BUILD_INCLUDED_LIBINTL)
7101     AC_SUBST(USE_INCLUDED_LIBINTL)
7102     AC_SUBST(CATOBJEXT)
7103     AC_SUBST(INTLOBJS)
7104
7105     dnl For backward compatibility. Some configure.ins may be using this.
7106     nls_cv_header_intl=
7107     nls_cv_header_libgt=
7108
7109     dnl For backward compatibility. Some Makefiles may be using this.
7110     DATADIRNAME=share
7111     AC_SUBST(DATADIRNAME)
7112
7113     dnl For backward compatibility. Some Makefiles may be using this.
7114     INSTOBJEXT=.mo
7115     AC_SUBST(INSTOBJEXT)
7116
7117     dnl For backward compatibility. Some Makefiles may be using this.
7118     GENCAT=gencat
7119     AC_SUBST(GENCAT)
7120
7121     dnl Enable libtool support if the surrounding package wishes it.
7122     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
7123     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
7124   ])
7125
7126   dnl For backward compatibility. Some Makefiles may be using this.
7127   INTLLIBS="$LIBINTL"
7128   AC_SUBST(INTLLIBS)
7129
7130   dnl Make all documented variables known to autoconf.
7131   AC_SUBST(LIBINTL)
7132   AC_SUBST(LTLIBINTL)
7133   AC_SUBST(POSUB)
7134 ])
7135
7136
7137 dnl Checks for all prerequisites of the po subdirectory,
7138 dnl except for USE_NLS.
7139 AC_DEFUN([AM_PO_SUBDIRS],
7140 [
7141   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
7142   AC_REQUIRE([AC_PROG_INSTALL])dnl
7143   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7144
7145   dnl Perform the following tests also if --disable-nls has been given,
7146   dnl because they are needed for "make dist" to work.
7147
7148   dnl Search for GNU msgfmt in the PATH.
7149   dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
7150   dnl The second test excludes FreeBSD msgfmt.
7151   AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
7152     [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
7153      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
7154     :)
7155   AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
7156
7157   dnl Search for GNU xgettext 0.11 or newer in the PATH.
7158   dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
7159   dnl The second test excludes FreeBSD xgettext.
7160   AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
7161     [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7162      (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)],
7163     :)
7164   dnl Remove leftover from FreeBSD xgettext call.
7165   rm -f messages.po
7166
7167   dnl Search for GNU msgmerge 0.11 or newer in the PATH.
7168   AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
7169     [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
7170
7171   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7172   dnl Test whether we really found GNU msgfmt.
7173   if test "$GMSGFMT" != ":"; then
7174     dnl If it is no GNU msgfmt we define it as : so that the
7175     dnl Makefiles still can work.
7176     if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
7177        (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7178       : ;
7179     else
7180       GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
7181       AC_MSG_RESULT(
7182         [found $GMSGFMT program is not GNU msgfmt; ignore it])
7183       GMSGFMT=":"
7184     fi
7185   fi
7186
7187   dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7188   dnl Test whether we really found GNU xgettext.
7189   if test "$XGETTEXT" != ":"; then
7190     dnl If it is no GNU xgettext we define it as : so that the
7191     dnl Makefiles still can work.
7192     if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7193        (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7194       : ;
7195     else
7196       AC_MSG_RESULT(
7197         [found xgettext program is not GNU xgettext; ignore it])
7198       XGETTEXT=":"
7199     fi
7200     dnl Remove leftover from FreeBSD xgettext call.
7201     rm -f messages.po
7202   fi
7203
7204   AC_OUTPUT_COMMANDS([
7205     for ac_file in $CONFIG_FILES; do
7206       # Support "outfile[:infile[:infile...]]"
7207       case "$ac_file" in
7208         *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
7209       esac
7210       # PO directories have a Makefile.in generated from Makefile.in.in.
7211       case "$ac_file" in */Makefile.in)
7212         # Adjust a relative srcdir.
7213         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
7214         ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
7215         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
7216         # In autoconf-2.13 it is called $ac_given_srcdir.
7217         # In autoconf-2.50 it is called $srcdir.
7218         test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
7219         case "$ac_given_srcdir" in
7220           .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
7221           /*) top_srcdir="$ac_given_srcdir" ;;
7222           *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
7223         esac
7224         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
7225           rm -f "$ac_dir/POTFILES"
7226           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
7227           cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[    ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
7228           # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
7229           # on $ac_dir but don't depend on user-specified configuration
7230           # parameters.
7231           if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
7232             # The LINGUAS file contains the set of available languages.
7233             if test -n "$ALL_LINGUAS"; then
7234               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
7235             fi
7236             ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
7237             # Hide the ALL_LINGUAS assigment from automake.
7238             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
7239           fi
7240           case "$ac_given_srcdir" in
7241             .) srcdirpre= ;;
7242             *) srcdirpre='$(srcdir)/' ;;
7243           esac
7244           POFILES=
7245           GMOFILES=
7246           UPDATEPOFILES=
7247           DUMMYPOFILES=
7248           for lang in $ALL_LINGUAS; do
7249             POFILES="$POFILES $srcdirpre$lang.po"
7250             GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
7251             UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
7252             DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
7253           done
7254           # CATALOGS depends on both $ac_dir and the user's LINGUAS
7255           # environment variable.
7256           INST_LINGUAS=
7257           if test -n "$ALL_LINGUAS"; then
7258             for presentlang in $ALL_LINGUAS; do
7259               useit=no
7260               if test "%UNSET%" != "$LINGUAS"; then
7261                 desiredlanguages="$LINGUAS"
7262               else
7263                 desiredlanguages="$ALL_LINGUAS"
7264               fi
7265               for desiredlang in $desiredlanguages; do
7266                 # Use the presentlang catalog if desiredlang is
7267                 #   a. equal to presentlang, or
7268                 #   b. a variant of presentlang (because in this case,
7269                 #      presentlang can be used as a fallback for messages
7270                 #      which are not translated in the desiredlang catalog).
7271                 case "$desiredlang" in
7272                   "$presentlang"*) useit=yes;;
7273                 esac
7274               done
7275               if test $useit = yes; then
7276                 INST_LINGUAS="$INST_LINGUAS $presentlang"
7277               fi
7278             done
7279           fi
7280           CATALOGS=
7281           if test -n "$INST_LINGUAS"; then
7282             for lang in $INST_LINGUAS; do
7283               CATALOGS="$CATALOGS $lang.gmo"
7284             done
7285           fi
7286           test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
7287           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"
7288           for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
7289             if test -f "$f"; then
7290               case "$f" in
7291                 *.orig | *.bak | *~) ;;
7292                 *) cat "$f" >> "$ac_dir/Makefile" ;;
7293               esac
7294             fi
7295           done
7296         fi
7297         ;;
7298       esac
7299     done],
7300    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
7301     # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
7302     # from automake.
7303     eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
7304     # Capture the value of LINGUAS because we need it to compute CATALOGS.
7305     LINGUAS="${LINGUAS-%UNSET%}"
7306    ])
7307 ])
7308
7309
7310 dnl Checks for all prerequisites of the intl subdirectory,
7311 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
7312 dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
7313 AC_DEFUN([AM_INTL_SUBDIR],
7314 [
7315   AC_REQUIRE([AC_PROG_INSTALL])dnl
7316   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7317   AC_REQUIRE([AC_PROG_CC])dnl
7318   AC_REQUIRE([AC_CANONICAL_HOST])dnl
7319   AC_REQUIRE([AC_PROG_RANLIB])dnl
7320   AC_REQUIRE([AC_ISC_POSIX])dnl
7321   AC_REQUIRE([AC_HEADER_STDC])dnl
7322   AC_REQUIRE([AC_C_CONST])dnl
7323   AC_REQUIRE([AC_C_INLINE])dnl
7324   AC_REQUIRE([AC_TYPE_OFF_T])dnl
7325   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
7326   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
7327   AC_REQUIRE([AC_FUNC_MMAP])dnl
7328   AC_REQUIRE([jm_GLIBC21])dnl
7329   AC_REQUIRE([gt_INTDIV0])dnl
7330   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
7331   AC_REQUIRE([gt_INTTYPES_PRI])dnl
7332
7333   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
7334 stdlib.h string.h unistd.h sys/param.h])
7335   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
7336 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
7337 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
7338
7339   AM_ICONV
7340   AM_LANGINFO_CODESET
7341   if test $ac_cv_header_locale_h = yes; then
7342     AM_LC_MESSAGES
7343   fi
7344
7345   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
7346   dnl because plural.y uses bison specific features. It requires at least
7347   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
7348   dnl compile.
7349   dnl bison is only needed for the maintainer (who touches plural.y). But in
7350   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
7351   dnl the rule in general Makefile. Now, some people carelessly touch the
7352   dnl files or have a broken "make" program, hence the plural.c rule will
7353   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
7354   dnl present or too old.
7355   AC_CHECK_PROGS([INTLBISON], [bison])
7356   if test -z "$INTLBISON"; then
7357     ac_verc_fail=yes
7358   else
7359     dnl Found it, now check the version.
7360     AC_MSG_CHECKING([version of bison])
7361 changequote(<<,>>)dnl
7362     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
7363     case $ac_prog_version in
7364       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
7365       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
7366 changequote([,])dnl
7367          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
7368       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
7369     esac
7370     AC_MSG_RESULT([$ac_prog_version])
7371   fi
7372   if test $ac_verc_fail = yes; then
7373     INTLBISON=:
7374   fi
7375 ])
7376
7377
7378 AC_DEFUN([AM_MKINSTALLDIRS],
7379 [
7380   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
7381   dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
7382   dnl Try to locate is.
7383   MKINSTALLDIRS=
7384   if test -n "$ac_aux_dir"; then
7385     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
7386   fi
7387   if test -z "$MKINSTALLDIRS"; then
7388     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
7389   fi
7390   AC_SUBST(MKINSTALLDIRS)
7391 ])
7392
7393
7394 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
7395 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
7396
7397 # progtest.m4 serial 3
7398 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
7399 dnl This file is free software, distributed under the terms of the GNU
7400 dnl General Public License.  As a special exception to the GNU General
7401 dnl Public License, this file may be distributed as part of a program
7402 dnl that contains a configuration script generated by Autoconf, under
7403 dnl the same distribution terms as the rest of that program.
7404 dnl
7405 dnl This file can can be used in projects which are not available under
7406 dnl the GNU General Public License or the GNU Library General Public
7407 dnl License but which still want to provide support for the GNU gettext
7408 dnl functionality.
7409 dnl Please note that the actual code of the GNU gettext library is covered
7410 dnl by the GNU Library General Public License, and the rest of the GNU
7411 dnl gettext package package is covered by the GNU General Public License.
7412 dnl They are *not* in the public domain.
7413
7414 dnl Authors:
7415 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
7416
7417 # Search path for a program which passes the given test.
7418
7419 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
7420 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
7421 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
7422 [# Extract the first word of "$2", so it can be a program name with args.
7423 set dummy $2; ac_word=[$]2
7424 AC_MSG_CHECKING([for $ac_word])
7425 AC_CACHE_VAL(ac_cv_path_$1,
7426 [case "[$]$1" in
7427   /*)
7428   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
7429   ;;
7430   *)
7431   IFS="${IFS=    }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
7432   for ac_dir in ifelse([$5], , $PATH, [$5]); do
7433     test -z "$ac_dir" && ac_dir=.
7434     if test -f $ac_dir/$ac_word; then
7435       if [$3]; then
7436         ac_cv_path_$1="$ac_dir/$ac_word"
7437         break
7438       fi
7439     fi
7440   done
7441   IFS="$ac_save_ifs"
7442 dnl If no 4th arg is given, leave the cache variable unset,
7443 dnl so AC_PATH_PROGS will keep looking.
7444 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
7445 ])dnl
7446   ;;
7447 esac])dnl
7448 $1="$ac_cv_path_$1"
7449 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
7450   AC_MSG_RESULT([$]$1)
7451 else
7452   AC_MSG_RESULT(no)
7453 fi
7454 AC_SUBST($1)dnl
7455 ])
7456
7457 # intdiv0.m4 serial 1 (gettext-0.11.3)
7458 dnl Copyright (C) 2002 Free Software Foundation, Inc.
7459 dnl This file is free software, distributed under the terms of the GNU
7460 dnl General Public License.  As a special exception to the GNU General
7461 dnl Public License, this file may be distributed as part of a program
7462 dnl that contains a configuration script generated by Autoconf, under
7463 dnl the same distribution terms as the rest of that program.
7464
7465 dnl From Bruno Haible.
7466
7467 AC_DEFUN([gt_INTDIV0],
7468 [
7469   AC_REQUIRE([AC_PROG_CC])dnl
7470   AC_REQUIRE([AC_CANONICAL_HOST])dnl
7471
7472   AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
7473     gt_cv_int_divbyzero_sigfpe,
7474     [
7475       AC_TRY_RUN([
7476 #include <stdlib.h>
7477 #include <signal.h>
7478
7479 static void
7480 #ifdef __cplusplus
7481 sigfpe_handler (int sig)
7482 #else
7483 sigfpe_handler (sig) int sig;
7484 #endif
7485 {
7486   /* Exit with code 0 if SIGFPE, with code 1 if any other signal.  */
7487   exit (sig != SIGFPE);
7488 }
7489
7490 int x = 1;
7491 int y = 0;
7492 int z;
7493 int nan;
7494
7495 int main ()
7496 {
7497   signal (SIGFPE, sigfpe_handler);
7498 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP.  */
7499 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
7500   signal (SIGTRAP, sigfpe_handler);
7501 #endif
7502 /* Linux/SPARC yields signal SIGILL.  */
7503 #if defined (__sparc__) && defined (__linux__)
7504   signal (SIGILL, sigfpe_handler);
7505 #endif
7506
7507   z = x / y;
7508   nan = y / y;
7509   exit (1);
7510 }
7511 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
7512         [
7513           # Guess based on the CPU.
7514           case "$host_cpu" in
7515             alpha* | i[34567]86 | m68k | s390*)
7516               gt_cv_int_divbyzero_sigfpe="guessing yes";;
7517             *)
7518               gt_cv_int_divbyzero_sigfpe="guessing no";;
7519           esac
7520         ])
7521     ])
7522   case "$gt_cv_int_divbyzero_sigfpe" in
7523     *yes) value=1;;
7524     *) value=0;;
7525   esac
7526   AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
7527     [Define if integer division by zero raises signal SIGFPE.])
7528 ])
7529
7530 # lcmessage.m4 serial 3 (gettext-0.11.3)
7531 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
7532 dnl This file is free software, distributed under the terms of the GNU
7533 dnl General Public License.  As a special exception to the GNU General
7534 dnl Public License, this file may be distributed as part of a program
7535 dnl that contains a configuration script generated by Autoconf, under
7536 dnl the same distribution terms as the rest of that program.
7537 dnl
7538 dnl This file can can be used in projects which are not available under
7539 dnl the GNU General Public License or the GNU Library General Public
7540 dnl License but which still want to provide support for the GNU gettext
7541 dnl functionality.
7542 dnl Please note that the actual code of the GNU gettext library is covered
7543 dnl by the GNU Library General Public License, and the rest of the GNU
7544 dnl gettext package package is covered by the GNU General Public License.
7545 dnl They are *not* in the public domain.
7546
7547 dnl Authors:
7548 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
7549
7550 # Check whether LC_MESSAGES is available in <locale.h>.
7551
7552 AC_DEFUN([AM_LC_MESSAGES],
7553 [
7554   AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
7555     [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
7556        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
7557   if test $am_cv_val_LC_MESSAGES = yes; then
7558     AC_DEFINE(HAVE_LC_MESSAGES, 1,
7559       [Define if your <locale.h> file defines LC_MESSAGES.])
7560   fi
7561 ])
7562