.
[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 68   -*- 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
935   AC_REQUIRE([UTILS_HOST_OS])
936   AC_REQUIRE([jm_ASSERT])
937   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
938   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
939   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
940   AC_REQUIRE([jm_CHECK_DECLS])
941
942   AC_REQUIRE([jm_PREREQ])
943
944   AC_REQUIRE([UTILS_FUNC_DIRFD])
945   AC_REQUIRE([AC_FUNC_ACL])
946   AC_REQUIRE([AC_FUNC_FTW])
947   AC_REQUIRE([jm_FUNC_LCHOWN])
948   AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
949   AC_REQUIRE([jm_FUNC_CHOWN])
950   AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
951   AC_REQUIRE([AC_FUNC_STRERROR_R])
952   AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
953   AC_REQUIRE([jm_AFS])
954   AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
955   AC_REQUIRE([jm_FUNC_FPENDING])
956
957   # This is for od and stat, and any other program that
958   # uses the PRI.MAX macros from inttypes.h.
959   AC_REQUIRE([gt_INTTYPES_PRI])
960
961   AC_REQUIRE([jm_FUNC_GETGROUPS])
962
963   AC_REQUIRE([AC_FUNC_FSEEKO])
964   AC_REQUIRE([AC_FUNC_ALLOCA])
965
966   AC_CONFIG_LIBOBJ_DIR([lib])
967   AC_FUNC_GETLOADAVG([lib])
968
969   AC_REQUIRE([jm_SYS_PROC_UPTIME])
970   AC_REQUIRE([jm_FUNC_FTRUNCATE])
971
972   # raise is used by at least sort and ls.
973   AC_REPLACE_FUNCS(raise)
974
975   # By default, argmatch should fail calling usage (1).
976   AC_DEFINE(ARGMATCH_DIE, [usage (1)],
977             [Define to the function xargmatch calls on failures.])
978   AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
979             [Define to the declaration of the xargmatch failure function.])
980
981   dnl Used to define SETVBUF in sys2.h.
982   dnl This evokes the following warning from autoconf:
983   dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
984   AC_FUNC_SETVBUF_REVERSED
985
986   # used by sleep and shred
987   AC_REQUIRE([gl_CLOCK_TIME])
988   AC_CHECK_FUNCS(gettimeofday)
989   AC_FUNC_GETTIMEOFDAY_CLOBBER
990
991   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
992
993   AC_CHECK_FUNCS( \
994     endgrent \
995     endpwent \
996     fdatasync \
997     ftruncate \
998     gethrtime \
999     hasmntopt \
1000     isascii \
1001     iswspace \
1002     lchown \
1003     listmntent \
1004     localeconv \
1005     memcpy \
1006     mempcpy \
1007     mkfifo \
1008     realpath \
1009     sethostname \
1010     strchr \
1011     strerror \
1012     strrchr \
1013     sysctl \
1014     sysinfo \
1015     wcrtomb \
1016     tzset \
1017   )
1018
1019   # for test.c
1020   AC_CHECK_FUNCS(setreuid setregid)
1021
1022   AC_FUNC_STRTOD
1023   AC_REQUIRE([UTILS_SYS_OPEN_MAX])
1024   AC_REQUIRE([GL_FUNC_GETCWD_PATH_MAX])
1025   AC_REQUIRE([GL_FUNC_READDIR])
1026
1027   # See if linking `seq' requires -lm.
1028   # It does on nearly every system.  The single exception (so far) is
1029   # BeOS which has all the math functions in the normal runtime library
1030   # and doesn't have a separate math library.
1031
1032   AC_SUBST(SEQ_LIBM)
1033   ac_seq_body='
1034      static double x, y;
1035      x = floor (x);
1036      x = rint (x);
1037      x = modf (x, &y);'
1038   AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
1039     [ac_seq_save_LIBS="$LIBS"
1040      LIBS="$LIBS -lm"
1041      AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
1042      LIBS="$ac_seq_save_LIBS"
1043     ])
1044
1045   AM_LANGINFO_CODESET
1046   jm_GLIBC21
1047   AM_ICONV
1048   jm_FUNC_UNLINK_BUSY_TEXT
1049
1050   # These tests are for df.
1051   AC_REQUIRE([gl_FSUSAGE])
1052   AC_REQUIRE([gl_MOUNTLIST])
1053   if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then
1054     DF_PROG='df$(EXEEXT)'
1055   fi
1056   AC_REQUIRE([jm_AC_DOS])
1057   AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
1058
1059   # If any of these functions don't exist (e.g. DJGPP 2.03),
1060   # use the corresponding stub.
1061   AC_CHECK_FUNC([fchdir], , [AC_LIBOBJ(fchdir-stub)])
1062   AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)])
1063 ])
1064
1065 # These tests must be run before any use of AC_CHECK_TYPE,
1066 # because that macro compiles code that tests e.g., HAVE_UNISTD_H.
1067 # See the definition of ac_includes_default in `configure'.
1068 AC_DEFUN([jm_CHECK_ALL_HEADERS],
1069 [
1070   AC_CHECK_HEADERS( \
1071     errno.h  \
1072     fcntl.h \
1073     float.h \
1074     hurd.h \
1075     limits.h \
1076     memory.h \
1077     mntent.h \
1078     mnttab.h \
1079     netdb.h \
1080     paths.h \
1081     stdlib.h \
1082     stddef.h \
1083     stdint.h \
1084     string.h \
1085     sys/filsys.h \
1086     sys/fs/s5param.h \
1087     sys/fs_types.h \
1088     sys/fstyp.h \
1089     sys/ioctl.h \
1090     sys/mntent.h \
1091     sys/mount.h \
1092     sys/param.h \
1093     sys/resource.h \
1094     sys/socket.h \
1095     sys/statfs.h \
1096     sys/statvfs.h \
1097     sys/sysctl.h \
1098     sys/systeminfo.h \
1099     sys/time.h \
1100     sys/timeb.h \
1101     sys/vfs.h \
1102     sys/wait.h \
1103     syslog.h \
1104     termios.h \
1105     unistd.h \
1106     utime.h \
1107     values.h \
1108   )
1109 ])
1110
1111 # This macro must be invoked before any tests that run the compiler.
1112 AC_DEFUN([jm_CHECK_ALL_TYPES],
1113 [
1114   dnl This test must come as early as possible after the compiler configuration
1115   dnl tests, because the choice of the file model can (in principle) affect
1116   dnl whether functions and headers are available, whether they work, etc.
1117   AC_REQUIRE([AC_SYS_LARGEFILE])
1118
1119   dnl This test must precede tests of compiler characteristics like
1120   dnl that for the inline keyword, since it may change the degree to
1121   dnl which the compiler supports such features.
1122   AC_REQUIRE([AM_C_PROTOTYPES])
1123
1124   dnl Checks for typedefs, structures, and compiler characteristics.
1125   AC_REQUIRE([AC_C_BIGENDIAN])
1126   AC_REQUIRE([AC_C_CONST])
1127   AC_REQUIRE([AC_C_VOLATILE])
1128   AC_REQUIRE([AC_C_INLINE])
1129   AC_REQUIRE([AC_C_LONG_DOUBLE])
1130
1131   AC_REQUIRE([jm_CHECK_ALL_HEADERS])
1132   AC_REQUIRE([AC_HEADER_DIRENT])
1133   AC_REQUIRE([AC_HEADER_STDC])
1134   AC_CHECK_MEMBERS(
1135     [struct stat.st_author,
1136      struct stat.st_blksize],,,
1137     [$ac_includes_default
1138 #include <sys/stat.h>
1139   ])
1140   AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
1141
1142   AC_REQUIRE([AC_HEADER_STAT])
1143   AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
1144   AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
1145
1146   AC_REQUIRE([AC_TYPE_GETGROUPS])
1147   AC_REQUIRE([AC_TYPE_MODE_T])
1148   AC_REQUIRE([AC_TYPE_OFF_T])
1149   AC_REQUIRE([AC_TYPE_PID_T])
1150   AC_REQUIRE([AC_TYPE_SIGNAL])
1151   AC_REQUIRE([AC_TYPE_SIZE_T])
1152   AC_REQUIRE([AC_TYPE_UID_T])
1153   AC_CHECK_TYPE(ino_t, unsigned long)
1154
1155   gt_TYPE_SSIZE_T
1156
1157   dnl This relies on the fact that autoconf 2.14a's implementation of
1158   dnl AC_CHECK_TYPE checks includes unistd.h.
1159   AC_CHECK_TYPE(major_t, unsigned int)
1160   AC_CHECK_TYPE(minor_t, unsigned int)
1161
1162   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
1163   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
1164
1165   AC_REQUIRE([AC_HEADER_MAJOR])
1166   AC_REQUIRE([AC_HEADER_DIRENT])
1167
1168 ])
1169
1170 # isc-posix.m4 serial 2 (gettext-0.11.2)
1171 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
1172 dnl This file is free software, distributed under the terms of the GNU
1173 dnl General Public License.  As a special exception to the GNU General
1174 dnl Public License, this file may be distributed as part of a program
1175 dnl that contains a configuration script generated by Autoconf, under
1176 dnl the same distribution terms as the rest of that program.
1177
1178 # This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
1179
1180 # This test replaces the one in autoconf.
1181 # Currently this macro should have the same name as the autoconf macro
1182 # because gettext's gettext.m4 (distributed in the automake package)
1183 # still uses it.  Otherwise, the use in gettext.m4 makes autoheader
1184 # give these diagnostics:
1185 #   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
1186 #   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
1187
1188 undefine([AC_ISC_POSIX])
1189
1190 AC_DEFUN([AC_ISC_POSIX],
1191   [
1192     dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
1193     AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
1194   ]
1195 )
1196
1197 #serial 3
1198
1199 dnl From Paul Eggert.
1200
1201 # Define HOST_OPERATING_SYSTEM to a name for the host operating system.
1202 AC_DEFUN([UTILS_HOST_OS],
1203 [
1204   AC_CACHE_CHECK([host operating system],
1205     utils_cv_host_operating_system,
1206
1207     [[case $host_os in
1208
1209        # These operating system names do not use the default heuristic below.
1210        # They are in reverse order, so that more-specific prefixes come first.
1211        winnt*)          os='Windows NT';;
1212        vos*)            os='VOS';;
1213        sysv*)           os='Unix System V';;
1214        superux*)        os='SUPER-UX';;
1215        sunos*)          os='SunOS';;
1216        stop*)           os='STOP';;
1217        sco*)            os='SCO Unix';;
1218        riscos*)         os='RISC OS';;
1219        riscix*)         os='RISCiX';;
1220        qnx*)            os='QNX';;
1221        pw32*)           os='PW32';;
1222        ptx*)            os='ptx';;
1223        plan9*)          os='Plan 9';;
1224        osf*)            os='Tru64';;
1225        os2*)            os='OS/2';;
1226        openbsd*)        os='OpenBSD';;
1227        nsk*)            os='NonStop Kernel';;
1228        nonstopux*)      os='NonStop-UX';;
1229        netbsd*-gnu*)    os='GNU/NetBSD';;
1230        netbsd*)         os='NetBSD';;
1231        msdosdjgpp*)     os='DJGPP';;
1232        mpeix*)          os='MPE/iX';;
1233        mint*)           os='MiNT';;
1234        mingw*)          os='MinGW';;
1235        lynxos*)         os='LynxOS';;
1236        linux*)          os='GNU/Linux';;
1237        hpux*)           os='HP-UX';;
1238        hiux*)           os='HI-UX';;
1239        gnu*)            os='GNU';;
1240        freebsd*-gnu*)   os='GNU/FreeBSD';;
1241        freebsd*)        os='FreeBSD';;
1242        dgux*)           os='DG/UX';;
1243        bsdi*)           os='BSD/OS';;
1244        bsd*)            os='BSD';;
1245        beos*)           os='BeOS';;
1246        aux*)            os='A/UX';;
1247        atheos*)         os='AtheOS';;
1248        amigaos*)        os='Amiga OS';;
1249        aix*)            os='AIX';;
1250
1251        # The default heuristic takes the initial alphabetic string
1252        # from $host_os, but capitalizes its first letter.
1253        [A-Za-z]*)
1254          os=`
1255            expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
1256          ``
1257            expr "X$host_os" : 'X.\([A-Za-z]*\)'
1258          `
1259          ;;
1260
1261        # If $host_os does not start with an alphabetic string, use it unchanged.
1262        *)
1263          os=$host_os;;
1264      esac
1265      utils_cv_host_operating_system=$os]])
1266   AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
1267     "$utils_cv_host_operating_system",
1268     [The host operating system.])
1269 ])
1270
1271 #serial 3
1272 dnl based on code from Eleftherios Gkioulekas
1273
1274 AC_DEFUN([jm_ASSERT],
1275 [
1276   AC_MSG_CHECKING(whether to enable assertions)
1277   AC_ARG_ENABLE(assert,
1278         [  --disable-assert        turn off assertions],
1279         [ AC_MSG_RESULT(no)
1280           AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ],
1281         [ AC_MSG_RESULT(yes) ]
1282                )
1283 ])
1284
1285 #serial 5
1286
1287 dnl From Jim Meyering
1288
1289 dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
1290 dnl usually in <utime.h>.
1291 dnl Some systems have utime.h but don't declare the struct anywhere.
1292
1293 AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF],
1294 [
1295   AC_CHECK_HEADERS_ONCE(sys/time.h utime.h)
1296   AC_REQUIRE([AC_HEADER_TIME])
1297   AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
1298     [AC_TRY_COMPILE(
1299       [
1300 #ifdef TIME_WITH_SYS_TIME
1301 # include <sys/time.h>
1302 # include <time.h>
1303 #else
1304 # ifdef HAVE_SYS_TIME_H
1305 #  include <sys/time.h>
1306 # else
1307 #  include <time.h>
1308 # endif
1309 #endif
1310 #ifdef HAVE_UTIME_H
1311 # include <utime.h>
1312 #endif
1313       ],
1314       [static struct utimbuf x; x.actime = x.modtime;],
1315       fu_cv_sys_struct_utimbuf=yes,
1316       fu_cv_sys_struct_utimbuf=no)
1317     ])
1318
1319   if test $fu_cv_sys_struct_utimbuf = yes; then
1320     AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1,
1321       [Define if struct utimbuf is declared -- usually in <utime.h>.
1322        Some systems have utime.h but don't declare the struct anywhere. ])
1323   fi
1324 ])
1325
1326 # onceonly_2_57.m4 serial 3
1327 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
1328 dnl This file is free software, distributed under the terms of the GNU
1329 dnl General Public License.  As a special exception to the GNU General
1330 dnl Public License, this file may be distributed as part of a program
1331 dnl that contains a configuration script generated by Autoconf, under
1332 dnl the same distribution terms as the rest of that program.
1333
1334 dnl This file defines some "once only" variants of standard autoconf macros.
1335 dnl   AC_CHECK_HEADERS_ONCE         like  AC_CHECK_HEADERS
1336 dnl   AC_CHECK_FUNCS_ONCE           like  AC_CHECK_FUNCS
1337 dnl   AC_CHECK_DECLS_ONCE           like  AC_CHECK_DECLS
1338 dnl   AC_REQUIRE([AC_HEADER_STDC])  like  AC_HEADER_STDC
1339 dnl The advantage is that the check for each of the headers/functions/decls
1340 dnl will be put only once into the 'configure' file. It keeps the size of
1341 dnl the 'configure' file down, and avoids redundant output when 'configure'
1342 dnl is run.
1343 dnl The drawback is that the checks cannot be conditionalized. If you write
1344 dnl   if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
1345 dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
1346 dnl empty, and the check will be inserted before the body of the AC_DEFUNed
1347 dnl function.
1348
1349 dnl This is like onceonly.m4, except that it uses diversions to named sections
1350 dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once,
1351 dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The
1352 dnl size reduction is ca. 9%.
1353
1354 dnl Autoconf version 2.57 or newer is recommended.
1355 AC_PREREQ(2.54)
1356
1357 # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
1358 # AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
1359 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
1360   :
1361   AC_FOREACH([gl_HEADER_NAME], [$1], [
1362     AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
1363                                                  [./-], [___])), [
1364       m4_divert_text([INIT_PREPARE],
1365         [gl_header_list="$gl_header_list gl_HEADER_NAME"])
1366       gl_HEADERS_EXPANSION
1367       AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])),
1368         [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.])
1369     ])
1370     AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
1371                                                    [./-], [___])))
1372   ])
1373 ])
1374 m4_define([gl_HEADERS_EXPANSION], [
1375   m4_divert_text([DEFAULTS], [gl_header_list=])
1376   AC_CHECK_HEADERS([$gl_header_list])
1377   m4_define([gl_HEADERS_EXPANSION], [])
1378 ])
1379
1380 # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
1381 # AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
1382 AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
1383   :
1384   AC_FOREACH([gl_FUNC_NAME], [$1], [
1385     AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
1386       m4_divert_text([INIT_PREPARE],
1387         [gl_func_list="$gl_func_list gl_FUNC_NAME"])
1388       gl_FUNCS_EXPANSION
1389       AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])),
1390         [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.])
1391     ])
1392     AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
1393   ])
1394 ])
1395 m4_define([gl_FUNCS_EXPANSION], [
1396   m4_divert_text([DEFAULTS], [gl_func_list=])
1397   AC_CHECK_FUNCS([$gl_func_list])
1398   m4_define([gl_FUNCS_EXPANSION], [])
1399 ])
1400
1401 # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
1402 # AC_CHECK_DECLS(DECL1, DECL2, ...).
1403 AC_DEFUN([AC_CHECK_DECLS_ONCE], [
1404   :
1405   AC_FOREACH([gl_DECL_NAME], [$1], [
1406     AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [
1407       AC_CHECK_DECLS(m4_defn([gl_DECL_NAME]))
1408     ])
1409     AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]))
1410   ])
1411 ])
1412
1413 #serial 6
1414
1415 dnl From Jim Meyering.
1416 dnl
1417 dnl Check whether struct dirent has a member named d_type.
1418 dnl
1419
1420 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
1421   [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1422    AC_CACHE_CHECK([for d_type member in directory struct],
1423                   jm_cv_struct_dirent_d_type,
1424      [AC_TRY_LINK(dnl
1425        [
1426 #include <sys/types.h>
1427 #ifdef HAVE_DIRENT_H
1428 # include <dirent.h>
1429 #else /* not HAVE_DIRENT_H */
1430 # define dirent direct
1431 # ifdef HAVE_SYS_NDIR_H
1432 #  include <sys/ndir.h>
1433 # endif /* HAVE_SYS_NDIR_H */
1434 # ifdef HAVE_SYS_DIR_H
1435 #  include <sys/dir.h>
1436 # endif /* HAVE_SYS_DIR_H */
1437 # ifdef HAVE_NDIR_H
1438 #  include <ndir.h>
1439 # endif /* HAVE_NDIR_H */
1440 #endif /* HAVE_DIRENT_H */
1441        ],
1442        [struct dirent dp; dp.d_type = 0;],
1443
1444        jm_cv_struct_dirent_d_type=yes,
1445        jm_cv_struct_dirent_d_type=no)
1446      ]
1447    )
1448    if test $jm_cv_struct_dirent_d_type = yes; then
1449      AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
1450        [Define if there is a member named d_type in the struct describing
1451         directory headers.])
1452    fi
1453   ]
1454 )
1455
1456 #serial 5
1457
1458 dnl From Jim Meyering.
1459 dnl
1460 dnl Check whether struct dirent has a member named d_ino.
1461 dnl
1462
1463 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
1464   [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1465    AC_CACHE_CHECK([for d_ino member in directory struct],
1466                   jm_cv_struct_dirent_d_ino,
1467      [AC_TRY_LINK(dnl
1468        [
1469 #include <sys/types.h>
1470 #ifdef HAVE_DIRENT_H
1471 # include <dirent.h>
1472 #else /* not HAVE_DIRENT_H */
1473 # define dirent direct
1474 # ifdef HAVE_SYS_NDIR_H
1475 #  include <sys/ndir.h>
1476 # endif /* HAVE_SYS_NDIR_H */
1477 # ifdef HAVE_SYS_DIR_H
1478 #  include <sys/dir.h>
1479 # endif /* HAVE_SYS_DIR_H */
1480 # ifdef HAVE_NDIR_H
1481 #  include <ndir.h>
1482 # endif /* HAVE_NDIR_H */
1483 #endif /* HAVE_DIRENT_H */
1484        ],
1485        [struct dirent dp; dp.d_ino = 0;],
1486
1487        jm_cv_struct_dirent_d_ino=yes,
1488        jm_cv_struct_dirent_d_ino=no)
1489      ]
1490    )
1491    if test $jm_cv_struct_dirent_d_ino = yes; then
1492      AC_DEFINE(D_INO_IN_DIRENT, 1,
1493        [Define if there is a member named d_ino in the struct describing
1494         directory headers.])
1495    fi
1496   ]
1497 )
1498
1499 #serial 18
1500
1501 dnl This is just a wrapper function to encapsulate this kludge.
1502 dnl Putting it in a separate file like this helps share it between
1503 dnl different packages.
1504 AC_DEFUN([jm_CHECK_DECLS],
1505 [
1506   AC_REQUIRE([_jm_DECL_HEADERS])
1507   AC_REQUIRE([AC_HEADER_TIME])
1508   headers='
1509 #include <stdio.h>
1510 #if HAVE_STRING_H
1511 # if !STDC_HEADERS && HAVE_MEMORY_H
1512 #  include <memory.h>
1513 # endif
1514 # include <string.h>
1515 #else
1516 # if HAVE_STRINGS_H
1517 #  include <strings.h>
1518 # endif
1519 #endif
1520 #if HAVE_STDLIB_H
1521 # include <stdlib.h>
1522 #endif
1523 #if HAVE_UNISTD_H
1524 # include <unistd.h>
1525 #endif
1526
1527 #include <sys/types.h>
1528 #if TIME_WITH_SYS_TIME
1529 # include <sys/time.h>
1530 # include <time.h>
1531 #else
1532 # if HAVE_SYS_TIME_H
1533 #  include <sys/time.h>
1534 # else
1535 #  include <time.h>
1536 # endif
1537 #endif
1538
1539 #if HAVE_UTMP_H
1540 # include <utmp.h>
1541 #endif
1542
1543 #if HAVE_GRP_H
1544 # include <grp.h>
1545 #endif
1546
1547 #if HAVE_PWD_H
1548 # include <pwd.h>
1549 #endif
1550 '
1551
1552   AC_CHECK_DECLS([
1553     free,
1554     getenv,
1555     geteuid,
1556     getgrgid,
1557     getlogin,
1558     getpwuid,
1559     getuid,
1560     getutent,
1561     lseek,
1562     malloc,
1563     memchr,
1564     memrchr,
1565     nanosleep,
1566     realloc,
1567     stpcpy,
1568     strndup,
1569     strnlen,
1570     strstr,
1571     strtoul,
1572     strtoull,
1573     ttyname], , , $headers)
1574 ])
1575
1576 dnl FIXME: when autoconf has support for it.
1577 dnl This is a little helper so we can require these header checks.
1578 AC_DEFUN([_jm_DECL_HEADERS],
1579 [
1580   AC_REQUIRE([AC_HEADER_STDC])
1581   AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
1582                    unistd.h sys/time.h utmp.h utmpx.h)
1583 ])
1584
1585 #serial 35
1586
1587 dnl We use jm_ for non Autoconf macros.
1588 m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1589 m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1590
1591 # These are the prerequisite macros for files in the lib/
1592 # directory of the coreutils package.
1593
1594 AC_DEFUN([jm_PREREQ],
1595 [
1596   # We don't yet use c-stack.c.
1597   # AC_REQUIRE([gl_C_STACK])
1598
1599   AC_REQUIRE([AM_FUNC_GETLINE])
1600   AC_REQUIRE([AM_STDBOOL_H])
1601   AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
1602   AC_REQUIRE([UTILS_FUNC_MKSTEMP])
1603   AC_REQUIRE([gl_BACKUPFILE])
1604   AC_REQUIRE([gl_CANON_HOST])
1605   AC_REQUIRE([gl_CLOSEOUT])
1606   AC_REQUIRE([gl_DIRNAME])
1607   AC_REQUIRE([gl_ERROR])
1608   AC_REQUIRE([gl_EXCLUDE])
1609   AC_REQUIRE([gl_EXITFAIL])
1610   AC_REQUIRE([gl_FILEBLOCKS])
1611   AC_REQUIRE([gl_FILEMODE])
1612   AC_REQUIRE([gl_FILE_TYPE])
1613   AC_REQUIRE([gl_FSUSAGE])
1614   AC_REQUIRE([gl_FUNC_ALLOCA])
1615   AC_REQUIRE([gl_FUNC_ATEXIT])
1616   AC_REQUIRE([gl_FUNC_DUP2])
1617   AC_REQUIRE([gl_FUNC_EUIDACCESS])
1618   AC_REQUIRE([gl_FUNC_FNMATCH_GNU])
1619   AC_REQUIRE([gl_FUNC_GETHOSTNAME])
1620   AC_REQUIRE([gl_FUNC_GETLOADAVG])
1621   AC_REQUIRE([gl_FUNC_GETPASS])
1622   AC_REQUIRE([gl_FUNC_GETUSERSHELL])
1623   AC_REQUIRE([gl_FUNC_MEMCHR])
1624   AC_REQUIRE([gl_FUNC_MEMCPY])
1625   AC_REQUIRE([gl_FUNC_MEMMOVE])
1626   AC_REQUIRE([gl_FUNC_MEMRCHR])
1627   AC_REQUIRE([gl_FUNC_MEMSET])
1628   AC_REQUIRE([gl_FUNC_MKTIME])
1629   AC_REQUIRE([gl_FUNC_READLINK])
1630   AC_REQUIRE([gl_FUNC_RMDIR])
1631   AC_REQUIRE([gl_FUNC_RPMATCH])
1632   AC_REQUIRE([gl_FUNC_SIG2STR])
1633   AC_REQUIRE([gl_FUNC_STPCPY])
1634   AC_REQUIRE([gl_FUNC_STRCSPN])
1635   AC_REQUIRE([gl_FUNC_STRDUP])
1636   AC_REQUIRE([gl_FUNC_STRNDUP])
1637   AC_REQUIRE([gl_FUNC_STRNLEN])
1638   AC_REQUIRE([gl_FUNC_STRPBRK])
1639   AC_REQUIRE([gl_FUNC_STRSTR])
1640   AC_REQUIRE([gl_FUNC_STRTOD])
1641   AC_REQUIRE([gl_FUNC_STRTOIMAX])
1642   AC_REQUIRE([gl_FUNC_STRTOLL])
1643   AC_REQUIRE([gl_FUNC_STRTOL])
1644   AC_REQUIRE([gl_FUNC_STRTOULL])
1645   AC_REQUIRE([gl_FUNC_STRTOUL])
1646   AC_REQUIRE([gl_FUNC_STRTOUMAX])
1647   AC_REQUIRE([gl_FUNC_STRVERSCMP])
1648   AC_REQUIRE([gl_FUNC_VASNPRINTF])
1649   AC_REQUIRE([gl_FUNC_VASPRINTF])
1650   AC_REQUIRE([gl_GETDATE])
1651   AC_REQUIRE([gl_GETNDELIM2])
1652   AC_REQUIRE([gl_GETOPT])
1653   AC_REQUIRE([gl_GETPAGESIZE])
1654   AC_REQUIRE([gl_HARD_LOCALE])
1655   AC_REQUIRE([gl_HASH])
1656   AC_REQUIRE([gl_HUMAN])
1657   AC_REQUIRE([gl_MBSWIDTH])
1658   AC_REQUIRE([gl_MEMCOLL])
1659   AC_REQUIRE([gl_MODECHANGE])
1660   AC_REQUIRE([gl_MOUNTLIST])
1661   AC_REQUIRE([gl_OBSTACK])
1662   AC_REQUIRE([gl_PATHMAX])
1663   AC_REQUIRE([gl_PATH_CONCAT])
1664   AC_REQUIRE([gl_PHYSMEM])
1665   AC_REQUIRE([gl_POSIXTM])
1666   AC_REQUIRE([gl_POSIXVER])
1667   AC_REQUIRE([gl_QUOTEARG])
1668   AC_REQUIRE([gl_QUOTE])
1669   AC_REQUIRE([gl_READUTMP])
1670   AC_REQUIRE([gl_REGEX])
1671   AC_REQUIRE([gl_SAFE_READ])
1672   AC_REQUIRE([gl_SAFE_WRITE])
1673   AC_REQUIRE([gl_SAME])
1674   AC_REQUIRE([gl_SAVEDIR])
1675   AC_REQUIRE([gl_SAVE_CWD])
1676   AC_REQUIRE([gl_SETTIME])
1677   AC_REQUIRE([gl_SHA])
1678   AC_REQUIRE([gl_STDIO_SAFER])
1679   AC_REQUIRE([gl_STRCASE])
1680   AC_REQUIRE([gl_TIMESPEC])
1681   AC_REQUIRE([gl_UNICODEIO])
1682   AC_REQUIRE([gl_UNISTD_SAFER])
1683   AC_REQUIRE([gl_USERSPEC])
1684   AC_REQUIRE([gl_UTIMENS])
1685   AC_REQUIRE([gl_XALLOC])
1686   AC_REQUIRE([gl_XGETCWD])
1687   AC_REQUIRE([gl_XREADLINK])
1688   AC_REQUIRE([gl_XSTRTOD])
1689   AC_REQUIRE([gl_XSTRTOL])
1690   AC_REQUIRE([gl_YESNO])
1691   AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
1692   AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
1693   AC_REQUIRE([jm_FUNC_LSTAT])
1694   AC_REQUIRE([jm_FUNC_MALLOC])
1695   AC_REQUIRE([jm_FUNC_MEMCMP])
1696   AC_REQUIRE([jm_FUNC_NANOSLEEP])
1697   AC_REQUIRE([jm_FUNC_PUTENV])
1698   AC_REQUIRE([jm_FUNC_REALLOC])
1699   AC_REQUIRE([jm_FUNC_STAT])
1700   AC_REQUIRE([jm_FUNC_UTIME])
1701   AC_REQUIRE([jm_PREREQ_ADDEXT])
1702   AC_REQUIRE([jm_PREREQ_STAT])
1703   AC_REQUIRE([jm_XSTRTOIMAX])
1704   AC_REQUIRE([jm_XSTRTOUMAX])
1705   AC_REQUIRE([vb_FUNC_RENAME])
1706 ])
1707
1708 AC_DEFUN([jm_PREREQ_ADDEXT],
1709 [
1710   dnl For addext.c.
1711   AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
1712   AC_CHECK_FUNCS(pathconf)
1713   AC_CHECK_HEADERS(limits.h string.h unistd.h)
1714 ])
1715
1716 AC_DEFUN([jm_PREREQ_STAT],
1717 [
1718   AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
1719   AC_CHECK_HEADERS(sys/param.h sys/mount.h)
1720   AC_CHECK_FUNCS(statvfs)
1721
1722   # For `struct statfs' on Ultrix 4.4.
1723   AC_CHECK_HEADERS([netinet/in.h nfs/nfs_clnt.h nfs/vfs.h],,,
1724     [AC_INCLUDES_DEFAULT])
1725
1726   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
1727
1728   statxfs_includes="\
1729 $ac_includes_default
1730 #if HAVE_SYS_STATVFS_H
1731 # include <sys/statvfs.h>
1732 #endif
1733 #if HAVE_SYS_VFS_H
1734 # include <sys/vfs.h>
1735 #endif
1736 #if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H
1737 # if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H
1738 /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
1739 #  include <sys/param.h>
1740 #  include <sys/mount.h>
1741 # elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
1742 /* Ultrix 4.4 needs these for the declaration of struct statfs.  */
1743 #  include <netinet/in.h>
1744 #  include <nfs/nfs_clnt.h>
1745 #  include <nfs/vfs.h>
1746 # endif
1747 #endif
1748 "
1749   AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
1750   AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
1751   AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
1752   AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
1753   AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
1754   AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
1755   AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
1756   AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
1757   AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
1758   AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
1759   AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
1760 ])
1761
1762 # getline.m4 serial 9
1763
1764 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
1765 dnl Foundation, Inc.
1766
1767 dnl This file is free software, distributed under the terms of the GNU
1768 dnl General Public License.  As a special exception to the GNU General
1769 dnl Public License, this file may be distributed as part of a program
1770 dnl that contains a configuration script generated by Autoconf, under
1771 dnl the same distribution terms as the rest of that program.
1772
1773 AC_PREREQ(2.52)
1774
1775 dnl See if there's a working, system-supplied version of the getline function.
1776 dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
1777 dnl have a function by that name in -linet that doesn't have anything
1778 dnl to do with the function we need.
1779 AC_DEFUN([AM_FUNC_GETLINE],
1780 [
1781   dnl Persuade glibc <stdio.h> to declare getline() and getdelim().
1782   AC_REQUIRE([AC_GNU_SOURCE])
1783
1784   am_getline_needs_run_time_check=no
1785   AC_CHECK_FUNC(getline,
1786                 dnl Found it in some library.  Verify that it works.
1787                 am_getline_needs_run_time_check=yes,
1788                 am_cv_func_working_getline=no)
1789   if test $am_getline_needs_run_time_check = yes; then
1790     AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
1791     [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
1792     AC_TRY_RUN([
1793 #    include <stdio.h>
1794 #    include <stdlib.h>
1795 #    include <string.h>
1796     int main ()
1797     { /* Based on a test program from Karl Heuer.  */
1798       char *line = NULL;
1799       size_t siz = 0;
1800       int len;
1801       FILE *in = fopen ("./conftest.data", "r");
1802       if (!in)
1803         return 1;
1804       len = getline (&line, &siz, in);
1805       exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
1806     }
1807     ], am_cv_func_working_getline=yes dnl The library version works.
1808     , am_cv_func_working_getline=no dnl The library version does NOT work.
1809     , am_cv_func_working_getline=no dnl We're cross compiling.
1810     )])
1811   fi
1812
1813   if test $am_cv_func_working_getline = no; then
1814     dnl We must choose a different name for our function, since on ELF systems
1815     dnl a broken getline() in libc.so would override our getline() in
1816     dnl libgettextlib.so.
1817     AC_DEFINE([getline], [gnu_getline],
1818       [Define to a replacement function name for getline().])
1819     AC_LIBOBJ(getline)
1820     AC_LIBOBJ(getndelim2)
1821     gl_PREREQ_GETLINE
1822     gl_PREREQ_GETNDELIM2
1823   fi
1824 ])
1825
1826 # Prerequisites of lib/getline.c.
1827 AC_DEFUN([gl_PREREQ_GETLINE],
1828 [
1829   AC_CHECK_FUNCS(getdelim)
1830 ])
1831
1832 # getndelim2.m4 serial 1
1833 dnl Copyright (C) 2003 Free Software Foundation, Inc.
1834 dnl This file is free software, distributed under the terms of the GNU
1835 dnl General Public License.  As a special exception to the GNU General
1836 dnl Public License, this file may be distributed as part of a program
1837 dnl that contains a configuration script generated by Autoconf, under
1838 dnl the same distribution terms as the rest of that program.
1839
1840 AC_DEFUN([gl_GETNDELIM2],
1841 [
1842   AC_LIBOBJ(getndelim2)
1843   gl_PREREQ_GETNDELIM2
1844 ])
1845
1846 # Prerequisites of lib/getndelim2.h and lib/getndelim2.c.
1847 AC_DEFUN([gl_PREREQ_GETNDELIM2],
1848 [
1849   dnl Prerequisites of lib/getndelim2.h.
1850   AC_REQUIRE([gt_TYPE_SSIZE_T])
1851   dnl Prerequisites of lib/getndelim2.c.
1852   AC_REQUIRE([AC_HEADER_STDC])
1853 ])
1854
1855 # ssize_t.m4 serial 3 (gettext-0.12.2)
1856 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
1857 dnl This file is free software, distributed under the terms of the GNU
1858 dnl General Public License.  As a special exception to the GNU General
1859 dnl Public License, this file may be distributed as part of a program
1860 dnl that contains a configuration script generated by Autoconf, under
1861 dnl the same distribution terms as the rest of that program.
1862
1863 dnl From Bruno Haible.
1864 dnl Test whether ssize_t is defined.
1865
1866 AC_DEFUN([gt_TYPE_SSIZE_T],
1867 [
1868   AC_CACHE_CHECK([for ssize_t], gt_cv_ssize_t,
1869     [AC_TRY_COMPILE([#include <sys/types.h>],
1870        [int x = sizeof (ssize_t *) + sizeof (ssize_t);],
1871        gt_cv_ssize_t=yes, gt_cv_ssize_t=no)])
1872   if test $gt_cv_ssize_t = no; then
1873     AC_DEFINE(ssize_t, int,
1874               [Define as a signed type of the same size as size_t.])
1875   fi
1876 ])
1877
1878 # Check for stdbool.h that conforms to C99.
1879
1880 # Copyright (C) 2002-2003 Free Software Foundation, Inc.
1881
1882 # This program is free software; you can redistribute it and/or modify
1883 # it under the terms of the GNU General Public License as published by
1884 # the Free Software Foundation; either version 2, or (at your option)
1885 # any later version.
1886
1887 # This program is distributed in the hope that it will be useful,
1888 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1889 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1890 # GNU General Public License for more details.
1891
1892 # You should have received a copy of the GNU General Public License
1893 # along with this program; if not, write to the Free Software
1894 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
1895 # 02111-1307, USA.
1896
1897 # Prepare for substituting <stdbool.h> if it is not supported.
1898
1899 AC_DEFUN([AM_STDBOOL_H],
1900 [
1901   AC_REQUIRE([AC_HEADER_STDBOOL])
1902
1903   # Define two additional variables used in the Makefile substitution.
1904
1905   if test "$ac_cv_header_stdbool_h" = yes; then
1906     STDBOOL_H=''
1907   else
1908     STDBOOL_H='stdbool.h'
1909   fi
1910   AC_SUBST([STDBOOL_H])
1911
1912   if test "$ac_cv_type__Bool" = yes; then
1913     HAVE__BOOL=1
1914   else
1915     HAVE__BOOL=0
1916   fi
1917   AC_SUBST([HAVE__BOOL])
1918 ])
1919
1920 # This macro is only needed in autoconf <= 2.54.  Newer versions of autoconf
1921 # have this macro built-in.
1922
1923 AC_DEFUN([AC_HEADER_STDBOOL],
1924   [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
1925      [ac_cv_header_stdbool_h],
1926      [AC_TRY_COMPILE(
1927         [
1928           #include <stdbool.h>
1929           #ifndef bool
1930            "error: bool is not defined"
1931           #endif
1932           #ifndef false
1933            "error: false is not defined"
1934           #endif
1935           #if false
1936            "error: false is not 0"
1937           #endif
1938           #ifndef true
1939            "error: false is not defined"
1940           #endif
1941           #if true != 1
1942            "error: true is not 1"
1943           #endif
1944           #ifndef __bool_true_false_are_defined
1945            "error: __bool_true_false_are_defined is not defined"
1946           #endif
1947
1948           struct s { _Bool s: 1; _Bool t; } s;
1949
1950           char a[true == 1 ? 1 : -1];
1951           char b[false == 0 ? 1 : -1];
1952           char c[__bool_true_false_are_defined == 1 ? 1 : -1];
1953           char d[(bool) -0.5 == true ? 1 : -1];
1954           bool e = &s;
1955           char f[(_Bool) -0.0 == false ? 1 : -1];
1956           char g[true];
1957           char h[sizeof (_Bool)];
1958           char i[sizeof s.t];
1959         ],
1960         [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
1961         [ac_cv_header_stdbool_h=yes],
1962         [ac_cv_header_stdbool_h=no])])
1963    AC_CHECK_TYPES([_Bool])
1964    if test $ac_cv_header_stdbool_h = yes; then
1965      AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
1966    fi])
1967
1968 #serial 2
1969
1970 # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
1971 # On such systems, arrange to use a wrapper function that removes any
1972 # trailing slashes.
1973 AC_DEFUN([UTILS_FUNC_MKDIR_TRAILING_SLASH],
1974 [dnl
1975   AC_CACHE_CHECK([whether mkdir fails due to a trailing slash],
1976     utils_cv_func_mkdir_trailing_slash_bug,
1977     [
1978       # Arrange for deletion of the temporary directory this test might create.
1979       ac_clean_files="$ac_clean_files confdir-slash"
1980       AC_TRY_RUN([
1981 #       include <sys/types.h>
1982 #       include <sys/stat.h>
1983 #       include <stdlib.h>
1984         int main ()
1985         {
1986           rmdir ("confdir-slash");
1987           exit (mkdir ("confdir-slash/", 0700));
1988         }
1989         ],
1990       utils_cv_func_mkdir_trailing_slash_bug=no,
1991       utils_cv_func_mkdir_trailing_slash_bug=yes,
1992       utils_cv_func_mkdir_trailing_slash_bug=yes
1993       )
1994     ]
1995   )
1996
1997   if test $utils_cv_func_mkdir_trailing_slash_bug = yes; then
1998     AC_LIBOBJ(mkdir)
1999     AC_DEFINE(mkdir, rpl_mkdir,
2000       [Define to rpl_mkdir if the replacement function should be used.])
2001     gl_PREREQ_MKDIR
2002   fi
2003 ])
2004
2005 # Prerequisites of lib/mkdir.c.
2006 AC_DEFUN([gl_PREREQ_MKDIR],
2007 [
2008   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
2009   AC_CHECK_DECLS_ONCE(free)
2010 ])
2011
2012 #serial 3
2013
2014 # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
2015 # silly limit that it can create no more than 26 files from a given template.
2016 # Other systems lack mkstemp altogether.  On either type of system, arrange
2017 # to use the replacement function.
2018 AC_DEFUN([UTILS_FUNC_MKSTEMP],
2019 [dnl
2020   AC_REPLACE_FUNCS(mkstemp)
2021   if test $ac_cv_func_mkstemp = no; then
2022     utils_cv_func_mkstemp_limitations=yes
2023   else
2024     AC_CACHE_CHECK([for mkstemp limitations],
2025       utils_cv_func_mkstemp_limitations,
2026       [
2027         AC_TRY_RUN([
2028 #         include <stdlib.h>
2029           int main ()
2030           {
2031             int i;
2032             for (i = 0; i < 30; i++)
2033               {
2034                 char template[] = "conftestXXXXXX";
2035                 int fd = mkstemp (template);
2036                 if (fd == -1)
2037                   exit (1);
2038                 close (fd);
2039               }
2040             exit (0);
2041           }
2042           ],
2043         utils_cv_func_mkstemp_limitations=no,
2044         utils_cv_func_mkstemp_limitations=yes,
2045         utils_cv_func_mkstemp_limitations=yes
2046         )
2047       ]
2048     )
2049   fi
2050
2051   if test $utils_cv_func_mkstemp_limitations = yes; then
2052     AC_LIBOBJ(mkstemp)
2053     AC_LIBOBJ(tempname)
2054     AC_DEFINE(mkstemp, rpl_mkstemp,
2055       [Define to rpl_mkstemp if the replacement function should be used.])
2056     gl_PREREQ_MKSTEMP
2057     jm_PREREQ_TEMPNAME
2058   fi
2059 ])
2060
2061 # Prerequisites of lib/mkstemp.c.
2062 AC_DEFUN([gl_PREREQ_MKSTEMP],
2063 [
2064 ])
2065
2066 # Prerequisites of lib/tempname.c.
2067 AC_DEFUN([jm_PREREQ_TEMPNAME],
2068 [
2069   AC_REQUIRE([AC_HEADER_STDC])
2070   AC_REQUIRE([AC_HEADER_STAT])
2071   AC_CHECK_HEADERS_ONCE(fcntl.h sys/time.h unistd.h)
2072   AC_CHECK_HEADERS(stdint.h)
2073   AC_CHECK_FUNCS(__secure_getenv gettimeofday)
2074   AC_CHECK_DECLS_ONCE(getenv)
2075   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2076 ])
2077
2078 # uintmax_t.m4 serial 7 (gettext-0.12)
2079 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2080 dnl This file is free software, distributed under the terms of the GNU
2081 dnl General Public License.  As a special exception to the GNU General
2082 dnl Public License, this file may be distributed as part of a program
2083 dnl that contains a configuration script generated by Autoconf, under
2084 dnl the same distribution terms as the rest of that program.
2085
2086 dnl From Paul Eggert.
2087
2088 AC_PREREQ(2.13)
2089
2090 # Define uintmax_t to 'unsigned long' or 'unsigned long long'
2091 # if it is not already defined in <stdint.h> or <inttypes.h>.
2092
2093 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
2094 [
2095   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
2096   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
2097   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
2098     AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
2099     test $ac_cv_type_unsigned_long_long = yes \
2100       && ac_type='unsigned long long' \
2101       || ac_type='unsigned long'
2102     AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
2103       [Define to unsigned long or unsigned long long
2104        if <stdint.h> and <inttypes.h> don't define.])
2105   else
2106     AC_DEFINE(HAVE_UINTMAX_T, 1,
2107       [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
2108   fi
2109 ])
2110
2111 # inttypes_h.m4 serial 5 (gettext-0.12)
2112 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2113 dnl This file is free software, distributed under the terms of the GNU
2114 dnl General Public License.  As a special exception to the GNU General
2115 dnl Public License, this file may be distributed as part of a program
2116 dnl that contains a configuration script generated by Autoconf, under
2117 dnl the same distribution terms as the rest of that program.
2118
2119 dnl From Paul Eggert.
2120
2121 # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
2122 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2123
2124 AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
2125 [
2126   AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
2127   [AC_TRY_COMPILE(
2128     [#include <sys/types.h>
2129 #include <inttypes.h>],
2130     [uintmax_t i = (uintmax_t) -1;],
2131     jm_ac_cv_header_inttypes_h=yes,
2132     jm_ac_cv_header_inttypes_h=no)])
2133   if test $jm_ac_cv_header_inttypes_h = yes; then
2134     AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
2135       [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
2136        and declares uintmax_t. ])
2137   fi
2138 ])
2139
2140 # stdint_h.m4 serial 3 (gettext-0.12)
2141 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2142 dnl This file is free software, distributed under the terms of the GNU
2143 dnl General Public License.  As a special exception to the GNU General
2144 dnl Public License, this file may be distributed as part of a program
2145 dnl that contains a configuration script generated by Autoconf, under
2146 dnl the same distribution terms as the rest of that program.
2147
2148 dnl From Paul Eggert.
2149
2150 # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
2151 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2152
2153 AC_DEFUN([jm_AC_HEADER_STDINT_H],
2154 [
2155   AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
2156   [AC_TRY_COMPILE(
2157     [#include <sys/types.h>
2158 #include <stdint.h>],
2159     [uintmax_t i = (uintmax_t) -1;],
2160     jm_ac_cv_header_stdint_h=yes,
2161     jm_ac_cv_header_stdint_h=no)])
2162   if test $jm_ac_cv_header_stdint_h = yes; then
2163     AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
2164       [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
2165        and declares uintmax_t. ])
2166   fi
2167 ])
2168
2169 # ulonglong.m4 serial 3
2170 dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
2171 dnl This file is free software, distributed under the terms of the GNU
2172 dnl General Public License.  As a special exception to the GNU General
2173 dnl Public License, this file may be distributed as part of a program
2174 dnl that contains a configuration script generated by Autoconf, under
2175 dnl the same distribution terms as the rest of that program.
2176
2177 dnl From Paul Eggert.
2178
2179 # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
2180
2181 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
2182 [
2183   AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
2184   [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
2185     [unsigned long long ullmax = (unsigned long long) -1;
2186      return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
2187     ac_cv_type_unsigned_long_long=yes,
2188     ac_cv_type_unsigned_long_long=no)])
2189   if test $ac_cv_type_unsigned_long_long = yes; then
2190     AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
2191       [Define if you have the 'unsigned long long' type.])
2192   fi
2193 ])
2194
2195 # backupfile.m4 serial 2
2196 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2197 dnl This file is free software, distributed under the terms of the GNU
2198 dnl General Public License.  As a special exception to the GNU General
2199 dnl Public License, this file may be distributed as part of a program
2200 dnl that contains a configuration script generated by Autoconf, under
2201 dnl the same distribution terms as the rest of that program.
2202
2203 AC_DEFUN([gl_BACKUPFILE],
2204 [
2205   dnl Prerequisites of lib/backupfile.c.
2206   AC_REQUIRE([AC_HEADER_DIRENT])
2207   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
2208   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
2209   AC_CHECK_DECLS_ONCE(getenv malloc)
2210   jm_CHECK_TYPE_STRUCT_DIRENT_D_INO
2211
2212   dnl Prerequisites of lib/addext.c.
2213   AC_REQUIRE([jm_AC_DOS])
2214   AC_SYS_LONG_FILE_NAMES
2215   AC_CHECK_HEADERS_ONCE(string.h unistd.h)
2216   AC_CHECK_FUNCS(pathconf)
2217 ])
2218
2219 #serial 5
2220
2221 # Define some macros required for proper operation of code in lib/*.c
2222 # on MSDOS/Windows systems.
2223
2224 # From Jim Meyering.
2225
2226 AC_DEFUN([jm_AC_DOS],
2227   [
2228     AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
2229       [
2230         AC_TRY_COMPILE([],
2231         [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
2232 neither MSDOS nor Windows
2233 #endif],
2234         [ac_cv_win_or_dos=yes],
2235         [ac_cv_win_or_dos=no])
2236       ])
2237
2238     if test x"$ac_cv_win_or_dos" = xyes; then
2239       ac_fs_accepts_drive_letter_prefix=1
2240       ac_fs_backslash_is_file_name_separator=1
2241     else
2242       ac_fs_accepts_drive_letter_prefix=0
2243       ac_fs_backslash_is_file_name_separator=0
2244     fi
2245
2246     AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
2247     [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
2248 # define FILESYSTEM_PREFIX_LEN(Filename) \
2249   ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
2250 #else
2251 # define FILESYSTEM_PREFIX_LEN(Filename) 0
2252 #endif])
2253
2254     AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
2255       $ac_fs_accepts_drive_letter_prefix,
2256       [Define on systems for which file names may have a so-called
2257        `drive letter' prefix, define this to compute the length of that
2258        prefix, including the colon.])
2259
2260     AH_VERBATIM(ISSLASH,
2261     [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
2262 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
2263 #else
2264 # define ISSLASH(C) ((C) == '/')
2265 #endif])
2266
2267     AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
2268       $ac_fs_backslash_is_file_name_separator,
2269       [Define if the backslash character may also serve as a file name
2270        component separator.])
2271   ])
2272
2273 # canon-host.m4 serial 2
2274 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2275 dnl This file is free software, distributed under the terms of the GNU
2276 dnl General Public License.  As a special exception to the GNU General
2277 dnl Public License, this file may be distributed as part of a program
2278 dnl that contains a configuration script generated by Autoconf, under
2279 dnl the same distribution terms as the rest of that program.
2280
2281 AC_DEFUN([gl_CANON_HOST],
2282 [
2283   dnl Prerequisites of lib/canon-host.c.
2284   AC_CHECK_HEADERS_ONCE(stdlib.h string.h unistd.h)
2285   AC_CHECK_HEADERS(netdb.h sys/socket.h netinet/in.h arpa/inet.h)
2286
2287   dnl Add any libraries as early as possible.
2288   dnl In particular, inet_ntoa needs -lnsl at least on Solaris 2.5.1,
2289   dnl so we have to add -lnsl to LIBS before checking for that function.
2290   AC_SEARCH_LIBS(gethostbyname, [inet nsl])
2291
2292   dnl These come from -lnsl on Solaris 2.5.1.
2293   AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
2294 ])
2295
2296 #serial 5
2297
2298 dnl A replacement for autoconf's macro by the same name.  This version
2299 dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
2300 dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
2301 dnl run only if one of the listed libraries ends up being used (and not in
2302 dnl the `none required' case.
2303 dnl I hope it's only temporary while we wait for that version to be fixed.
2304 undefine([AC_SEARCH_LIBS])
2305
2306 # AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
2307 #                [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
2308 #                [OTHER-LIBRARIES])
2309 # --------------------------------------------------------
2310 # Search for a library defining FUNC, if it's not already available.
2311 AC_DEFUN([AC_SEARCH_LIBS],
2312 [
2313   AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
2314   [
2315     ac_func_search_save_LIBS=$LIBS
2316     ac_cv_search_$1=no
2317     AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
2318     if test "$ac_cv_search_$1" = no; then
2319       for ac_lib in $2; do
2320         LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
2321         AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
2322       done
2323     fi
2324     LIBS=$ac_func_search_save_LIBS
2325   ])
2326
2327   if test "$ac_cv_search_$1" = no; then :
2328     $4
2329   else
2330     if test "$ac_cv_search_$1" = 'none required'; then :
2331       $4
2332     else
2333       LIBS="$ac_cv_search_$1 $LIBS"
2334       $3
2335     fi
2336   fi
2337 ])
2338
2339 # closeout.m4 serial 1
2340 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2341 dnl This file is free software, distributed under the terms of the GNU
2342 dnl General Public License.  As a special exception to the GNU General
2343 dnl Public License, this file may be distributed as part of a program
2344 dnl that contains a configuration script generated by Autoconf, under
2345 dnl the same distribution terms as the rest of that program.
2346
2347 AC_DEFUN([gl_CLOSEOUT],
2348 [
2349   dnl Prerequisites of lib/closeout.c.
2350   AC_CHECK_HEADERS_ONCE(stdlib.h)
2351 ])
2352
2353 # dirname.m4 serial 1
2354 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2355 dnl This file is free software, distributed under the terms of the GNU
2356 dnl General Public License.  As a special exception to the GNU General
2357 dnl Public License, this file may be distributed as part of a program
2358 dnl that contains a configuration script generated by Autoconf, under
2359 dnl the same distribution terms as the rest of that program.
2360
2361 AC_DEFUN([gl_DIRNAME],
2362 [
2363   dnl Prerequisites of lib/dirname.h.
2364   AC_REQUIRE([jm_AC_DOS])
2365
2366   dnl Prerequisites of lib/dirname.c.
2367   AC_REQUIRE([AC_HEADER_STDC])
2368   AC_CHECK_HEADERS_ONCE(string.h)
2369
2370   dnl Prerequisites of lib/basename.c.
2371   AC_REQUIRE([AC_HEADER_STDC])
2372   AC_CHECK_HEADERS_ONCE(string.h)
2373
2374   dnl Prerequisites of lib/stripslash.c.
2375   AC_REQUIRE([AC_HEADER_STDC])
2376   AC_CHECK_HEADERS_ONCE(string.h)
2377 ])
2378
2379 #serial 7
2380
2381 AC_DEFUN([gl_ERROR],
2382 [
2383   AC_FUNC_ERROR_AT_LINE
2384   dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
2385   jm_PREREQ_ERROR
2386 ])
2387
2388 # Prerequisites of lib/error.c.
2389 AC_DEFUN([jm_PREREQ_ERROR],
2390 [
2391   AC_REQUIRE([AC_HEADER_STDC])
2392   AC_REQUIRE([AC_FUNC_VPRINTF])
2393   AC_CHECK_FUNCS(strerror)
2394   AC_CHECK_DECLS([strerror])
2395   AC_FUNC_STRERROR_R
2396 ])
2397
2398 # exclude.m4 serial 2
2399 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2400 dnl This file is free software, distributed under the terms of the GNU
2401 dnl General Public License.  As a special exception to the GNU General
2402 dnl Public License, this file may be distributed as part of a program
2403 dnl that contains a configuration script generated by Autoconf, under
2404 dnl the same distribution terms as the rest of that program.
2405
2406 AC_DEFUN([gl_EXCLUDE],
2407 [
2408   dnl Prerequisites of lib/exclude.c.
2409   AC_REQUIRE([AC_C_INLINE])
2410   AC_REQUIRE([AC_HEADER_STDC])
2411   AC_CHECK_HEADERS_ONCE(stdlib.h string.h strings.h)
2412   AC_CHECK_FUNCS_ONCE(isascii)
2413 ])
2414
2415 # exitfail.m4 serial 1
2416 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2417 dnl This file is free software, distributed under the terms of the GNU
2418 dnl General Public License.  As a special exception to the GNU General
2419 dnl Public License, this file may be distributed as part of a program
2420 dnl that contains a configuration script generated by Autoconf, under
2421 dnl the same distribution terms as the rest of that program.
2422
2423 AC_DEFUN([gl_EXITFAIL],
2424 [
2425   dnl Prerequisites of lib/exitfail.c.
2426   AC_CHECK_HEADERS_ONCE(stdlib.h)
2427 ])
2428
2429 # fileblocks.m4 serial 1
2430 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2431 dnl This file is free software, distributed under the terms of the GNU
2432 dnl General Public License.  As a special exception to the GNU General
2433 dnl Public License, this file may be distributed as part of a program
2434 dnl that contains a configuration script generated by Autoconf, under
2435 dnl the same distribution terms as the rest of that program.
2436
2437 AC_DEFUN([gl_FILEBLOCKS],
2438 [
2439   AC_STRUCT_ST_BLOCKS
2440   dnl Note: AC_STRUCT_ST_BLOCKS does AC_LIBOBJ(fileblocks).
2441   if test $ac_cv_member_struct_stat_st_blocks = no; then
2442     gl_PREREQ_FILEBLOCKS
2443   fi
2444 ])
2445
2446 # Prerequisites of lib/fileblocks.c.
2447 AC_DEFUN([gl_PREREQ_FILEBLOCKS], [
2448   AC_CHECK_HEADERS_ONCE(sys/param.h unistd.h)
2449 ])
2450
2451 # filemode.m4 serial 1
2452 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2453 dnl This file is free software, distributed under the terms of the GNU
2454 dnl General Public License.  As a special exception to the GNU General
2455 dnl Public License, this file may be distributed as part of a program
2456 dnl that contains a configuration script generated by Autoconf, under
2457 dnl the same distribution terms as the rest of that program.
2458
2459 AC_DEFUN([gl_FILEMODE],
2460 [
2461   dnl Prerequisites of lib/filemode.c.
2462   AC_REQUIRE([AC_HEADER_STAT])
2463 ])
2464
2465 # file-type.m4 serial 1
2466 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2467 dnl This file is free software, distributed under the terms of the GNU
2468 dnl General Public License.  As a special exception to the GNU General
2469 dnl Public License, this file may be distributed as part of a program
2470 dnl that contains a configuration script generated by Autoconf, under
2471 dnl the same distribution terms as the rest of that program.
2472
2473 AC_DEFUN([gl_FILE_TYPE],
2474 [
2475   dnl Prerequisites of lib/file-type.h.
2476   AC_REQUIRE([AC_HEADER_STAT])
2477 ])
2478
2479 #serial 11
2480
2481 # From fileutils/configure.in
2482
2483 AC_DEFUN([gl_FSUSAGE],
2484 [
2485   AC_CHECK_HEADERS_ONCE(sys/param.h)
2486   AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs_types.h)
2487   jm_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no])
2488   if test $gl_cv_fs_space = yes; then
2489     AC_LIBOBJ(fsusage)
2490     gl_PREREQ_FSUSAGE_EXTRA
2491   fi
2492 ])
2493
2494 # Try to determine how a program can obtain filesystem usage information.
2495 # If successful, define the appropriate symbol (see fsusage.c) and
2496 # execute ACTION-IF-FOUND.  Otherwise, execute ACTION-IF-NOT-FOUND.
2497 #
2498 # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
2499
2500 AC_DEFUN([jm_FILE_SYSTEM_USAGE],
2501 [
2502
2503 echo "checking how to get filesystem space usage..."
2504 ac_fsusage_space=no
2505
2506 # Perform only the link test since it seems there are no variants of the
2507 # statvfs function.  This check is more than just AC_CHECK_FUNCS(statvfs)
2508 # because that got a false positive on SCO OSR5.  Adding the declaration
2509 # of a `struct statvfs' causes this test to fail (as it should) on such
2510 # systems.  That system is reported to work fine with STAT_STATFS4 which
2511 # is what it gets when this test fails.
2512 if test $ac_fsusage_space = no; then
2513   # SVR4
2514   AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
2515                  [AC_TRY_LINK([#include <sys/types.h>
2516 #ifdef __GLIBC__
2517 Do not use statvfs on systems with GNU libc, because that function stats
2518 all preceding entries in /proc/mounts, and that makes df hang if even
2519 one of the corresponding file systems is hard-mounted, but not available.
2520 #endif
2521 #include <sys/statvfs.h>],
2522                               [struct statvfs fsd; statvfs (0, &fsd);],
2523                               fu_cv_sys_stat_statvfs=yes,
2524                               fu_cv_sys_stat_statvfs=no)])
2525   if test $fu_cv_sys_stat_statvfs = yes; then
2526     ac_fsusage_space=yes
2527     AC_DEFINE(STAT_STATVFS, 1,
2528               [  Define if there is a function named statvfs.  (SVR4)])
2529   fi
2530 fi
2531
2532 if test $ac_fsusage_space = no; then
2533   # DEC Alpha running OSF/1
2534   AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
2535   AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
2536   [AC_TRY_RUN([
2537 #include <sys/param.h>
2538 #include <sys/types.h>
2539 #include <sys/mount.h>
2540   main ()
2541   {
2542     struct statfs fsd;
2543     fsd.f_fsize = 0;
2544     exit (statfs (".", &fsd, sizeof (struct statfs)));
2545   }],
2546   fu_cv_sys_stat_statfs3_osf1=yes,
2547   fu_cv_sys_stat_statfs3_osf1=no,
2548   fu_cv_sys_stat_statfs3_osf1=no)])
2549   AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
2550   if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
2551     ac_fsusage_space=yes
2552     AC_DEFINE(STAT_STATFS3_OSF1, 1,
2553               [   Define if  statfs takes 3 args.  (DEC Alpha running OSF/1)])
2554   fi
2555 fi
2556
2557 if test $ac_fsusage_space = no; then
2558 # AIX
2559   AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
2560 member (AIX, 4.3BSD)])
2561   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
2562   [AC_TRY_RUN([
2563 #ifdef HAVE_SYS_PARAM_H
2564 #include <sys/param.h>
2565 #endif
2566 #ifdef HAVE_SYS_MOUNT_H
2567 #include <sys/mount.h>
2568 #endif
2569 #ifdef HAVE_SYS_VFS_H
2570 #include <sys/vfs.h>
2571 #endif
2572   main ()
2573   {
2574   struct statfs fsd;
2575   fsd.f_bsize = 0;
2576   exit (statfs (".", &fsd));
2577   }],
2578   fu_cv_sys_stat_statfs2_bsize=yes,
2579   fu_cv_sys_stat_statfs2_bsize=no,
2580   fu_cv_sys_stat_statfs2_bsize=no)])
2581   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
2582   if test $fu_cv_sys_stat_statfs2_bsize = yes; then
2583     ac_fsusage_space=yes
2584     AC_DEFINE(STAT_STATFS2_BSIZE, 1,
2585 [  Define if statfs takes 2 args and struct statfs has a field named f_bsize.
2586    (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
2587   fi
2588 fi
2589
2590 if test $ac_fsusage_space = no; then
2591 # SVR3
2592   AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
2593   AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
2594   [AC_TRY_RUN([#include <sys/types.h>
2595 #include <sys/statfs.h>
2596   main ()
2597   {
2598   struct statfs fsd;
2599   exit (statfs (".", &fsd, sizeof fsd, 0));
2600   }],
2601     fu_cv_sys_stat_statfs4=yes,
2602     fu_cv_sys_stat_statfs4=no,
2603     fu_cv_sys_stat_statfs4=no)])
2604   AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
2605   if test $fu_cv_sys_stat_statfs4 = yes; then
2606     ac_fsusage_space=yes
2607     AC_DEFINE(STAT_STATFS4, 1,
2608               [  Define if statfs takes 4 args.  (SVR3, Dynix, Irix, Dolphin)])
2609   fi
2610 fi
2611
2612 if test $ac_fsusage_space = no; then
2613 # 4.4BSD and NetBSD
2614   AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
2615 member (4.4BSD and NetBSD)])
2616   AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
2617   [AC_TRY_RUN([#include <sys/types.h>
2618 #ifdef HAVE_SYS_PARAM_H
2619 #include <sys/param.h>
2620 #endif
2621 #ifdef HAVE_SYS_MOUNT_H
2622 #include <sys/mount.h>
2623 #endif
2624   main ()
2625   {
2626   struct statfs fsd;
2627   fsd.f_fsize = 0;
2628   exit (statfs (".", &fsd));
2629   }],
2630   fu_cv_sys_stat_statfs2_fsize=yes,
2631   fu_cv_sys_stat_statfs2_fsize=no,
2632   fu_cv_sys_stat_statfs2_fsize=no)])
2633   AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
2634   if test $fu_cv_sys_stat_statfs2_fsize = yes; then
2635     ac_fsusage_space=yes
2636     AC_DEFINE(STAT_STATFS2_FSIZE, 1,
2637 [  Define if statfs takes 2 args and struct statfs has a field named f_fsize.
2638    (4.4BSD, NetBSD)])
2639   fi
2640 fi
2641
2642 if test $ac_fsusage_space = no; then
2643   # Ultrix
2644   AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
2645   AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
2646   [AC_TRY_RUN([#include <sys/types.h>
2647 #ifdef HAVE_SYS_PARAM_H
2648 #include <sys/param.h>
2649 #endif
2650 #ifdef HAVE_SYS_MOUNT_H
2651 #include <sys/mount.h>
2652 #endif
2653 #ifdef HAVE_SYS_FS_TYPES_H
2654 #include <sys/fs_types.h>
2655 #endif
2656   main ()
2657   {
2658   struct fs_data fsd;
2659   /* Ultrix's statfs returns 1 for success,
2660      0 for not mounted, -1 for failure.  */
2661   exit (statfs (".", &fsd) != 1);
2662   }],
2663   fu_cv_sys_stat_fs_data=yes,
2664   fu_cv_sys_stat_fs_data=no,
2665   fu_cv_sys_stat_fs_data=no)])
2666   AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
2667   if test $fu_cv_sys_stat_fs_data = yes; then
2668     ac_fsusage_space=yes
2669     AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
2670 [  Define if statfs takes 2 args and the second argument has
2671    type struct fs_data.  (Ultrix)])
2672   fi
2673 fi
2674
2675 if test $ac_fsusage_space = no; then
2676   # SVR2
2677   AC_TRY_CPP([#include <sys/filsys.h>
2678     ],
2679     AC_DEFINE(STAT_READ_FILSYS, 1,
2680       [Define if there is no specific function for reading filesystems usage
2681        information and you have the <sys/filsys.h> header file.  (SVR2)])
2682     ac_fsusage_space=yes)
2683 fi
2684
2685 AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
2686
2687 ])
2688
2689
2690 # Check for SunOS statfs brokenness wrt partitions 2GB and larger.
2691 # If <sys/vfs.h> exists and struct statfs has a member named f_spare,
2692 # enable the work-around code in fsusage.c.
2693 AC_DEFUN([jm_STATFS_TRUNCATES],
2694 [
2695   AC_MSG_CHECKING([for statfs that truncates block counts])
2696   AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
2697   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2698 #if !defined(sun) && !defined(__sun)
2699 choke -- this is a workaround for a Sun-specific problem
2700 #endif
2701 #include <sys/types.h>
2702 #include <sys/vfs.h>]],
2703     [[struct statfs t; long c = *(t.f_spare);]])],
2704     [fu_cv_sys_truncating_statfs=yes],
2705     [fu_cv_sys_truncating_statfs=no])])
2706   if test $fu_cv_sys_truncating_statfs = yes; then
2707     AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
2708       [Define if the block counts reported by statfs may be truncated to 2GB
2709        and the correct values may be stored in the f_spare array.
2710        (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
2711        SunOS 4.1.1 seems not to be affected.)])
2712   fi
2713   AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
2714 ])
2715
2716
2717 # Prerequisites of lib/fsusage.c not done by jm_FILE_SYSTEM_USAGE.
2718 AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA],
2719 [
2720   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2721   AC_CHECK_HEADERS_ONCE(fcntl.h)
2722   AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h sys/statvfs.h)
2723   jm_STATFS_TRUNCATES
2724 ])
2725
2726 # alloca.m4 serial 2 (gettext-0.12)
2727 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
2728 dnl This file is free software, distributed under the terms of the GNU
2729 dnl General Public License.  As a special exception to the GNU General
2730 dnl Public License, this file may be distributed as part of a program
2731 dnl that contains a configuration script generated by Autoconf, under
2732 dnl the same distribution terms as the rest of that program.
2733
2734 AC_DEFUN([gl_FUNC_ALLOCA],
2735 [
2736   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
2737   AC_REQUIRE([AC_PROG_CPP])
2738   AC_REQUIRE([AC_PROG_EGREP])
2739
2740   AC_REQUIRE([AC_FUNC_ALLOCA])
2741   if test $ac_cv_func_alloca_works = no; then
2742     gl_PREREQ_ALLOCA
2743   fi
2744
2745   # Define an additional variable used in the Makefile substitution.
2746
2747   AC_EGREP_CPP([Need own alloca], [
2748 #if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
2749   Need own alloca
2750 #endif
2751     ],
2752     ALLOCA_H=alloca.h,
2753     ALLOCA_H=)
2754   AC_SUBST([ALLOCA_H])
2755 ])
2756
2757 # Prerequisites of lib/alloca.c.
2758 # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
2759 AC_DEFUN([gl_PREREQ_ALLOCA], [
2760   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
2761 ])
2762
2763 # atexit.m4 serial 1
2764 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2765 dnl This file is free software, distributed under the terms of the GNU
2766 dnl General Public License.  As a special exception to the GNU General
2767 dnl Public License, this file may be distributed as part of a program
2768 dnl that contains a configuration script generated by Autoconf, under
2769 dnl the same distribution terms as the rest of that program.
2770
2771 AC_DEFUN([gl_FUNC_ATEXIT],
2772 [
2773   AC_REPLACE_FUNCS(atexit)
2774   if test $ac_cv_func_atexit = no; then
2775     gl_PREREQ_ATEXIT
2776   fi
2777 ])
2778
2779 # Prerequisites of lib/atexit.c.
2780 AC_DEFUN([gl_PREREQ_ATEXIT], [
2781   :
2782 ])
2783
2784 # dup2.m4 serial 1
2785 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2786 dnl This file is free software, distributed under the terms of the GNU
2787 dnl General Public License.  As a special exception to the GNU General
2788 dnl Public License, this file may be distributed as part of a program
2789 dnl that contains a configuration script generated by Autoconf, under
2790 dnl the same distribution terms as the rest of that program.
2791
2792 AC_DEFUN([gl_FUNC_DUP2],
2793 [
2794   AC_REPLACE_FUNCS(dup2)
2795   if test $ac_cv_func_dup2 = no; then
2796     gl_PREREQ_DUP2
2797   fi
2798 ])
2799
2800 # Prerequisites of lib/dup2.c.
2801 AC_DEFUN([gl_PREREQ_DUP2], [
2802   AC_CHECK_HEADERS_ONCE(fcntl.h unistd.h)
2803 ])
2804
2805
2806 # euidaccess.m4 serial 2
2807 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2808 dnl This file is free software, distributed under the terms of the GNU
2809 dnl General Public License.  As a special exception to the GNU General
2810 dnl Public License, this file may be distributed as part of a program
2811 dnl that contains a configuration script generated by Autoconf, under
2812 dnl the same distribution terms as the rest of that program.
2813
2814 AC_DEFUN([gl_FUNC_EUIDACCESS],
2815 [
2816   dnl Persuade glibc <unistd.h> to declare euidaccess().
2817   AC_REQUIRE([AC_GNU_SOURCE])
2818
2819   AC_CHECK_DECLS([euidaccess])
2820   AC_REPLACE_FUNCS(euidaccess)
2821   if test $ac_cv_func_euidaccess = no; then
2822     gl_PREREQ_EUIDACCESS
2823   fi
2824 ])
2825
2826 # Prerequisites of lib/euidaccess.c.
2827 AC_DEFUN([gl_PREREQ_EUIDACCESS], [
2828   AC_CHECK_HEADERS_ONCE(unistd.h)
2829   AC_REQUIRE([AC_FUNC_GETGROUPS])
2830 ])
2831
2832
2833 # Check for fnmatch.
2834
2835 # This is a modified version of autoconf's AC_FUNC_FNMATCH.
2836 # This file should be simplified after Autoconf 2.57 is required.
2837
2838 # Copyright (C) 2000-2003 Free Software Foundation, Inc.
2839
2840 # This program is free software; you can redistribute it and/or modify
2841 # it under the terms of the GNU General Public License as published by
2842 # the Free Software Foundation; either version 2, or (at your option)
2843 # any later version.
2844
2845 # This program is distributed in the hope that it will be useful,
2846 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2847 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2848 # GNU General Public License for more details.
2849
2850 # You should have received a copy of the GNU General Public License
2851 # along with this program; if not, write to the Free Software
2852 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2853 # 02111-1307, USA.
2854
2855 # _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE)
2856 # -------------------------------------------------------------------------
2857 # If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise
2858 # IF-FALSE.  Use CACHE_VAR.
2859 AC_DEFUN([_AC_FUNC_FNMATCH_IF],
2860 [AC_CACHE_CHECK(
2861    [for working $1 fnmatch],
2862    [$2],
2863   [# Some versions of Solaris, SCO, and the GNU C Library
2864    # have a broken or incompatible fnmatch.
2865    # So we run a test program.  If we are cross-compiling, take no chance.
2866    # Thanks to John Oleynick, Franc,ois Pinard, and Paul Eggert for this test.
2867    AC_RUN_IFELSE(
2868       [AC_LANG_PROGRAM(
2869          [
2870 #          include <stdlib.h>
2871 #          include <fnmatch.h>
2872 #          define y(a, b, c) (fnmatch (a, b, c) == 0)
2873 #          define n(a, b, c) (fnmatch (a, b, c) == FNM_NOMATCH)
2874          ],
2875          [exit
2876            (!(y ("a*", "abc", 0)
2877               && n ("d*/*1", "d/s/1", FNM_PATHNAME)
2878               && y ("a\\\\bc", "abc", 0)
2879               && n ("a\\\\bc", "abc", FNM_NOESCAPE)
2880               && y ("*x", ".x", 0)
2881               && n ("*x", ".x", FNM_PERIOD)
2882               && m4_if([$1], [GNU],
2883                    [y ("xxXX", "xXxX", FNM_CASEFOLD)
2884                     && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
2885                     && n ("d*/*1", "d/s/1", FNM_FILE_NAME)
2886                     && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
2887                     && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
2888                     && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)],
2889                    1)));])],
2890       [$2=yes],
2891       [$2=no],
2892       [$2=cross])])
2893 AS_IF([test $$2 = yes], [$3], [$4])
2894 ])# _AC_FUNC_FNMATCH_IF
2895
2896
2897 # _AC_LIBOBJ_FNMATCH
2898 # ------------------
2899 # Prepare the replacement of fnmatch.
2900 AC_DEFUN([_AC_LIBOBJ_FNMATCH],
2901 [AC_REQUIRE([AC_C_CONST])dnl
2902 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2903 AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
2904 AC_CHECK_DECLS([getenv])
2905 AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmempcpy])
2906 AC_CHECK_HEADERS([wchar.h wctype.h])
2907 AC_LIBOBJ([fnmatch])
2908 FNMATCH_H=fnmatch.h
2909 AC_DEFINE(fnmatch, rpl_fnmatch,
2910           [Define to rpl_fnmatch if the replacement function should be used.])
2911 ])# _AC_LIBOBJ_FNMATCH
2912
2913
2914 # Additional prerequisites of lib/fnmatch.c, not part of _AC_LIBOBJ_FNMATCH.
2915 AC_DEFUN([gl_PREREQ_FNMATCH_EXTRA],
2916 [
2917   AC_REQUIRE([AC_HEADER_STDC])
2918   AC_CHECK_HEADERS_ONCE(string.h strings.h)
2919 ])
2920
2921
2922 AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
2923 [
2924   FNMATCH_H=
2925   _AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_posix],
2926                       [rm -f lib/fnmatch.h],
2927                       [_AC_LIBOBJ_FNMATCH])
2928   if test $ac_cv_func_fnmatch_posix != yes; then
2929     gl_PREREQ_FNMATCH_EXTRA
2930     dnl We must choose a different name for our function, since on ELF systems
2931     dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
2932     dnl compiled into a shared library.
2933     AC_DEFINE([fnmatch], [posix_fnmatch],
2934       [Define to a replacement function name for fnmatch().])
2935   fi
2936   AC_SUBST([FNMATCH_H])
2937 ])
2938
2939
2940 AC_DEFUN([gl_FUNC_FNMATCH_GNU],
2941 [
2942   dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
2943   AC_REQUIRE([AC_GNU_SOURCE])
2944
2945   FNMATCH_H=
2946   _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu],
2947                       [rm -f lib/fnmatch.h],
2948                       [_AC_LIBOBJ_FNMATCH])
2949   if test $ac_cv_func_fnmatch_gnu != yes; then
2950     gl_PREREQ_FNMATCH_EXTRA
2951     dnl We must choose a different name for our function, since on ELF systems
2952     dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
2953     dnl compiled into a shared library.
2954     AC_DEFINE([fnmatch], [gnu_fnmatch],
2955       [Define to a replacement function name for fnmatch().])
2956   fi
2957   AC_SUBST([FNMATCH_H])
2958 ])
2959
2960 # gethostname.m4 serial 1
2961 dnl Copyright (C) 2002 Free Software Foundation, Inc.
2962 dnl This file is free software, distributed under the terms of the GNU
2963 dnl General Public License.  As a special exception to the GNU General
2964 dnl Public License, this file may be distributed as part of a program
2965 dnl that contains a configuration script generated by Autoconf, under
2966 dnl the same distribution terms as the rest of that program.
2967
2968 AC_DEFUN([gl_FUNC_GETHOSTNAME],
2969 [
2970   AC_REPLACE_FUNCS(gethostname)
2971   if test $ac_cv_func_gethostname = no; then
2972     gl_PREREQ_GETHOSTNAME
2973   fi
2974 ])
2975
2976 # Prerequisites of lib/gethostname.c.
2977 AC_DEFUN([gl_PREREQ_GETHOSTNAME], [
2978   AC_CHECK_FUNCS(uname)
2979 ])
2980
2981
2982 #serial 10
2983
2984 # A replacement for autoconf's macro by the same name.  This version
2985 # accepts an optional argument specifying the name of the $srcdir-relative
2986 # directory in which the file getloadavg.c may be found.  It is unusual
2987 # (but justified, imho) that this file is required at ./configure time.
2988
2989 undefine([AC_FUNC_GETLOADAVG])
2990
2991 # AC_FUNC_GETLOADAVG
2992 # ------------------
2993 AC_DEFUN([AC_FUNC_GETLOADAVG],
2994 [ac_have_func=no # yes means we've found a way to get the load average.
2995
2996 AC_CHECK_HEADERS_ONCE(fcntl.h locale.h unistd.h)
2997 AC_CHECK_HEADERS(mach/mach.h)
2998 AC_CHECK_FUNCS(setlocale)
2999
3000 # By default, expect to find getloadavg.c in $srcdir/.
3001 ac_lib_dir_getloadavg=$srcdir
3002 # But if there's an argument, DIR, expect to find getloadavg.c in $srcdir/DIR.
3003 m4_ifval([$1], [ac_lib_dir_getloadavg=$srcdir/$1])
3004 # Make sure getloadavg.c is where it belongs, at ./configure-time.
3005 test -f $ac_lib_dir_getloadavg/getloadavg.c \
3006   || AC_MSG_ERROR([getloadavg.c is not in $ac_lib_dir_getloadavg])
3007 # FIXME: Add an autoconf-time test, too?
3008
3009 ac_save_LIBS=$LIBS
3010
3011 # Check for getloadavg, but be sure not to touch the cache variable.
3012 (AC_CHECK_FUNC(getloadavg, exit 0, exit 1)) && ac_have_func=yes
3013
3014 # On HPUX9, an unprivileged user can get load averages through this function.
3015 AC_CHECK_FUNCS(pstat_getdynamic)
3016
3017 # Solaris has libkstat which does not require root.
3018 AC_CHECK_LIB(kstat, kstat_open)
3019 test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
3020
3021 # Some systems with -lutil have (and need) -lkvm as well, some do not.
3022 # On Solaris, -lkvm requires nlist from -lelf, so check that first
3023 # to get the right answer into the cache.
3024 # For kstat on solaris, we need libelf to force the definition of SVR4 below.
3025 if test $ac_have_func = no; then
3026   AC_CHECK_LIB(elf, elf_begin, LIBS="-lelf $LIBS")
3027 fi
3028 if test $ac_have_func = no; then
3029   AC_CHECK_LIB(kvm, kvm_open, LIBS="-lkvm $LIBS")
3030   # Check for the 4.4BSD definition of getloadavg.
3031   AC_CHECK_LIB(util, getloadavg,
3032     [LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes])
3033 fi
3034
3035 if test $ac_have_func = no; then
3036   # There is a commonly available library for RS/6000 AIX.
3037   # Since it is not a standard part of AIX, it might be installed locally.
3038   ac_getloadavg_LIBS=$LIBS
3039   LIBS="-L/usr/local/lib $LIBS"
3040   AC_CHECK_LIB(getloadavg, getloadavg,
3041                [LIBS="-lgetloadavg $LIBS"], [LIBS=$ac_getloadavg_LIBS])
3042 fi
3043
3044 # Make sure it is really in the library, if we think we found it,
3045 # otherwise set up the replacement function.
3046 AC_CHECK_FUNCS(getloadavg, [],
3047                [_AC_LIBOBJ_GETLOADAVG])
3048
3049 # Some definitions of getloadavg require that the program be installed setgid.
3050 AC_CACHE_CHECK(whether getloadavg requires setgid,
3051                ac_cv_func_getloadavg_setgid,
3052 [AC_EGREP_CPP([Yowza Am I SETGID yet],
3053 [#include "$ac_lib_dir_getloadavg/getloadavg.c"
3054 #ifdef LDAV_PRIVILEGED
3055 Yowza Am I SETGID yet
3056 @%:@endif],
3057               ac_cv_func_getloadavg_setgid=yes,
3058               ac_cv_func_getloadavg_setgid=no)])
3059 if test $ac_cv_func_getloadavg_setgid = yes; then
3060   NEED_SETGID=true
3061   AC_DEFINE(GETLOADAVG_PRIVILEGED, 1,
3062             [Define if the `getloadavg' function needs to be run setuid
3063              or setgid.])
3064 else
3065   NEED_SETGID=false
3066 fi
3067 AC_SUBST(NEED_SETGID)dnl
3068
3069 if test $ac_cv_func_getloadavg_setgid = yes; then
3070   AC_CACHE_CHECK(group of /dev/kmem, ac_cv_group_kmem,
3071 [ # On Solaris, /dev/kmem is a symlink.  Get info on the real file.
3072   ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
3073   # If we got an error (system does not support symlinks), try without -L.
3074   test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
3075   ac_cv_group_kmem=`echo $ac_ls_output \
3076     | sed -ne ['s/[     ][      ]*/ /g;
3077                s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\)  *.*/\1/;
3078                / /s/.* //;p;']`
3079 ])
3080   AC_SUBST(KMEM_GROUP, $ac_cv_group_kmem)dnl
3081 fi
3082 if test "x$ac_save_LIBS" = x; then
3083   GETLOADAVG_LIBS=$LIBS
3084 else
3085   GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$ac_save_LIBS!!"`
3086 fi
3087 LIBS=$ac_save_LIBS
3088
3089 AC_SUBST(GETLOADAVG_LIBS)dnl
3090 ])# AC_FUNC_GETLOADAVG
3091
3092
3093 AC_DEFUN([gl_FUNC_GETLOADAVG],
3094 [
3095   AC_FUNC_GETLOADAVG([lib])
3096   dnl Note AC_FUNC_GETLOADAVG does AC_LIBOBJ(getloadavg).
3097   if test $ac_cv_func_getloadavg = no; then
3098     gl_PREREQ_GETLOADAVG
3099   fi
3100 ])
3101
3102 # Prerequisites of lib/getloadavg.c not done by autoconf's AC_FUNC_GETLOADAVG.
3103 AC_DEFUN([gl_PREREQ_GETLOADAVG],
3104 [
3105   AC_CHECK_HEADERS_ONCE(fcntl.h unistd.h)
3106 ])
3107
3108 # getpass.m4 serial 2
3109 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3110 dnl This file is free software, distributed under the terms of the GNU
3111 dnl General Public License.  As a special exception to the GNU General
3112 dnl Public License, this file may be distributed as part of a program
3113 dnl that contains a configuration script generated by Autoconf, under
3114 dnl the same distribution terms as the rest of that program.
3115
3116 # Provide a getpass() function if the system doesn't have it.
3117 AC_DEFUN([gl_FUNC_GETPASS],
3118 [
3119   AC_REPLACE_FUNCS(getpass)
3120   if test $ac_cv_func_getpass = no; then
3121     gl_PREREQ_GETPASS
3122   fi
3123 ])
3124
3125 # Provide the GNU getpass() implementation. It supports passwords of
3126 # arbitrary length (not just 8 bytes as on HP-UX).
3127 AC_DEFUN([gl_FUNC_GETPASS_GNU],
3128 [
3129   dnl TODO: Detect when GNU getpass() is already found in glibc.
3130   AC_LIBOBJ(getpass)
3131   gl_PREREQ_GETPASS
3132   dnl We must choose a different name for our function, since on ELF systems
3133   dnl an unusable getpass() in libc.so would override our getpass() if it is
3134   dnl compiled into a shared library.
3135   AC_DEFINE([getpass], [gnu_getpass],
3136     [Define to a replacement function name for getpass().])
3137 ])
3138
3139 # Prerequisites of lib/getpass.c.
3140 AC_DEFUN([gl_PREREQ_GETPASS], [
3141   :
3142 ])
3143
3144
3145 # getusershell.m4 serial 1
3146 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3147 dnl This file is free software, distributed under the terms of the GNU
3148 dnl General Public License.  As a special exception to the GNU General
3149 dnl Public License, this file may be distributed as part of a program
3150 dnl that contains a configuration script generated by Autoconf, under
3151 dnl the same distribution terms as the rest of that program.
3152
3153 AC_DEFUN([gl_FUNC_GETUSERSHELL],
3154 [
3155   AC_REPLACE_FUNCS(getusershell)
3156   if test $ac_cv_func_getusershell = no; then
3157     gl_PREREQ_GETUSERSHELL
3158   fi
3159 ])
3160
3161 # Prerequisites of lib/getusershell.c.
3162 AC_DEFUN([gl_PREREQ_GETUSERSHELL], [
3163   AC_REQUIRE([AC_HEADER_STDC])
3164   AC_CHECK_HEADERS_ONCE(stdlib.h)
3165   AC_CHECK_FUNCS_ONCE(isascii)
3166 ])
3167
3168
3169 # memchr.m4 serial 1
3170 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3171 dnl This file is free software, distributed under the terms of the GNU
3172 dnl General Public License.  As a special exception to the GNU General
3173 dnl Public License, this file may be distributed as part of a program
3174 dnl that contains a configuration script generated by Autoconf, under
3175 dnl the same distribution terms as the rest of that program.
3176
3177 AC_DEFUN([gl_FUNC_MEMCHR],
3178 [
3179   AC_REPLACE_FUNCS(memchr)
3180   if test $ac_cv_func_memchr = no; then
3181     jm_PREREQ_MEMCHR
3182   fi
3183 ])
3184
3185 # Prerequisites of lib/memchr.c.
3186 AC_DEFUN([jm_PREREQ_MEMCHR], [
3187   AC_CHECK_HEADERS_ONCE(limits.h stdlib.h)
3188   AC_CHECK_HEADERS(bp-sym.h)
3189 ])
3190
3191 # memcpy.m4 serial 1
3192 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3193 dnl This file is free software, distributed under the terms of the GNU
3194 dnl General Public License.  As a special exception to the GNU General
3195 dnl Public License, this file may be distributed as part of a program
3196 dnl that contains a configuration script generated by Autoconf, under
3197 dnl the same distribution terms as the rest of that program.
3198
3199 AC_DEFUN([gl_FUNC_MEMCPY],
3200 [
3201   AC_REPLACE_FUNCS(memcpy)
3202   if test $ac_cv_func_memcpy = no; then
3203     gl_PREREQ_MEMCPY
3204   fi
3205 ])
3206
3207 # Prerequisites of lib/memcpy.c.
3208 AC_DEFUN([gl_PREREQ_MEMCPY], [
3209   :
3210 ])
3211
3212 # memmove.m4 serial 1
3213 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3214 dnl This file is free software, distributed under the terms of the GNU
3215 dnl General Public License.  As a special exception to the GNU General
3216 dnl Public License, this file may be distributed as part of a program
3217 dnl that contains a configuration script generated by Autoconf, under
3218 dnl the same distribution terms as the rest of that program.
3219
3220 AC_DEFUN([gl_FUNC_MEMMOVE],
3221 [
3222   AC_REPLACE_FUNCS(memmove)
3223   if test $ac_cv_func_memmove = no; then
3224     gl_PREREQ_MEMMOVE
3225   fi
3226 ])
3227
3228 # Prerequisites of lib/memmove.c.
3229 AC_DEFUN([gl_PREREQ_MEMMOVE], [
3230   :
3231 ])
3232
3233 # memrchr.m4 serial 1
3234 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3235 dnl This file is free software, distributed under the terms of the GNU
3236 dnl General Public License.  As a special exception to the GNU General
3237 dnl Public License, this file may be distributed as part of a program
3238 dnl that contains a configuration script generated by Autoconf, under
3239 dnl the same distribution terms as the rest of that program.
3240
3241 AC_DEFUN([gl_FUNC_MEMRCHR],
3242 [
3243   dnl Persuade glibc <string.h> to declare memrchr().
3244   AC_REQUIRE([AC_GNU_SOURCE])
3245
3246   AC_REPLACE_FUNCS(memrchr)
3247   if test $ac_cv_func_memrchr = no; then
3248     gl_PREREQ_MEMRCHR
3249   fi
3250 ])
3251
3252 # Prerequisites of lib/memrchr.c.
3253 AC_DEFUN([gl_PREREQ_MEMRCHR], [
3254   AC_CHECK_HEADERS_ONCE(limits.h)
3255 ])
3256
3257 # memset.m4 serial 1
3258 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3259 dnl This file is free software, distributed under the terms of the GNU
3260 dnl General Public License.  As a special exception to the GNU General
3261 dnl Public License, this file may be distributed as part of a program
3262 dnl that contains a configuration script generated by Autoconf, under
3263 dnl the same distribution terms as the rest of that program.
3264
3265 AC_DEFUN([gl_FUNC_MEMSET],
3266 [
3267   AC_REPLACE_FUNCS(memset)
3268   if test $ac_cv_func_memset = no; then
3269     gl_PREREQ_MEMSET
3270   fi
3271 ])
3272
3273 # Prerequisites of lib/memset.c.
3274 AC_DEFUN([gl_PREREQ_MEMSET], [
3275   :
3276 ])
3277
3278 # mktime.m4 serial 2
3279 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3280 dnl This file is free software, distributed under the terms of the GNU
3281 dnl General Public License.  As a special exception to the GNU General
3282 dnl Public License, this file may be distributed as part of a program
3283 dnl that contains a configuration script generated by Autoconf, under
3284 dnl the same distribution terms as the rest of that program.
3285
3286 dnl From Jim Meyering.
3287
3288 # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.57 and earlier.
3289 # This redefinition can be removed once a new version of Autoconf comes out.
3290 # The redefinition is taken from
3291 # <http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.78>.
3292 # AC_FUNC_MKTIME
3293 # --------------
3294 AC_DEFUN([AC_FUNC_MKTIME],
3295 [AC_REQUIRE([AC_HEADER_TIME])dnl
3296 AC_CHECK_HEADERS(stdlib.h sys/time.h unistd.h)
3297 AC_CHECK_FUNCS(alarm)
3298 AC_CACHE_CHECK([for working mktime], ac_cv_func_working_mktime,
3299 [AC_RUN_IFELSE([AC_LANG_SOURCE(
3300 [[/* Test program from Paul Eggert and Tony Leneis.  */
3301 #if TIME_WITH_SYS_TIME
3302 # include <sys/time.h>
3303 # include <time.h>
3304 #else
3305 # if HAVE_SYS_TIME_H
3306 #  include <sys/time.h>
3307 # else
3308 #  include <time.h>
3309 # endif
3310 #endif
3311
3312 #if HAVE_STDLIB_H
3313 # include <stdlib.h>
3314 #endif
3315
3316 #if HAVE_UNISTD_H
3317 # include <unistd.h>
3318 #endif
3319
3320 #if !HAVE_ALARM
3321 # define alarm(X) /* empty */
3322 #endif
3323
3324 /* Work around redefinition to rpl_putenv by other config tests.  */
3325 #undef putenv
3326
3327 static time_t time_t_max;
3328 static time_t time_t_min;
3329
3330 /* Values we'll use to set the TZ environment variable.  */
3331 static char *tz_strings[] = {
3332   (char *) 0, "TZ=GMT0", "TZ=JST-9",
3333   "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
3334 };
3335 #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
3336
3337 /* Fail if mktime fails to convert a date in the spring-forward gap.
3338    Based on a problem report from Andreas Jaeger.  */
3339 static void
3340 spring_forward_gap ()
3341 {
3342   /* glibc (up to about 1998-10-07) failed this test. */
3343   struct tm tm;
3344
3345   /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
3346      instead of "TZ=America/Vancouver" in order to detect the bug even
3347      on systems that don't support the Olson extension, or don't have the
3348      full zoneinfo tables installed.  */
3349   putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
3350
3351   tm.tm_year = 98;
3352   tm.tm_mon = 3;
3353   tm.tm_mday = 5;
3354   tm.tm_hour = 2;
3355   tm.tm_min = 0;
3356   tm.tm_sec = 0;
3357   tm.tm_isdst = -1;
3358   if (mktime (&tm) == (time_t)-1)
3359     exit (1);
3360 }
3361
3362 static void
3363 mktime_test1 (now)
3364      time_t now;
3365 {
3366   struct tm *lt;
3367   if ((lt = localtime (&now)) && mktime (lt) != now)
3368     exit (1);
3369 }
3370
3371 static void
3372 mktime_test (now)
3373      time_t now;
3374 {
3375   mktime_test1 (now);
3376   mktime_test1 ((time_t) (time_t_max - now));
3377   mktime_test1 ((time_t) (time_t_min + now));
3378 }
3379
3380 static void
3381 irix_6_4_bug ()
3382 {
3383   /* Based on code from Ariel Faigon.  */
3384   struct tm tm;
3385   tm.tm_year = 96;
3386   tm.tm_mon = 3;
3387   tm.tm_mday = 0;
3388   tm.tm_hour = 0;
3389   tm.tm_min = 0;
3390   tm.tm_sec = 0;
3391   tm.tm_isdst = -1;
3392   mktime (&tm);
3393   if (tm.tm_mon != 2 || tm.tm_mday != 31)
3394     exit (1);
3395 }
3396
3397 static void
3398 bigtime_test (j)
3399      int j;
3400 {
3401   struct tm tm;
3402   time_t now;
3403   tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
3404   now = mktime (&tm);
3405   if (now != (time_t) -1)
3406     {
3407       struct tm *lt = localtime (&now);
3408       if (! (lt
3409              && lt->tm_year == tm.tm_year
3410              && lt->tm_mon == tm.tm_mon
3411              && lt->tm_mday == tm.tm_mday
3412              && lt->tm_hour == tm.tm_hour
3413              && lt->tm_min == tm.tm_min
3414              && lt->tm_sec == tm.tm_sec
3415              && lt->tm_yday == tm.tm_yday
3416              && lt->tm_wday == tm.tm_wday
3417              && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
3418                   == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
3419         exit (1);
3420     }
3421 }
3422
3423 int
3424 main ()
3425 {
3426   time_t t, delta;
3427   int i, j;
3428
3429   /* This test makes some buggy mktime implementations loop.
3430      Give up after 60 seconds; a mktime slower than that
3431      isn't worth using anyway.  */
3432   alarm (60);
3433
3434   for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
3435     continue;
3436   time_t_max--;
3437   if ((time_t) -1 < 0)
3438     for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
3439       continue;
3440   delta = time_t_max / 997; /* a suitable prime number */
3441   for (i = 0; i < N_STRINGS; i++)
3442     {
3443       if (tz_strings[i])
3444         putenv (tz_strings[i]);
3445
3446       for (t = 0; t <= time_t_max - delta; t += delta)
3447         mktime_test (t);
3448       mktime_test ((time_t) 1);
3449       mktime_test ((time_t) (60 * 60));
3450       mktime_test ((time_t) (60 * 60 * 24));
3451
3452       for (j = 1; 0 < j; j *= 2)
3453         bigtime_test (j);
3454       bigtime_test (j - 1);
3455     }
3456   irix_6_4_bug ();
3457   spring_forward_gap ();
3458   exit (0);
3459 }]])],
3460                [ac_cv_func_working_mktime=yes],
3461                [ac_cv_func_working_mktime=no],
3462                [ac_cv_func_working_mktime=no])])
3463 if test $ac_cv_func_working_mktime = no; then
3464   AC_LIBOBJ([mktime])
3465 fi
3466 ])# AC_FUNC_MKTIME
3467
3468 AC_DEFUN([gl_FUNC_MKTIME],
3469 [
3470   AC_REQUIRE([AC_FUNC_MKTIME])
3471   if test $ac_cv_func_working_mktime = no; then
3472     AC_DEFINE(mktime, rpl_mktime,
3473       [Define to rpl_mktime if the replacement function should be used.])
3474     gl_PREREQ_MKTIME
3475   fi
3476 ])
3477
3478 # Prerequisites of lib/mktime.c.
3479 AC_DEFUN([gl_PREREQ_MKTIME], [
3480   AC_REQUIRE([AC_HEADER_STDC])
3481   AC_CHECK_HEADERS_ONCE(limits.h)
3482 ])
3483
3484 # readlink.m4 serial 2
3485 dnl Copyright (C) 2003 Free Software Foundation, Inc.
3486 dnl This file is free software, distributed under the terms of the GNU
3487 dnl General Public License.  As a special exception to the GNU General
3488 dnl Public License, this file may be distributed as part of a program
3489 dnl that contains a configuration script generated by Autoconf, under
3490 dnl the same distribution terms as the rest of that program.
3491
3492 AC_DEFUN([gl_FUNC_READLINK],
3493 [
3494   AC_CHECK_FUNCS(readlink)
3495   if test $ac_cv_func_readlink = no; then
3496     AC_LIBOBJ(readlink)
3497     gl_PREREQ_READLINK
3498   fi
3499 ])
3500
3501 # Prerequisites of lib/readlink.c.
3502 AC_DEFUN([gl_PREREQ_READLINK],
3503 [
3504   :
3505 ])
3506
3507 # rmdir.m4 serial 1
3508 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3509 dnl This file is free software, distributed under the terms of the GNU
3510 dnl General Public License.  As a special exception to the GNU General
3511 dnl Public License, this file may be distributed as part of a program
3512 dnl that contains a configuration script generated by Autoconf, under
3513 dnl the same distribution terms as the rest of that program.
3514
3515 AC_DEFUN([gl_FUNC_RMDIR],
3516 [
3517   AC_REPLACE_FUNCS(rmdir)
3518   if test $ac_cv_func_rmdir = no; then
3519     gl_PREREQ_RMDIR
3520   fi
3521 ])
3522
3523 # Prerequisites of lib/rmdir.c.
3524 AC_DEFUN([gl_PREREQ_RMDIR], [
3525   AC_REQUIRE([AC_HEADER_STAT])
3526   :
3527 ])
3528
3529
3530 # rpmatch.m4 serial 3
3531 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3532 dnl This file is free software, distributed under the terms of the GNU
3533 dnl General Public License.  As a special exception to the GNU General
3534 dnl Public License, this file may be distributed as part of a program
3535 dnl that contains a configuration script generated by Autoconf, under
3536 dnl the same distribution terms as the rest of that program.
3537
3538 AC_DEFUN([gl_FUNC_RPMATCH],
3539 [
3540   AC_REPLACE_FUNCS(rpmatch)
3541   if test $ac_cv_func_rpmatch = no; then
3542     gl_PREREQ_RPMATCH
3543   fi
3544 ])
3545
3546 # Prerequisites of lib/rpmatch.c.
3547 AC_DEFUN([gl_PREREQ_RPMATCH], [
3548   AC_REQUIRE([AC_HEADER_STDC])
3549   :
3550 ])
3551
3552
3553 # sig2str.m4 serial 1
3554 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3555 dnl This file is free software, distributed under the terms of the GNU
3556 dnl General Public License.  As a special exception to the GNU General
3557 dnl Public License, this file may be distributed as part of a program
3558 dnl that contains a configuration script generated by Autoconf, under
3559 dnl the same distribution terms as the rest of that program.
3560
3561 AC_DEFUN([gl_FUNC_SIG2STR],
3562 [
3563   AC_REPLACE_FUNCS(sig2str)
3564   if test $ac_cv_func_sig2str = no; then
3565     gl_PREREQ_SIG2STR
3566   fi
3567 ])
3568
3569 # Prerequisites of lib/sig2str.c.
3570 AC_DEFUN([gl_PREREQ_SIG2STR], [
3571   :
3572 ])
3573
3574
3575 # stpcpy.m4 serial 1
3576 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3577 dnl This file is free software, distributed under the terms of the GNU
3578 dnl General Public License.  As a special exception to the GNU General
3579 dnl Public License, this file may be distributed as part of a program
3580 dnl that contains a configuration script generated by Autoconf, under
3581 dnl the same distribution terms as the rest of that program.
3582
3583 AC_DEFUN([gl_FUNC_STPCPY],
3584 [
3585   dnl Persuade glibc <string.h> to declare stpcpy().
3586   AC_REQUIRE([AC_GNU_SOURCE])
3587
3588   AC_REPLACE_FUNCS(stpcpy)
3589   if test $ac_cv_func_stpcpy = no; then
3590     gl_PREREQ_STPCPY
3591   fi
3592 ])
3593
3594 # Prerequisites of lib/stpcpy.c.
3595 AC_DEFUN([gl_PREREQ_STPCPY], [
3596   :
3597 ])
3598
3599
3600 # strcspn.m4 serial 1
3601 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3602 dnl This file is free software, distributed under the terms of the GNU
3603 dnl General Public License.  As a special exception to the GNU General
3604 dnl Public License, this file may be distributed as part of a program
3605 dnl that contains a configuration script generated by Autoconf, under
3606 dnl the same distribution terms as the rest of that program.
3607
3608 AC_DEFUN([gl_FUNC_STRCSPN],
3609 [
3610   AC_REPLACE_FUNCS(strcspn)
3611   if test $ac_cv_func_strcspn = no; then
3612     gl_PREREQ_STRCSPN
3613   fi
3614 ])
3615
3616 # Prerequisites of lib/strcspn.c.
3617 AC_DEFUN([gl_PREREQ_STRCSPN], [
3618   AC_CHECK_HEADERS_ONCE(string.h)
3619 ])
3620
3621 # strdup.m4 serial 1
3622 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3623 dnl This file is free software, distributed under the terms of the GNU
3624 dnl General Public License.  As a special exception to the GNU General
3625 dnl Public License, this file may be distributed as part of a program
3626 dnl that contains a configuration script generated by Autoconf, under
3627 dnl the same distribution terms as the rest of that program.
3628
3629 AC_DEFUN([gl_FUNC_STRDUP],
3630 [
3631   AC_REPLACE_FUNCS(strdup)
3632   if test $ac_cv_func_strdup = no; then
3633     gl_PREREQ_STRDUP
3634   fi
3635 ])
3636
3637 # Prerequisites of lib/strdup.c.
3638 AC_DEFUN([gl_PREREQ_STRDUP], [
3639   AC_REQUIRE([AC_HEADER_STDC])
3640   :
3641 ])
3642
3643
3644 # strndup.m4 serial 1
3645 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3646 dnl This file is free software, distributed under the terms of the GNU
3647 dnl General Public License.  As a special exception to the GNU General
3648 dnl Public License, this file may be distributed as part of a program
3649 dnl that contains a configuration script generated by Autoconf, under
3650 dnl the same distribution terms as the rest of that program.
3651
3652 AC_DEFUN([gl_FUNC_STRNDUP],
3653 [
3654   dnl Persuade glibc <string.h> to declare strndup().
3655   AC_REQUIRE([AC_GNU_SOURCE])
3656
3657   AC_REPLACE_FUNCS(strndup)
3658   if test $ac_cv_func_strndup = no; then
3659     gl_PREREQ_STRNDUP
3660   fi
3661 ])
3662
3663 # Prerequisites of lib/strndup.c.
3664 AC_DEFUN([gl_PREREQ_STRNDUP], [
3665   AC_REQUIRE([AC_HEADER_STDC])
3666   AC_CHECK_DECLS(strnlen)
3667 ])
3668
3669
3670 # strnlen.m4 serial 2
3671 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3672 dnl This file is free software, distributed under the terms of the GNU
3673 dnl General Public License.  As a special exception to the GNU General
3674 dnl Public License, this file may be distributed as part of a program
3675 dnl that contains a configuration script generated by Autoconf, under
3676 dnl the same distribution terms as the rest of that program.
3677
3678 AC_DEFUN([gl_FUNC_STRNLEN],
3679 [
3680   dnl Persuade glibc <string.h> to declare strnlen().
3681   AC_REQUIRE([AC_GNU_SOURCE])
3682
3683   AC_FUNC_STRNLEN
3684   if test $ac_cv_func_strnlen_working = no; then
3685     # This is necessary because automake-1.6.1 doens't understand
3686     # that the above use of AC_FUNC_STRNLEN means we may have to use
3687     # lib/strnlen.c.
3688     #AC_LIBOBJ(strnlen)
3689     AC_DEFINE(strnlen, rpl_strnlen,
3690       [Define to rpl_strnlen if the replacement function should be used.])
3691     gl_PREREQ_STRNLEN
3692   fi
3693 ])
3694
3695 # Prerequisites of lib/strnlen.c.
3696 AC_DEFUN([gl_PREREQ_STRNLEN], [
3697   AC_REQUIRE([AC_HEADER_STDC])
3698   AC_CHECK_HEADERS_ONCE(memory.h string.h)
3699   AC_CHECK_DECLS(memchr)
3700 ])
3701
3702
3703 # strpbrk.m4 serial 1
3704 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3705 dnl This file is free software, distributed under the terms of the GNU
3706 dnl General Public License.  As a special exception to the GNU General
3707 dnl Public License, this file may be distributed as part of a program
3708 dnl that contains a configuration script generated by Autoconf, under
3709 dnl the same distribution terms as the rest of that program.
3710
3711 AC_DEFUN([gl_FUNC_STRPBRK],
3712 [
3713   AC_REPLACE_FUNCS(strpbrk)
3714   if test $ac_cv_func_strpbrk = no; then
3715     gl_PREREQ_STRPBRK
3716   fi
3717 ])
3718
3719 # Prerequisites of lib/strpbrk.c.
3720 AC_DEFUN([gl_PREREQ_STRPBRK], [
3721   AC_CHECK_HEADERS_ONCE(string.h)
3722 ])
3723
3724 # strstr.m4 serial 1
3725 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3726 dnl This file is free software, distributed under the terms of the GNU
3727 dnl General Public License.  As a special exception to the GNU General
3728 dnl Public License, this file may be distributed as part of a program
3729 dnl that contains a configuration script generated by Autoconf, under
3730 dnl the same distribution terms as the rest of that program.
3731
3732 AC_DEFUN([gl_FUNC_STRSTR],
3733 [
3734   AC_REPLACE_FUNCS(strstr)
3735   if test $ac_cv_func_strstr = no; then
3736     gl_PREREQ_STRSTR
3737   fi
3738 ])
3739
3740 # Prerequisites of lib/strstr.c.
3741 AC_DEFUN([gl_PREREQ_STRSTR], [
3742   AC_CHECK_HEADERS_ONCE(string.h)
3743 ])
3744
3745 # strtod.m4 serial 2
3746 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3747 dnl This file is free software, distributed under the terms of the GNU
3748 dnl General Public License.  As a special exception to the GNU General
3749 dnl Public License, this file may be distributed as part of a program
3750 dnl that contains a configuration script generated by Autoconf, under
3751 dnl the same distribution terms as the rest of that program.
3752
3753 AC_DEFUN([gl_FUNC_STRTOD],
3754 [
3755   AC_REQUIRE([AC_FUNC_STRTOD])
3756   if test $ac_cv_func_strtod = no; then
3757     AC_DEFINE(strtod, rpl_strtod,
3758       [Define to rpl_strtod if the replacement function should be used.])
3759     gl_PREREQ_STRTOD
3760   fi
3761 ])
3762
3763 # Prerequisites of lib/strtod.c.
3764 # The need for pow() is already handled by AC_FUNC_STRTOD.
3765 AC_DEFUN([gl_PREREQ_STRTOD], [
3766   AC_REQUIRE([AC_HEADER_STDC])
3767   AC_CHECK_HEADERS(float.h)
3768   AC_CHECK_FUNCS_ONCE(isascii)
3769 ])
3770
3771 # strtoimax.m4 serial 2
3772 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3773 dnl This file is free software, distributed under the terms of the GNU
3774 dnl General Public License.  As a special exception to the GNU General
3775 dnl Public License, this file may be distributed as part of a program
3776 dnl that contains a configuration script generated by Autoconf, under
3777 dnl the same distribution terms as the rest of that program.
3778
3779 AC_DEFUN([gl_FUNC_STRTOIMAX],
3780 [
3781   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
3782   AC_REQUIRE([AC_PROG_CPP])
3783   AC_REQUIRE([AC_PROG_EGREP])
3784
3785   AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
3786     jm_cv_func_strtoimax_macro,
3787     [AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
3788 #ifdef strtoimax
3789  inttypes_h_defines_strtoimax
3790 #endif],
3791        jm_cv_func_strtoimax_macro=yes,
3792        jm_cv_func_strtoimax_macro=no)])
3793
3794   if test "$jm_cv_func_strtoimax_macro" != yes; then
3795     AC_REPLACE_FUNCS(strtoimax)
3796     if test $ac_cv_func_strtoimax = no; then
3797       gl_PREREQ_STRTOIMAX
3798     fi
3799   fi
3800 ])
3801
3802 # Prerequisites of lib/strtoimax.c.
3803 AC_DEFUN([gl_PREREQ_STRTOIMAX], [
3804   jm_AC_TYPE_INTMAX_T
3805   AC_CHECK_HEADERS_ONCE(stdlib.h)
3806   AC_CHECK_DECLS_ONCE(strtol)
3807   AC_CHECK_DECLS(strtoll)
3808   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3809 ])
3810
3811 # intmax_t.m4 serial 2
3812 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
3813 dnl This file is free software, distributed under the terms of the GNU
3814 dnl General Public License.  As a special exception to the GNU General
3815 dnl Public License, this file may be distributed as part of a program
3816 dnl that contains a configuration script generated by Autoconf, under
3817 dnl the same distribution terms as the rest of that program.
3818
3819 dnl From Paul Eggert.
3820
3821 AC_PREREQ(2.13)
3822
3823 # Define intmax_t to 'long' or 'long long'
3824 # if it is not already defined in <stdint.h> or <inttypes.h>.
3825
3826 AC_DEFUN([jm_AC_TYPE_INTMAX_T],
3827 [
3828   dnl For simplicity, we assume that a header file defines 'intmax_t' if and
3829   dnl only if it defines 'uintmax_t'.
3830   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3831   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3832   if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3833     AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3834     test $ac_cv_type_long_long = yes \
3835       && ac_type='long long' \
3836       || ac_type='long'
3837     AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3838      [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
3839   else
3840     AC_DEFINE(HAVE_INTMAX_T, 1,
3841       [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3842   fi
3843 ])
3844
3845 dnl An alternative would be to explicitly test for 'intmax_t'.
3846
3847 AC_DEFUN([gt_AC_TYPE_INTMAX_T],
3848 [
3849   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3850   AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3851   AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
3852     [AC_TRY_COMPILE([
3853 #include <stddef.h>
3854 #include <stdlib.h>
3855 #if HAVE_STDINT_H_WITH_UINTMAX
3856 #include <stdint.h>
3857 #endif
3858 #if HAVE_INTTYPES_H_WITH_UINTMAX
3859 #include <inttypes.h>
3860 #endif
3861 ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
3862   if test $gt_cv_c_intmax_t = yes; then
3863     AC_DEFINE(HAVE_INTMAX_T, 1,
3864       [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3865   else
3866     AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3867     test $ac_cv_type_long_long = yes \
3868       && ac_type='long long' \
3869       || ac_type='long'
3870     AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3871      [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
3872   fi
3873 ])
3874
3875 # longlong.m4 serial 4
3876 dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
3877 dnl This file is free software, distributed under the terms of the GNU
3878 dnl General Public License.  As a special exception to the GNU General
3879 dnl Public License, this file may be distributed as part of a program
3880 dnl that contains a configuration script generated by Autoconf, under
3881 dnl the same distribution terms as the rest of that program.
3882
3883 dnl From Paul Eggert.
3884
3885 # Define HAVE_LONG_LONG if 'long long' works.
3886
3887 AC_DEFUN([jm_AC_TYPE_LONG_LONG],
3888 [
3889   AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
3890   [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
3891     [long long llmax = (long long) -1;
3892      return ll << i | ll >> i | llmax / ll | llmax % ll;],
3893     ac_cv_type_long_long=yes,
3894     ac_cv_type_long_long=no)])
3895   if test $ac_cv_type_long_long = yes; then
3896     AC_DEFINE(HAVE_LONG_LONG, 1,
3897       [Define if you have the 'long long' type.])
3898   fi
3899 ])
3900
3901 # strtoll.m4 serial 1
3902 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3903 dnl This file is free software, distributed under the terms of the GNU
3904 dnl General Public License.  As a special exception to the GNU General
3905 dnl Public License, this file may be distributed as part of a program
3906 dnl that contains a configuration script generated by Autoconf, under
3907 dnl the same distribution terms as the rest of that program.
3908
3909 AC_DEFUN([gl_FUNC_STRTOLL],
3910 [
3911   dnl We don't need (and can't compile) the replacement strtoll
3912   dnl unless the type 'long long' exists.
3913   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3914   if test "$ac_cv_type_long_long" = yes; then
3915     AC_REPLACE_FUNCS(strtoll)
3916     if test $ac_cv_func_strtoll = no; then
3917       gl_PREREQ_STRTOLL
3918     fi
3919   fi
3920 ])
3921
3922 # Prerequisites of lib/strtoll.c.
3923 AC_DEFUN([gl_PREREQ_STRTOLL], [
3924   :
3925 ])
3926
3927
3928 # strtol.m4 serial 1
3929 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3930 dnl This file is free software, distributed under the terms of the GNU
3931 dnl General Public License.  As a special exception to the GNU General
3932 dnl Public License, this file may be distributed as part of a program
3933 dnl that contains a configuration script generated by Autoconf, under
3934 dnl the same distribution terms as the rest of that program.
3935
3936 AC_DEFUN([gl_FUNC_STRTOL],
3937 [
3938   AC_REPLACE_FUNCS(strtol)
3939   if test $ac_cv_func_strtol = no; then
3940     gl_PREREQ_STRTOL
3941   fi
3942 ])
3943
3944 # Prerequisites of lib/strtol.c.
3945 AC_DEFUN([gl_PREREQ_STRTOL], [
3946   AC_REQUIRE([AC_HEADER_STDC])
3947   AC_CHECK_HEADERS_ONCE(limits.h)
3948   AC_CHECK_FUNCS_ONCE(isascii)
3949 ])
3950
3951 # strtoull.m4 serial 1
3952 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3953 dnl This file is free software, distributed under the terms of the GNU
3954 dnl General Public License.  As a special exception to the GNU General
3955 dnl Public License, this file may be distributed as part of a program
3956 dnl that contains a configuration script generated by Autoconf, under
3957 dnl the same distribution terms as the rest of that program.
3958
3959 AC_DEFUN([gl_FUNC_STRTOULL],
3960 [
3961   dnl We don't need (and can't compile) the replacement strtoull
3962   dnl unless the type 'unsigned long long' exists.
3963   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3964   if test "$ac_cv_type_unsigned_long_long" = yes; then
3965     AC_REPLACE_FUNCS(strtoull)
3966     if test $ac_cv_func_strtoull = no; then
3967       gl_PREREQ_STRTOULL
3968     fi
3969   fi
3970 ])
3971
3972 # Prerequisites of lib/strtoull.c.
3973 AC_DEFUN([gl_PREREQ_STRTOULL], [
3974   :
3975 ])
3976
3977
3978 # strtoul.m4 serial 1
3979 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3980 dnl This file is free software, distributed under the terms of the GNU
3981 dnl General Public License.  As a special exception to the GNU General
3982 dnl Public License, this file may be distributed as part of a program
3983 dnl that contains a configuration script generated by Autoconf, under
3984 dnl the same distribution terms as the rest of that program.
3985
3986 AC_DEFUN([gl_FUNC_STRTOUL],
3987 [
3988   AC_REPLACE_FUNCS(strtoul)
3989   if test $ac_cv_func_strtoul = no; then
3990     gl_PREREQ_STRTOUL
3991   fi
3992 ])
3993
3994 # Prerequisites of lib/strtoul.c.
3995 AC_DEFUN([gl_PREREQ_STRTOUL], [
3996   gl_PREREQ_STRTOL
3997 ])
3998
3999 # strtoumax.m4 serial 2
4000 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4001 dnl This file is free software, distributed under the terms of the GNU
4002 dnl General Public License.  As a special exception to the GNU General
4003 dnl Public License, this file may be distributed as part of a program
4004 dnl that contains a configuration script generated by Autoconf, under
4005 dnl the same distribution terms as the rest of that program.
4006
4007 AC_DEFUN([gl_FUNC_STRTOUMAX],
4008 [
4009   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
4010   AC_REQUIRE([AC_PROG_CPP])
4011   AC_REQUIRE([AC_PROG_EGREP])
4012
4013   AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
4014     jm_cv_func_strtoumax_macro,
4015     [AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
4016 #ifdef strtoumax
4017  inttypes_h_defines_strtoumax
4018 #endif],
4019        jm_cv_func_strtoumax_macro=yes,
4020        jm_cv_func_strtoumax_macro=no)])
4021
4022   if test "$jm_cv_func_strtoumax_macro" != yes; then
4023     AC_REPLACE_FUNCS(strtoumax)
4024     if test $ac_cv_func_strtoumax = no; then
4025       gl_PREREQ_STRTOUMAX
4026     fi
4027   fi
4028 ])
4029
4030 # Prerequisites of lib/strtoumax.c.
4031 AC_DEFUN([gl_PREREQ_STRTOUMAX], [
4032   jm_AC_TYPE_UINTMAX_T
4033   AC_CHECK_HEADERS_ONCE(stdlib.h)
4034   AC_CHECK_DECLS_ONCE(strtoul)
4035   AC_CHECK_DECLS(strtoull)
4036   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
4037 ])
4038
4039 # strverscmp.m4 serial 1
4040 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4041 dnl This file is free software, distributed under the terms of the GNU
4042 dnl General Public License.  As a special exception to the GNU General
4043 dnl Public License, this file may be distributed as part of a program
4044 dnl that contains a configuration script generated by Autoconf, under
4045 dnl the same distribution terms as the rest of that program.
4046
4047 AC_DEFUN([gl_FUNC_STRVERSCMP],
4048 [
4049   dnl Persuade glibc <string.h> to declare strverscmp().
4050   AC_REQUIRE([AC_GNU_SOURCE])
4051
4052   AC_REPLACE_FUNCS(strverscmp)
4053   if test $ac_cv_func_strverscmp = no; then
4054     gl_PREREQ_STRVERSCMP
4055   fi
4056 ])
4057
4058 # Prerequisites of lib/strverscmp.c.
4059 AC_DEFUN([gl_PREREQ_STRVERSCMP], [
4060   :
4061 ])
4062
4063
4064 # vasnprintf.m4 serial 2
4065 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4066 dnl This file is free software, distributed under the terms of the GNU
4067 dnl General Public License.  As a special exception to the GNU General
4068 dnl Public License, this file may be distributed as part of a program
4069 dnl that contains a configuration script generated by Autoconf, under
4070 dnl the same distribution terms as the rest of that program.
4071
4072 AC_DEFUN([gl_FUNC_VASNPRINTF],
4073 [
4074   AC_REPLACE_FUNCS(vasnprintf)
4075   if test $ac_cv_func_vasnprintf = no; then
4076     AC_LIBOBJ(printf-args)
4077     AC_LIBOBJ(printf-parse)
4078     AC_LIBOBJ(asnprintf)
4079     gl_PREREQ_PRINTF_ARGS
4080     gl_PREREQ_PRINTF_PARSE
4081     gl_PREREQ_VASNPRINTF
4082     gl_PREREQ_ASNPRINTF
4083   fi
4084 ])
4085
4086 # Prequisites of lib/printf-args.h, lib/printf-args.c.
4087 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
4088 [
4089   AC_REQUIRE([bh_C_SIGNED])
4090   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4091   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4092   AC_REQUIRE([gt_TYPE_WCHAR_T])
4093   AC_REQUIRE([gt_TYPE_WINT_T])
4094 ])
4095
4096 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
4097 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
4098 [
4099   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4100   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4101   AC_REQUIRE([gt_TYPE_WCHAR_T])
4102   AC_REQUIRE([gt_TYPE_WINT_T])
4103   AC_REQUIRE([AC_TYPE_SIZE_T])
4104   AC_CHECK_TYPES(ptrdiff_t)
4105   AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
4106 ])
4107
4108 # Prerequisites of lib/vasnprintf.c.
4109 AC_DEFUN([gl_PREREQ_VASNPRINTF],
4110 [
4111   AC_REQUIRE([AC_FUNC_ALLOCA])
4112   AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4113   AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4114   AC_REQUIRE([gt_TYPE_WCHAR_T])
4115   AC_REQUIRE([gt_TYPE_WINT_T])
4116   AC_CHECK_FUNCS(snprintf wcslen)
4117 ])
4118
4119 # Prerequisites of lib/asnprintf.c.
4120 AC_DEFUN([gl_PREREQ_ASNPRINTF],
4121 [
4122 ])
4123
4124 # signed.m4 serial 1 (gettext-0.10.40)
4125 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4126 dnl This file is free software, distributed under the terms of the GNU
4127 dnl General Public License.  As a special exception to the GNU General
4128 dnl Public License, this file may be distributed as part of a program
4129 dnl that contains a configuration script generated by Autoconf, under
4130 dnl the same distribution terms as the rest of that program.
4131
4132 dnl From Bruno Haible.
4133
4134 AC_DEFUN([bh_C_SIGNED],
4135 [
4136   AC_CACHE_CHECK([for signed], bh_cv_c_signed,
4137    [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
4138   if test $bh_cv_c_signed = no; then
4139     AC_DEFINE(signed, ,
4140               [Define to empty if the C compiler doesn't support this keyword.])
4141   fi
4142 ])
4143
4144 # longdouble.m4 serial 1 (gettext-0.12)
4145 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4146 dnl This file is free software, distributed under the terms of the GNU
4147 dnl General Public License.  As a special exception to the GNU General
4148 dnl Public License, this file may be distributed as part of a program
4149 dnl that contains a configuration script generated by Autoconf, under
4150 dnl the same distribution terms as the rest of that program.
4151
4152 dnl From Bruno Haible.
4153 dnl Test whether the compiler supports the 'long double' type.
4154 dnl Prerequisite: AC_PROG_CC
4155
4156 AC_DEFUN([gt_TYPE_LONGDOUBLE],
4157 [
4158   AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
4159     [if test "$GCC" = yes; then
4160        gt_cv_c_long_double=yes
4161      else
4162        AC_TRY_COMPILE([
4163          /* The Stardent Vistra knows sizeof(long double), but does not support it.  */
4164          long double foo = 0.0;
4165          /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
4166          int array [2*(sizeof(long double) >= sizeof(double)) - 1];
4167          ], ,
4168          gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
4169      fi])
4170   if test $gt_cv_c_long_double = yes; then
4171     AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
4172   fi
4173 ])
4174
4175 # wchar_t.m4 serial 1 (gettext-0.12)
4176 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4177 dnl This file is free software, distributed under the terms of the GNU
4178 dnl General Public License.  As a special exception to the GNU General
4179 dnl Public License, this file may be distributed as part of a program
4180 dnl that contains a configuration script generated by Autoconf, under
4181 dnl the same distribution terms as the rest of that program.
4182
4183 dnl From Bruno Haible.
4184 dnl Test whether <stddef.h> has the 'wchar_t' type.
4185 dnl Prerequisite: AC_PROG_CC
4186
4187 AC_DEFUN([gt_TYPE_WCHAR_T],
4188 [
4189   AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
4190     [AC_TRY_COMPILE([#include <stddef.h>
4191        wchar_t foo = (wchar_t)'\0';], ,
4192        gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
4193   if test $gt_cv_c_wchar_t = yes; then
4194     AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
4195   fi
4196 ])
4197
4198 # wint_t.m4 serial 1 (gettext-0.12)
4199 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4200 dnl This file is free software, distributed under the terms of the GNU
4201 dnl General Public License.  As a special exception to the GNU General
4202 dnl Public License, this file may be distributed as part of a program
4203 dnl that contains a configuration script generated by Autoconf, under
4204 dnl the same distribution terms as the rest of that program.
4205
4206 dnl From Bruno Haible.
4207 dnl Test whether <wchar.h> has the 'wint_t' type.
4208 dnl Prerequisite: AC_PROG_CC
4209
4210 AC_DEFUN([gt_TYPE_WINT_T],
4211 [
4212   AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
4213     [AC_TRY_COMPILE([#include <wchar.h>
4214        wint_t foo = (wchar_t)'\0';], ,
4215        gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
4216   if test $gt_cv_c_wint_t = yes; then
4217     AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
4218   fi
4219 ])
4220
4221 # vasprintf.m4 serial 1
4222 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4223 dnl This file is free software, distributed under the terms of the GNU
4224 dnl General Public License.  As a special exception to the GNU General
4225 dnl Public License, this file may be distributed as part of a program
4226 dnl that contains a configuration script generated by Autoconf, under
4227 dnl the same distribution terms as the rest of that program.
4228
4229 AC_DEFUN([gl_FUNC_VASPRINTF],
4230 [
4231   AC_REPLACE_FUNCS(vasprintf)
4232   if test $ac_cv_func_vasprintf = no; then
4233     AC_LIBOBJ(asprintf)
4234     gl_PREREQ_VASPRINTF
4235     gl_PREREQ_ASPRINTF
4236   fi
4237 ])
4238
4239 # Prerequisites of lib/vasprintf.c.
4240 AC_DEFUN([gl_PREREQ_VASPRINTF],
4241 [
4242 ])
4243
4244 # Prerequisites of lib/asprintf.c.
4245 AC_DEFUN([gl_PREREQ_ASPRINTF],
4246 [
4247 ])
4248
4249 # getdate.m4 serial 1
4250 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4251 dnl This file is free software, distributed under the terms of the GNU
4252 dnl General Public License.  As a special exception to the GNU General
4253 dnl Public License, this file may be distributed as part of a program
4254 dnl that contains a configuration script generated by Autoconf, under
4255 dnl the same distribution terms as the rest of that program.
4256
4257 AC_DEFUN([gl_GETDATE],
4258 [
4259   dnl Prerequisites of lib/getdate.h.
4260   AC_HEADER_TIME
4261   AC_CHECK_HEADERS_ONCE(sys/time.h)
4262
4263   dnl Prerequisites of lib/getdate.y.
4264   AC_REQUIRE([jm_BISON])
4265   AC_REQUIRE([AC_FUNC_ALLOCA])
4266   AC_REQUIRE([AC_HEADER_STDC])
4267   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
4268   AC_CHECK_FUNCS_ONCE(isascii)
4269   AC_STRUCT_TIMEZONE
4270   AC_REQUIRE([gl_TM_GMTOFF])
4271 ])
4272
4273 #serial 2
4274
4275 AC_DEFUN([jm_BISON],
4276 [
4277   # getdate.y works with bison only.
4278   : ${YACC='bison -y'}
4279   AC_SUBST(YACC)
4280 ])
4281
4282 # tm_gmtoff.m4 serial 1
4283 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4284 dnl This file is free software, distributed under the terms of the GNU
4285 dnl General Public License.  As a special exception to the GNU General
4286 dnl Public License, this file may be distributed as part of a program
4287 dnl that contains a configuration script generated by Autoconf, under
4288 dnl the same distribution terms as the rest of that program.
4289
4290 AC_DEFUN([gl_TM_GMTOFF],
4291 [
4292  AC_CHECK_MEMBER([struct tm.tm_gmtoff],
4293                  [AC_DEFINE(HAVE_TM_GMTOFF, 1,
4294                             [Define if struct tm has the tm_gmtoff member.])],
4295                  ,
4296                  [#include <time.h>])
4297 ])
4298
4299 # getopt.m4 serial 1
4300 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4301 dnl This file is free software, distributed under the terms of the GNU
4302 dnl General Public License.  As a special exception to the GNU General
4303 dnl Public License, this file may be distributed as part of a program
4304 dnl that contains a configuration script generated by Autoconf, under
4305 dnl the same distribution terms as the rest of that program.
4306
4307 AC_DEFUN([gl_GETOPT],
4308 [
4309   dnl Prerequisites of lib/getopt.c.
4310   AC_CHECK_HEADERS_ONCE(string.h)
4311 ])
4312
4313 # getpagesize.m4 serial 1
4314 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4315 dnl This file is free software, distributed under the terms of the GNU
4316 dnl General Public License.  As a special exception to the GNU General
4317 dnl Public License, this file may be distributed as part of a program
4318 dnl that contains a configuration script generated by Autoconf, under
4319 dnl the same distribution terms as the rest of that program.
4320
4321 AC_DEFUN([gl_GETPAGESIZE],
4322 [
4323   dnl Prerequisites of lib/getpagesize.h.
4324   AC_CHECK_HEADERS_ONCE(unistd.h)
4325   AC_CHECK_HEADERS(OS.h)
4326   AC_CHECK_FUNCS(getpagesize)
4327 ])
4328
4329 # hard-locale.m4 serial 1
4330 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4331 dnl This file is free software, distributed under the terms of the GNU
4332 dnl General Public License.  As a special exception to the GNU General
4333 dnl Public License, this file may be distributed as part of a program
4334 dnl that contains a configuration script generated by Autoconf, under
4335 dnl the same distribution terms as the rest of that program.
4336
4337 AC_DEFUN([gl_HARD_LOCALE],
4338 [
4339   dnl Prerequisites of lib/hard-locale.c.
4340   AC_CHECK_HEADERS_ONCE(locale.h stdlib.h string.h)
4341   AC_CHECK_FUNCS_ONCE(setlocale)
4342 ])
4343
4344 # hash.m4 serial 2
4345 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4346 dnl This file is free software, distributed under the terms of the GNU
4347 dnl General Public License.  As a special exception to the GNU General
4348 dnl Public License, this file may be distributed as part of a program
4349 dnl that contains a configuration script generated by Autoconf, under
4350 dnl the same distribution terms as the rest of that program.
4351
4352 AC_DEFUN([gl_HASH],
4353 [
4354   dnl Prerequisites of lib/hash.c.
4355   AC_REQUIRE([AM_STDBOOL_H])
4356   AC_CHECK_HEADERS_ONCE(stdlib.h)
4357   AC_CHECK_DECLS_ONCE(free malloc)
4358 ])
4359
4360 # human.m4 serial 3
4361 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4362 dnl This file is free software, distributed under the terms of the GNU
4363 dnl General Public License.  As a special exception to the GNU General
4364 dnl Public License, this file may be distributed as part of a program
4365 dnl that contains a configuration script generated by Autoconf, under
4366 dnl the same distribution terms as the rest of that program.
4367
4368 AC_DEFUN([gl_HUMAN],
4369 [
4370   dnl Prerequisites of lib/human.h.
4371   AC_REQUIRE([AM_STDBOOL_H])
4372   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
4373
4374   dnl Prerequisites of lib/human.c.
4375   AC_CHECK_HEADERS_ONCE(locale.h stdlib.h string.h)
4376   AC_CHECK_DECLS_ONCE(getenv)
4377   AC_CHECK_FUNCS_ONCE(localeconv)
4378 ])
4379
4380 #serial 9
4381
4382 dnl autoconf tests required for use of mbswidth.c
4383 dnl From Bruno Haible.
4384
4385 AC_DEFUN([gl_MBSWIDTH],
4386 [
4387   AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
4388   AC_CHECK_FUNCS_ONCE(isascii iswprint mbsinit)
4389   AC_CHECK_FUNCS(iswcntrl wcwidth)
4390   jm_FUNC_MBRTOWC
4391
4392   AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
4393     [AC_TRY_COMPILE([
4394 /* AIX 3.2.5 declares wcwidth in <string.h>. */
4395 #if HAVE_STRING_H
4396 # include <string.h>
4397 #endif
4398 #if HAVE_WCHAR_H
4399 # include <wchar.h>
4400 #endif
4401 ], [
4402 #ifndef wcwidth
4403   char *p = (char *) wcwidth;
4404 #endif
4405 ], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
4406   if test $ac_cv_have_decl_wcwidth = yes; then
4407     ac_val=1
4408   else
4409     ac_val=0
4410   fi
4411   AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
4412     [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
4413
4414   AC_TYPE_MBSTATE_T
4415 ])
4416
4417 # mbrtowc.m4 serial 5
4418 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4419 dnl This file is free software, distributed under the terms of the GNU
4420 dnl General Public License.  As a special exception to the GNU General
4421 dnl Public License, this file may be distributed as part of a program
4422 dnl that contains a configuration script generated by Autoconf, under
4423 dnl the same distribution terms as the rest of that program.
4424
4425 dnl From Paul Eggert
4426
4427 dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with
4428 dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere.
4429
4430 AC_DEFUN([jm_FUNC_MBRTOWC],
4431 [
4432   AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
4433     jm_cv_func_mbrtowc,
4434     [AC_TRY_LINK(
4435        [#include <wchar.h>],
4436        [mbstate_t state; return ! (sizeof state && mbrtowc);],
4437        jm_cv_func_mbrtowc=yes,
4438        jm_cv_func_mbrtowc=no)])
4439   if test $jm_cv_func_mbrtowc = yes; then
4440     AC_DEFINE(HAVE_MBRTOWC, 1,
4441       [Define to 1 if mbrtowc and mbstate_t are properly declared.])
4442   fi
4443 ])
4444
4445 # memcoll.m4 serial 2
4446 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4447 dnl This file is free software, distributed under the terms of the GNU
4448 dnl General Public License.  As a special exception to the GNU General
4449 dnl Public License, this file may be distributed as part of a program
4450 dnl that contains a configuration script generated by Autoconf, under
4451 dnl the same distribution terms as the rest of that program.
4452
4453 AC_DEFUN([gl_MEMCOLL],
4454 [
4455   dnl Prerequisites of lib/memcoll.c.
4456   AC_REQUIRE([AC_FUNC_MEMCMP])
4457   AC_CHECK_HEADERS_ONCE(string.h)
4458   AC_FUNC_STRCOLL
4459 ])
4460
4461 # modechange.m4 serial 1
4462 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4463 dnl This file is free software, distributed under the terms of the GNU
4464 dnl General Public License.  As a special exception to the GNU General
4465 dnl Public License, this file may be distributed as part of a program
4466 dnl that contains a configuration script generated by Autoconf, under
4467 dnl the same distribution terms as the rest of that program.
4468
4469 AC_DEFUN([gl_MODECHANGE],
4470 [
4471   AC_REQUIRE([AC_HEADER_STDC])
4472   AC_REQUIRE([AC_HEADER_STAT])
4473 ])
4474
4475 # mountlist.m4 serial 1
4476 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4477 dnl This file is free software, distributed under the terms of the GNU
4478 dnl General Public License.  As a special exception to the GNU General
4479 dnl Public License, this file may be distributed as part of a program
4480 dnl that contains a configuration script generated by Autoconf, under
4481 dnl the same distribution terms as the rest of that program.
4482
4483 AC_DEFUN([gl_MOUNTLIST],
4484 [
4485   jm_LIST_MOUNTED_FILESYSTEMS([gl_cv_list_mounted_fs=yes],
4486                               [gl_cv_list_mounted_fs=no])
4487   if test $gl_cv_list_mounted_fs = yes; then
4488     AC_LIBOBJ(mountlist)
4489     gl_PREREQ_MOUNTLIST_EXTRA
4490   fi
4491 ])
4492
4493 # Prerequisites of lib/mountlist.c not done by jm_LIST_MOUNTED_FILESYSTEMS.
4494 AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA],
4495 [
4496   AC_REQUIRE([AC_HEADER_STDC])
4497   dnl Note jm_LIST_MOUNTED_FILESYSTEMS checks for mntent.h, not sys/mntent.h.
4498   AC_CHECK_HEADERS_ONCE(fcntl.h string.h unistd.h)
4499   AC_CHECK_HEADERS(sys/mntent.h)
4500   jm_FSTYPENAME
4501 ])
4502
4503 #serial 13
4504
4505 dnl From Jim Meyering.
4506 dnl
4507 dnl This is not pretty.  I've just taken the autoconf code and wrapped
4508 dnl it in an AC_DEFUN.
4509 dnl
4510
4511 # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
4512 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
4513   [
4514 AC_CHECK_FUNCS(listmntent getmntinfo)
4515 AC_CHECK_HEADERS_ONCE(sys/param.h)
4516 AC_CHECK_HEADERS(mntent.h sys/ucred.h sys/mount.h sys/fs_types.h)
4517     getfsstat_includes="\
4518 $ac_includes_default
4519 #if HAVE_SYS_PARAM_H
4520 # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
4521 #endif
4522 #if HAVE_SYS_UCRED_H
4523 # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
4524 #endif
4525 #if HAVE_SYS_MOUNT_H
4526 # include <sys/mount.h>
4527 #endif
4528 #if HAVE_SYS_FS_TYPES_H
4529 # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
4530 #endif
4531 "
4532 AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
4533
4534 # Determine how to get the list of mounted filesystems.
4535 ac_list_mounted_fs=
4536
4537 # If the getmntent function is available but not in the standard library,
4538 # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
4539 AC_FUNC_GETMNTENT
4540
4541 # This test must precede the ones for getmntent because Unicos-9 is
4542 # reported to have the getmntent function, but its support is incompatible
4543 # with other getmntent implementations.
4544
4545 # NOTE: Normally, I wouldn't use a check for system type as I've done for
4546 # `CRAY' below since that goes against the whole autoconf philosophy.  But
4547 # I think there is too great a chance that some non-Cray system has a
4548 # function named listmntent to risk the false positive.
4549
4550 if test -z "$ac_list_mounted_fs"; then
4551   # Cray UNICOS 9
4552   AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
4553   AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
4554     [fu_cv_sys_mounted_cray_listmntent=no
4555       AC_EGREP_CPP(yes,
4556         [#ifdef _CRAY
4557 yes
4558 #endif
4559         ], [test $ac_cv_func_listmntent = yes \
4560             && fu_cv_sys_mounted_cray_listmntent=yes]
4561       )
4562     ]
4563   )
4564   AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
4565   if test $fu_cv_sys_mounted_cray_listmntent = yes; then
4566     ac_list_mounted_fs=found
4567     AC_DEFINE(MOUNTED_LISTMNTENT, 1,
4568       [Define if there is a function named listmntent that can be used to
4569        list all mounted filesystems. (UNICOS)])
4570   fi
4571 fi
4572
4573 if test -z "$ac_list_mounted_fs"; then
4574   # AIX.
4575   AC_MSG_CHECKING([for mntctl function and struct vmount])
4576   AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
4577   [AC_TRY_CPP([#include <fshelp.h>],
4578     fu_cv_sys_mounted_vmount=yes,
4579     fu_cv_sys_mounted_vmount=no)])
4580   AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
4581   if test $fu_cv_sys_mounted_vmount = yes; then
4582     ac_list_mounted_fs=found
4583     AC_DEFINE(MOUNTED_VMOUNT, 1,
4584         [Define if there is a function named mntctl that can be used to read
4585          the list of mounted filesystems, and there is a system header file
4586          that declares `struct vmount.'  (AIX)])
4587   fi
4588 fi
4589
4590 if test $ac_cv_func_getmntent = yes; then
4591
4592   # This system has the getmntent function.
4593   # Determine whether it's the one-argument variant or the two-argument one.
4594
4595   if test -z "$ac_list_mounted_fs"; then
4596     # 4.3BSD, SunOS, HP-UX, Dynix, Irix
4597     AC_MSG_CHECKING([for one-argument getmntent function])
4598     AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
4599                  [AC_TRY_COMPILE([
4600 /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
4601 #include <stdio.h>
4602
4603 #include <mntent.h>
4604 #if !defined MOUNTED
4605 # if defined _PATH_MOUNTED      /* GNU libc  */
4606 #  define MOUNTED _PATH_MOUNTED
4607 # endif
4608 # if defined MNT_MNTTAB /* HP-UX.  */
4609 #  define MOUNTED MNT_MNTTAB
4610 # endif
4611 # if defined MNTTABNAME /* Dynix.  */
4612 #  define MOUNTED MNTTABNAME
4613 # endif
4614 #endif
4615 ],
4616                     [ struct mntent *mnt = 0; char *table = MOUNTED; ],
4617                     fu_cv_sys_mounted_getmntent1=yes,
4618                     fu_cv_sys_mounted_getmntent1=no)])
4619     AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
4620     if test $fu_cv_sys_mounted_getmntent1 = yes; then
4621       ac_list_mounted_fs=found
4622       AC_DEFINE(MOUNTED_GETMNTENT1, 1,
4623         [Define if there is a function named getmntent for reading the list
4624          of mounted filesystems, and that function takes a single argument.
4625          (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
4626     fi
4627   fi
4628
4629   if test -z "$ac_list_mounted_fs"; then
4630     # SVR4
4631     AC_MSG_CHECKING([for two-argument getmntent function])
4632     AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
4633     [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
4634       fu_cv_sys_mounted_getmntent2=yes,
4635       fu_cv_sys_mounted_getmntent2=no)])
4636     AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
4637     if test $fu_cv_sys_mounted_getmntent2 = yes; then
4638       ac_list_mounted_fs=found
4639       AC_DEFINE(MOUNTED_GETMNTENT2, 1,
4640         [Define if there is a function named getmntent for reading the list of
4641          mounted filesystems, and that function takes two arguments.  (SVR4)])
4642     fi
4643   fi
4644
4645 fi
4646
4647 if test -z "$ac_list_mounted_fs"; then
4648   # DEC Alpha running OSF/1, and Apple Darwin 1.3.
4649   # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
4650
4651   AC_MSG_CHECKING([for getfsstat function])
4652   AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
4653   [AC_TRY_LINK([
4654 #include <sys/types.h>
4655 #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
4656 # define FS_TYPE(Ent) ((Ent).f_fstypename)
4657 #else
4658 # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
4659 #endif
4660 ]$getfsstat_includes
4661 ,
4662   [struct statfs *stats;
4663    int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
4664    char *t = FS_TYPE (*stats); ],
4665     fu_cv_sys_mounted_getfsstat=yes,
4666     fu_cv_sys_mounted_getfsstat=no)])
4667   AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
4668   if test $fu_cv_sys_mounted_getfsstat = yes; then
4669     ac_list_mounted_fs=found
4670     AC_DEFINE(MOUNTED_GETFSSTAT, 1,
4671               [Define if there is a function named getfsstat for reading the
4672                list of mounted filesystems.  (DEC Alpha running OSF/1)])
4673   fi
4674 fi
4675
4676 if test -z "$ac_list_mounted_fs"; then
4677   # SVR3
4678   AC_MSG_CHECKING([for FIXME existence of three headers])
4679   AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
4680     [AC_TRY_CPP([
4681 #include <sys/statfs.h>
4682 #include <sys/fstyp.h>
4683 #include <mnttab.h>],
4684                 fu_cv_sys_mounted_fread_fstyp=yes,
4685                 fu_cv_sys_mounted_fread_fstyp=no)])
4686   AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
4687   if test $fu_cv_sys_mounted_fread_fstyp = yes; then
4688     ac_list_mounted_fs=found
4689     AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
4690       [Define if (like SVR2) there is no specific function for reading the
4691        list of mounted filesystems, and your system has these header files:
4692        <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
4693   fi
4694 fi
4695
4696 if test -z "$ac_list_mounted_fs"; then
4697   # 4.4BSD and DEC OSF/1.
4698   AC_MSG_CHECKING([for getmntinfo function])
4699   AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
4700     [
4701       test "$ac_cv_func_getmntinfo" = yes \
4702           && fu_cv_sys_mounted_getmntinfo=yes \
4703           || fu_cv_sys_mounted_getmntinfo=no
4704     ])
4705   AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
4706   if test $fu_cv_sys_mounted_getmntinfo = yes; then
4707     ac_list_mounted_fs=found
4708     AC_DEFINE(MOUNTED_GETMNTINFO, 1,
4709               [Define if there is a function named getmntinfo for reading the
4710                list of mounted filesystems.  (4.4BSD, Darwin)])
4711   fi
4712 fi
4713
4714 if test -z "$ac_list_mounted_fs"; then
4715   # Ultrix
4716   AC_MSG_CHECKING([for getmnt function])
4717   AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
4718     [AC_TRY_CPP([
4719 #include <sys/fs_types.h>
4720 #include <sys/mount.h>],
4721                 fu_cv_sys_mounted_getmnt=yes,
4722                 fu_cv_sys_mounted_getmnt=no)])
4723   AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
4724   if test $fu_cv_sys_mounted_getmnt = yes; then
4725     ac_list_mounted_fs=found
4726     AC_DEFINE(MOUNTED_GETMNT, 1,
4727       [Define if there is a function named getmnt for reading the list of
4728        mounted filesystems.  (Ultrix)])
4729   fi
4730 fi
4731
4732 if test -z "$ac_list_mounted_fs"; then
4733   # BeOS
4734   AC_CHECK_FUNCS(next_dev fs_stat_dev)
4735   AC_CHECK_HEADERS(fs_info.h)
4736   AC_MSG_CHECKING([for BEOS mounted file system support functions])
4737   if test $ac_cv_header_fs_info_h = yes \
4738       && test $ac_cv_func_next_dev = yes \
4739         && test $ac_cv_func_fs_stat_dev = yes; then
4740     fu_result=yes
4741   else
4742     fu_result=no
4743   fi
4744   AC_MSG_RESULT($fu_result)
4745   if test $fu_result = yes; then
4746     ac_list_mounted_fs=found
4747     AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
4748       [Define if there are functions named next_dev and fs_stat_dev for
4749        reading the list of mounted filesystems.  (BeOS)])
4750   fi
4751 fi
4752
4753 if test -z "$ac_list_mounted_fs"; then
4754   # SVR2
4755   AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
4756   AC_CACHE_VAL(fu_cv_sys_mounted_fread,
4757     [AC_TRY_CPP([#include <mnttab.h>],
4758                 fu_cv_sys_mounted_fread=yes,
4759                 fu_cv_sys_mounted_fread=no)])
4760   AC_MSG_RESULT($fu_cv_sys_mounted_fread)
4761   if test $fu_cv_sys_mounted_fread = yes; then
4762     ac_list_mounted_fs=found
4763     AC_DEFINE(MOUNTED_FREAD, 1,
4764               [Define if there is no specific function for reading the list of
4765                mounted filesystems.  fread will be used to read /etc/mnttab.
4766                (SVR2) ])
4767   fi
4768 fi
4769
4770 if test -z "$ac_list_mounted_fs"; then
4771   AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
4772   # FIXME -- no need to abort building the whole package
4773   # Can't build mountlist.c or anything that needs its functions
4774 fi
4775
4776 AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
4777
4778   ])
4779
4780 #serial 3
4781
4782 dnl From Jim Meyering.
4783 dnl
4784 dnl See if struct statfs has the f_fstypename member.
4785 dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
4786 dnl
4787
4788 AC_DEFUN([jm_FSTYPENAME],
4789   [
4790     AC_CACHE_CHECK([for f_fstypename in struct statfs],
4791                    fu_cv_sys_f_fstypename_in_statfs,
4792       [
4793         AC_TRY_COMPILE(
4794           [
4795 #include <sys/param.h>
4796 #include <sys/types.h>
4797 #include <sys/mount.h>
4798           ],
4799           [struct statfs s; int i = sizeof s.f_fstypename;],
4800           fu_cv_sys_f_fstypename_in_statfs=yes,
4801           fu_cv_sys_f_fstypename_in_statfs=no
4802         )
4803       ]
4804     )
4805
4806     if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
4807       AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
4808                 [Define if struct statfs has the f_fstypename member.])
4809     fi
4810   ]
4811 )
4812
4813 # obstack.m4 serial 1
4814 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4815 dnl This file is free software, distributed under the terms of the GNU
4816 dnl General Public License.  As a special exception to the GNU General
4817 dnl Public License, this file may be distributed as part of a program
4818 dnl that contains a configuration script generated by Autoconf, under
4819 dnl the same distribution terms as the rest of that program.
4820
4821 AC_DEFUN([gl_OBSTACK],
4822 [
4823   dnl Prerequisites of lib/obstack.h.
4824   AC_CHECK_HEADERS_ONCE(stddef.h string.h)
4825
4826   AC_FUNC_OBSTACK
4827   dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]).
4828   if test $ac_cv_func_obstack = no; then
4829     gl_PREREQ_OBSTACK
4830   fi
4831 ])
4832
4833 # Prerequisites of lib/obstack.c.
4834 AC_DEFUN([gl_PREREQ_OBSTACK], [
4835   AC_CHECK_HEADERS_ONCE(stdlib.h)
4836 ])
4837
4838 # pathmax.m4 serial 2
4839 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4840 dnl This file is free software, distributed under the terms of the GNU
4841 dnl General Public License.  As a special exception to the GNU General
4842 dnl Public License, this file may be distributed as part of a program
4843 dnl that contains a configuration script generated by Autoconf, under
4844 dnl the same distribution terms as the rest of that program.
4845
4846 AC_DEFUN([gl_PATHMAX],
4847 [
4848   dnl Prerequisites of lib/pathmax.h.
4849   AC_CHECK_HEADERS_ONCE(sys/param.h unistd.h)
4850 ])
4851
4852 # path-concat.m4 serial 1
4853 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4854 dnl This file is free software, distributed under the terms of the GNU
4855 dnl General Public License.  As a special exception to the GNU General
4856 dnl Public License, this file may be distributed as part of a program
4857 dnl that contains a configuration script generated by Autoconf, under
4858 dnl the same distribution terms as the rest of that program.
4859
4860 AC_DEFUN([gl_PATH_CONCAT],
4861 [
4862   dnl Prerequisites of lib/path-concat.c.
4863   AC_REQUIRE([jm_AC_DOS])
4864   AC_REQUIRE([AC_HEADER_STDC])
4865   AC_CHECK_HEADERS_ONCE(memory.h stdlib.h string.h strings.h unistd.h)
4866   AC_CHECK_FUNCS_ONCE(mempcpy)
4867   AC_CHECK_DECLS_ONCE(malloc)
4868 ])
4869
4870 # physmem.m4 serial 2
4871 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4872 dnl This file is free software, distributed under the terms of the GNU
4873 dnl General Public License.  As a special exception to the GNU General
4874 dnl Public License, this file may be distributed as part of a program
4875 dnl that contains a configuration script generated by Autoconf, under
4876 dnl the same distribution terms as the rest of that program.
4877
4878 # Check for the external symbol, _system_configuration,
4879 # a struct with member `physmem'.
4880 AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION],
4881   [AC_CACHE_CHECK(for external symbol _system_configuration,
4882                   gl_cv_var__system_configuration,
4883     [AC_LINK_IFELSE([AC_LANG_PROGRAM(
4884                       [[#include <sys/systemcfg.h>
4885                       ]],
4886                       [double x = _system_configuration.physmem;])],
4887       [gl_cv_var__system_configuration=yes],
4888       [gl_cv_var__system_configuration=no])])
4889
4890     if test $gl_cv_var__system_configuration = yes; then
4891       AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
4892                 [Define to 1 if you have the external variable,
4893                 _system_configuration with a member named physmem.])
4894     fi
4895   ]
4896 )
4897
4898 AC_DEFUN([gl_PHYSMEM],
4899 [
4900   # Prerequisites of lib/physmem.c.
4901   AC_CHECK_HEADERS_ONCE(unistd.h)
4902   AC_CHECK_HEADERS([sys/pstat.h sys/sysmp.h sys/sysinfo.h \
4903     machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \
4904     sys/systemcfg.h],,, [AC_INCLUDES_DEFAULT])
4905
4906   AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table)
4907   AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION])
4908 ])
4909
4910 # posixtm.m4 serial 1
4911 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4912 dnl This file is free software, distributed under the terms of the GNU
4913 dnl General Public License.  As a special exception to the GNU General
4914 dnl Public License, this file may be distributed as part of a program
4915 dnl that contains a configuration script generated by Autoconf, under
4916 dnl the same distribution terms as the rest of that program.
4917
4918 AC_DEFUN([gl_POSIXTM],
4919 [
4920   dnl Prerequisites of lib/posixtm.c.
4921   AC_STRUCT_TM
4922   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
4923 ])
4924
4925 # posixver.m4 serial 1
4926 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4927 dnl This file is free software, distributed under the terms of the GNU
4928 dnl General Public License.  As a special exception to the GNU General
4929 dnl Public License, this file may be distributed as part of a program
4930 dnl that contains a configuration script generated by Autoconf, under
4931 dnl the same distribution terms as the rest of that program.
4932
4933 AC_DEFUN([gl_POSIXVER],
4934 [
4935   AC_CHECK_HEADERS_ONCE(unistd.h)
4936   AC_CHECK_DECLS_ONCE(getenv)
4937 ])
4938
4939 # quotearg.m4 serial 1
4940 dnl Copyright (C) 2002 Free Software Foundation, Inc.
4941 dnl This file is free software, distributed under the terms of the GNU
4942 dnl General Public License.  As a special exception to the GNU General
4943 dnl Public License, this file may be distributed as part of a program
4944 dnl that contains a configuration script generated by Autoconf, under
4945 dnl the same distribution terms as the rest of that program.
4946
4947 AC_DEFUN([gl_QUOTEARG],
4948 [
4949   dnl Prerequisites of lib/quotearg.c.
4950   AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
4951   AC_CHECK_FUNCS_ONCE(iswprint mbsinit)
4952   AC_TYPE_MBSTATE_T
4953   jm_FUNC_MBRTOWC
4954 ])
4955
4956 # quote.m4 serial 2
4957 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4958 dnl This file is free software, distributed under the terms of the GNU
4959 dnl General Public License.  As a special exception to the GNU General
4960 dnl Public License, this file may be distributed as part of a program
4961 dnl that contains a configuration script generated by Autoconf, under
4962 dnl the same distribution terms as the rest of that program.
4963
4964 AC_DEFUN([gl_QUOTE],
4965 [
4966   dnl Prerequisites of lib/quote.c.
4967   dnl (none)
4968 ])
4969
4970 # readutmp.m4 serial 2
4971 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
4972 dnl This file is free software, distributed under the terms of the GNU
4973 dnl General Public License.  As a special exception to the GNU General
4974 dnl Public License, this file may be distributed as part of a program
4975 dnl that contains a configuration script generated by Autoconf, under
4976 dnl the same distribution terms as the rest of that program.
4977
4978 AC_DEFUN([gl_READUTMP],
4979 [
4980   dnl Prerequisites of lib/readutmp.h.
4981   AC_CHECK_HEADERS_ONCE(sys/param.h)
4982   AC_CHECK_HEADERS(utmp.h utmpx.h)
4983   AC_CHECK_FUNCS(utmpname utmpxname)
4984   AC_CHECK_DECLS(getutent,,,[
4985 #ifdef HAVE_UTMP_H
4986 # include <utmp.h>
4987 #endif
4988 ])
4989   if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
4990     utmp_includes="\
4991 $ac_includes_default
4992 #ifdef HAVE_UTMPX_H
4993 # include <utmpx.h>
4994 #endif
4995 #ifdef HAVE_UTMP_H
4996 # include <utmp.h>
4997 #endif
4998 "
4999     AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
5000     AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
5001     AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
5002     AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
5003     AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
5004     AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
5005     AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
5006     AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
5007     AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
5008     AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
5009     AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes])
5010     AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes])
5011
5012     AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
5013     AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
5014     AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
5015     AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
5016
5017     AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
5018     AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
5019     AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
5020     AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
5021
5022     AC_LIBOBJ(readutmp)
5023     gl_PREREQ_READUTMP
5024   fi
5025 ])
5026
5027 # Prerequisites of lib/readutmp.c.
5028 AC_DEFUN([gl_PREREQ_READUTMP],
5029 [
5030   AC_REQUIRE([AC_HEADER_STDC])
5031   AC_CHECK_HEADERS_ONCE(string.h)
5032 ])
5033
5034 #serial 19
5035
5036 dnl Initially derived from code in GNU grep.
5037 dnl Mostly written by Jim Meyering.
5038
5039 AC_DEFUN([gl_REGEX],
5040 [
5041   jm_INCLUDED_REGEX([lib/regex.c])
5042 ])
5043
5044 dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
5045 dnl
5046 AC_DEFUN([jm_INCLUDED_REGEX],
5047   [
5048     dnl Even packages that don't use regex.c can use this macro.
5049     dnl Of course, for them it doesn't do anything.
5050
5051     # Assume we'll default to using the included regex.c.
5052     ac_use_included_regex=yes
5053
5054     # However, if the system regex support is good enough that it passes the
5055     # the following run test, then default to *not* using the included regex.c.
5056     # If cross compiling, assume the test would fail and use the included
5057     # regex.c.  The first failing regular expression is from `Spencer ere
5058     # test #75' in grep-2.3.
5059     AC_CACHE_CHECK([for working re_compile_pattern],
5060                    jm_cv_func_working_re_compile_pattern,
5061       AC_TRY_RUN(
5062 [#include <stdio.h>
5063 #include <string.h>
5064 #include <regex.h>
5065           int
5066           main ()
5067           {
5068             static struct re_pattern_buffer regex;
5069             const char *s;
5070             struct re_registers regs;
5071             re_set_syntax (RE_SYNTAX_POSIX_EGREP);
5072             memset (&regex, 0, sizeof (regex));
5073             [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, &regex);]
5074             /* This should fail with _Invalid character class name_ error.  */
5075             if (!s)
5076               exit (1);
5077
5078             /* This should succeed, but doesn't for e.g. glibc-2.1.3.  */
5079             memset (&regex, 0, sizeof (regex));
5080             s = re_compile_pattern ("{1", 2, &regex);
5081
5082             if (s)
5083               exit (1);
5084
5085             /* The following example is derived from a problem report
5086                against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>.  */
5087             memset (&regex, 0, sizeof (regex));
5088             s = re_compile_pattern ("[[an\371]]*n", 7, &regex);
5089             if (s)
5090               exit (1);
5091
5092             /* This should match, but doesn't for e.g. glibc-2.2.1.  */
5093             if (re_match (&regex, "an", 2, 0, &regs) != 2)
5094               exit (1);
5095
5096             memset (&regex, 0, sizeof (regex));
5097             s = re_compile_pattern ("x", 1, &regex);
5098             if (s)
5099               exit (1);
5100
5101             /* The version of regex.c in e.g. GNU libc-2.2.93 didn't
5102                work with a negative RANGE argument.  */
5103             if (re_search (&regex, "wxy", 3, 2, -2, &regs) != 1)
5104               exit (1);
5105
5106             exit (0);
5107           }
5108         ],
5109                jm_cv_func_working_re_compile_pattern=yes,
5110                jm_cv_func_working_re_compile_pattern=no,
5111                dnl When crosscompiling, assume it's broken.
5112                jm_cv_func_working_re_compile_pattern=no))
5113     if test $jm_cv_func_working_re_compile_pattern = yes; then
5114       ac_use_included_regex=no
5115     fi
5116
5117     test -n "$1" || AC_MSG_ERROR([missing argument])
5118     m4_syscmd([test -f $1])
5119     ifelse(m4_sysval, 0,
5120       [
5121         AC_ARG_WITH(included-regex,
5122         [  --without-included-regex don't compile regex; this is the default on
5123                           systems with version 2 of the GNU C library
5124                           (use with caution on other system)],
5125                     jm_with_regex=$withval,
5126                     jm_with_regex=$ac_use_included_regex)
5127         if test "$jm_with_regex" = yes; then
5128           AC_LIBOBJ(regex)
5129           jm_PREREQ_REGEX
5130         fi
5131       ],
5132     )
5133   ]
5134 )
5135
5136 # Prerequisites of lib/regex.c.
5137 AC_DEFUN([jm_PREREQ_REGEX],
5138 [
5139   dnl FIXME: Maybe provide a btowc replacement someday: Solaris 2.5.1 lacks it.
5140   dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
5141   dnl to get them.
5142
5143   dnl Persuade glibc <string.h> to declare mempcpy().
5144   AC_REQUIRE([AC_GNU_SOURCE])
5145
5146   AC_REQUIRE([gl_C_RESTRICT])
5147   AC_REQUIRE([AC_FUNC_ALLOCA])
5148   AC_REQUIRE([AC_HEADER_STDC])
5149   AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
5150   AC_CHECK_FUNCS_ONCE(isascii mempcpy)
5151   AC_CHECK_FUNCS(btowc)
5152 ])
5153
5154 #serial 1002
5155 # This macro can be removed once we can rely on Autoconf 2.57a or later,
5156 # since we can then use its AC_C_RESTRICT.
5157
5158 # gl_C_RESTRICT
5159 # --------------
5160 # Determine whether the C/C++ compiler supports the "restrict" keyword
5161 # introduced in ANSI C99, or an equivalent.  Do nothing if the compiler
5162 # accepts it.  Otherwise, if the compiler supports an equivalent,
5163 # define "restrict" to be that.  Here are some variants:
5164 # - GCC supports both __restrict and __restrict__
5165 # - older DEC Alpha C compilers support only __restrict
5166 # - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C
5167 # Otherwise, define "restrict" to be empty.
5168 AC_DEFUN([gl_C_RESTRICT],
5169 [AC_CACHE_CHECK([for C/C++ restrict keyword], gl_cv_c_restrict,
5170   [gl_cv_c_restrict=no
5171    # Try the official restrict keyword, then gcc's __restrict, and
5172    # the less common variants.
5173    for ac_kw in restrict __restrict __restrict__ _Restrict; do
5174      AC_COMPILE_IFELSE([AC_LANG_SOURCE(
5175       [float * $ac_kw x;])],
5176       [gl_cv_c_restrict=$ac_kw; break])
5177    done
5178   ])
5179  case $gl_cv_c_restrict in
5180    restrict) ;;
5181    no) AC_DEFINE(restrict,,
5182         [Define to equivalent of C99 restrict keyword, or to nothing if this
5183         is not supported.  Do not define if restrict is supported directly.]) ;;
5184    *)  AC_DEFINE_UNQUOTED(restrict, $gl_cv_c_restrict) ;;
5185  esac
5186 ])
5187
5188 # safe-read.m4 serial 2
5189 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
5190 dnl This file is free software, distributed under the terms of the GNU
5191 dnl General Public License.  As a special exception to the GNU General
5192 dnl Public License, this file may be distributed as part of a program
5193 dnl that contains a configuration script generated by Autoconf, under
5194 dnl the same distribution terms as the rest of that program.
5195
5196 AC_DEFUN([gl_SAFE_READ],
5197 [
5198   gl_PREREQ_SAFE_READ
5199 ])
5200
5201 # Prerequisites of lib/safe-read.c.
5202 AC_DEFUN([gl_PREREQ_SAFE_READ],
5203 [
5204   AC_REQUIRE([gt_TYPE_SSIZE_T])
5205   AC_CHECK_HEADERS_ONCE(unistd.h)
5206 ])
5207
5208 # safe-write.m4 serial 1
5209 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5210 dnl This file is free software, distributed under the terms of the GNU
5211 dnl General Public License.  As a special exception to the GNU General
5212 dnl Public License, this file may be distributed as part of a program
5213 dnl that contains a configuration script generated by Autoconf, under
5214 dnl the same distribution terms as the rest of that program.
5215
5216 AC_DEFUN([gl_SAFE_WRITE],
5217 [
5218   gl_PREREQ_SAFE_WRITE
5219 ])
5220
5221 # Prerequisites of lib/safe-write.c.
5222 AC_DEFUN([gl_PREREQ_SAFE_WRITE],
5223 [
5224   gl_PREREQ_SAFE_READ
5225 ])
5226
5227 # same.m4 serial 1
5228 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5229 dnl This file is free software, distributed under the terms of the GNU
5230 dnl General Public License.  As a special exception to the GNU General
5231 dnl Public License, this file may be distributed as part of a program
5232 dnl that contains a configuration script generated by Autoconf, under
5233 dnl the same distribution terms as the rest of that program.
5234
5235 AC_DEFUN([gl_SAME],
5236 [
5237   dnl Prerequisites of lib/same.c.
5238   AC_CHECK_HEADERS_ONCE(stdlib.h string.h unistd.h)
5239   AC_CHECK_DECLS_ONCE(free)
5240 ])
5241
5242 # savedir.m4 serial 1
5243 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5244 dnl This file is free software, distributed under the terms of the GNU
5245 dnl General Public License.  As a special exception to the GNU General
5246 dnl Public License, this file may be distributed as part of a program
5247 dnl that contains a configuration script generated by Autoconf, under
5248 dnl the same distribution terms as the rest of that program.
5249
5250 AC_DEFUN([gl_SAVEDIR],
5251 [
5252   dnl Prerequisites of lib/savedir.c.
5253   AC_REQUIRE([AC_HEADER_STDC])
5254   AC_REQUIRE([AC_HEADER_DIRENT])
5255   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
5256 ])
5257
5258 # save-cwd.m4 serial 1
5259 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5260 dnl This file is free software, distributed under the terms of the GNU
5261 dnl General Public License.  As a special exception to the GNU General
5262 dnl Public License, this file may be distributed as part of a program
5263 dnl that contains a configuration script generated by Autoconf, under
5264 dnl the same distribution terms as the rest of that program.
5265
5266 AC_DEFUN([gl_SAVE_CWD],
5267 [
5268   dnl Prerequisites for lib/save-cwd.c.
5269   AC_REQUIRE([AC_HEADER_STDC])
5270   AC_CHECK_HEADERS_ONCE(fcntl.h unistd.h)
5271   AC_CHECK_FUNCS(fchdir)
5272 ])
5273
5274 # settime.m4 serial 1
5275 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5276 dnl This file is free software, distributed under the terms of the GNU
5277 dnl General Public License.  As a special exception to the GNU General
5278 dnl Public License, this file may be distributed as part of a program
5279 dnl that contains a configuration script generated by Autoconf, under
5280 dnl the same distribution terms as the rest of that program.
5281
5282 AC_DEFUN([gl_SETTIME],
5283 [
5284   dnl Prerequisites of lib/settime.c.
5285   # Need clock_settime.
5286   AC_REQUIRE([gl_CLOCK_TIME])
5287 ])
5288
5289 # clock_time.m4 serial 2
5290 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
5291 dnl This file is free software, distributed under the terms of the GNU
5292 dnl General Public License.  As a special exception to the GNU General
5293 dnl Public License, this file may be distributed as part of a program
5294 dnl that contains a configuration script generated by Autoconf, under
5295 dnl the same distribution terms as the rest of that program.
5296
5297 # Check for clock_gettime and clock_settime, and sets LIB_CLOCK_GETTIME.
5298 AC_DEFUN([gl_CLOCK_TIME],
5299 [
5300   # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
5301   # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
5302
5303   # Save and restore LIBS so e.g., -lrt, isn't added to it.  Otherwise, *all*
5304   # programs in the package would end up linked with that potentially-shared
5305   # library, inducing unnecessary run-time overhead.
5306   fetish_saved_libs=$LIBS
5307     AC_SEARCH_LIBS(clock_gettime, [rt posix4],
5308                    [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
5309     AC_SUBST(LIB_CLOCK_GETTIME)
5310     AC_CHECK_FUNCS(clock_gettime clock_settime)
5311   LIBS=$fetish_saved_libs
5312 ])
5313
5314 # sha.m4 serial 1
5315 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5316 dnl This file is free software, distributed under the terms of the GNU
5317 dnl General Public License.  As a special exception to the GNU General
5318 dnl Public License, this file may be distributed as part of a program
5319 dnl that contains a configuration script generated by Autoconf, under
5320 dnl the same distribution terms as the rest of that program.
5321
5322 AC_DEFUN([gl_SHA],
5323 [
5324   dnl Prerequisites of lib/sha.c.
5325   AC_REQUIRE([AC_HEADER_STDC])
5326   AC_CHECK_FUNCS_ONCE(memcpy)
5327 ])
5328
5329 # stdio-safer.m4 serial 1
5330 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5331 dnl This file is free software, distributed under the terms of the GNU
5332 dnl General Public License.  As a special exception to the GNU General
5333 dnl Public License, this file may be distributed as part of a program
5334 dnl that contains a configuration script generated by Autoconf, under
5335 dnl the same distribution terms as the rest of that program.
5336
5337 AC_DEFUN([gl_STDIO_SAFER],
5338 [
5339   dnl Prerequisites of lib/fopen-safer.c.
5340   AC_CHECK_HEADERS_ONCE(unistd.h)
5341 ])
5342
5343 # strcase.m4 serial 1
5344 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5345 dnl This file is free software, distributed under the terms of the GNU
5346 dnl General Public License.  As a special exception to the GNU General
5347 dnl Public License, this file may be distributed as part of a program
5348 dnl that contains a configuration script generated by Autoconf, under
5349 dnl the same distribution terms as the rest of that program.
5350
5351 AC_DEFUN([gl_STRCASE],
5352 [
5353   gl_FUNC_STRCASECMP
5354   gl_FUNC_STRNCASECMP
5355 ])
5356
5357 AC_DEFUN([gl_FUNC_STRCASECMP],
5358 [
5359   AC_REPLACE_FUNCS(strcasecmp)
5360   if test $ac_cv_func_strcasecmp = no; then
5361     gl_PREREQ_STRCASECMP
5362   fi
5363 ])
5364
5365 AC_DEFUN([gl_FUNC_STRNCASECMP],
5366 [
5367   AC_REPLACE_FUNCS(strncasecmp)
5368   if test $ac_cv_func_strncasecmp = no; then
5369     gl_PREREQ_STRNCASECMP
5370   fi
5371 ])
5372
5373 # Prerequisites of lib/strcasecmp.c.
5374 AC_DEFUN([gl_PREREQ_STRCASECMP], [
5375   :
5376 ])
5377
5378 # Prerequisites of lib/strncasecmp.c.
5379 AC_DEFUN([gl_PREREQ_STRNCASECMP], [
5380   :
5381 ])
5382
5383 #serial 7
5384
5385 dnl From Jim Meyering
5386
5387 AC_DEFUN([gl_TIMESPEC],
5388 [
5389   dnl Prerequisites of lib/timespec.h.
5390   AC_REQUIRE([AC_HEADER_TIME])
5391   AC_CHECK_HEADERS_ONCE(sys/time.h)
5392   jm_CHECK_TYPE_STRUCT_TIMESPEC
5393   AC_STRUCT_ST_MTIM_NSEC
5394
5395   dnl Persuade glibc <time.h> to declare nanosleep().
5396   AC_REQUIRE([AC_GNU_SOURCE])
5397
5398   AC_CHECK_DECLS(nanosleep, , , [#include <time.h>])
5399 ])
5400
5401 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
5402 dnl in time.h or sys/time.h.
5403
5404 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
5405 [
5406   dnl Persuade pedantic Solaris to declare struct timespec.
5407   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
5408
5409   AC_REQUIRE([AC_HEADER_TIME])
5410   AC_CHECK_HEADERS_ONCE(sys/time.h)
5411   AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
5412     [AC_TRY_COMPILE(
5413       [
5414 #      if TIME_WITH_SYS_TIME
5415 #       include <sys/time.h>
5416 #       include <time.h>
5417 #      else
5418 #       if HAVE_SYS_TIME_H
5419 #        include <sys/time.h>
5420 #       else
5421 #        include <time.h>
5422 #       endif
5423 #      endif
5424       ],
5425       [static struct timespec x; x.tv_sec = x.tv_nsec;],
5426       fu_cv_sys_struct_timespec=yes,
5427       fu_cv_sys_struct_timespec=no)
5428     ])
5429
5430   if test $fu_cv_sys_struct_timespec = yes; then
5431     AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
5432               [Define if struct timespec is declared in <time.h>. ])
5433   fi
5434 ])
5435
5436 #serial 6
5437
5438 dnl From Paul Eggert.
5439
5440 # Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
5441 # if it exists.
5442
5443 AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
5444  [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
5445    ac_cv_struct_st_mtim_nsec,
5446    [ac_save_CPPFLAGS="$CPPFLAGS"
5447     ac_cv_struct_st_mtim_nsec=no
5448     # tv_nsec -- the usual case
5449     # _tv_nsec -- Solaris 2.6, if
5450     #   (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
5451     #    && !defined __EXTENSIONS__)
5452     # st__tim.tv_nsec -- UnixWare 2.1.2
5453     for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
5454       CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
5455       AC_TRY_COMPILE([#include <sys/types.h>
5456 #include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
5457         [ac_cv_struct_st_mtim_nsec=$ac_val; break])
5458     done
5459     CPPFLAGS="$ac_save_CPPFLAGS"])
5460
5461   if test $ac_cv_struct_st_mtim_nsec != no; then
5462     AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
5463       [Define to be the nanoseconds member of struct stat's st_mtim,
5464        if it exists.])
5465   fi
5466  ]
5467 )
5468
5469 # unicodeio.m4 serial 1
5470 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5471 dnl This file is free software, distributed under the terms of the GNU
5472 dnl General Public License.  As a special exception to the GNU General
5473 dnl Public License, this file may be distributed as part of a program
5474 dnl that contains a configuration script generated by Autoconf, under
5475 dnl the same distribution terms as the rest of that program.
5476
5477 AC_DEFUN([gl_UNICODEIO],
5478 [
5479   dnl Prerequisites of lib/unicodeio.c.
5480   AC_CHECK_HEADERS_ONCE(string.h)
5481 ])
5482
5483 # unistd-safer.m4 serial 1
5484 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5485 dnl This file is free software, distributed under the terms of the GNU
5486 dnl General Public License.  As a special exception to the GNU General
5487 dnl Public License, this file may be distributed as part of a program
5488 dnl that contains a configuration script generated by Autoconf, under
5489 dnl the same distribution terms as the rest of that program.
5490
5491 AC_DEFUN([gl_UNISTD_SAFER],
5492 [
5493   gl_PREREQ_DUP_SAFER
5494 ])
5495
5496 # Prerequisites of lib/dup-safer.c.
5497 AC_DEFUN([gl_PREREQ_DUP_SAFER], [
5498   AC_CHECK_HEADERS_ONCE(fcntl.h unistd.h)
5499 ])
5500
5501 # userspec.m4 serial 2
5502 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
5503 dnl This file is free software, distributed under the terms of the GNU
5504 dnl General Public License.  As a special exception to the GNU General
5505 dnl Public License, this file may be distributed as part of a program
5506 dnl that contains a configuration script generated by Autoconf, under
5507 dnl the same distribution terms as the rest of that program.
5508
5509 AC_DEFUN([gl_USERSPEC],
5510 [
5511   dnl Prerequisites of lib/userspec.c.
5512   AC_REQUIRE([AC_HEADER_STDC])
5513   AC_REQUIRE([AC_FUNC_ALLOCA])
5514   AC_CHECK_HEADERS_ONCE(string.h sys/param.h unistd.h)
5515 ])
5516
5517 dnl Copyright (C) 2003 Free Software Foundation, Inc.
5518 dnl This file is free software, distributed under the terms of the GNU
5519 dnl General Public License.  As a special exception to the GNU General
5520 dnl Public License, this file may be distributed as part of a program
5521 dnl that contains a configuration script generated by Autoconf, under
5522 dnl the same distribution terms as the rest of that program.
5523
5524 AC_DEFUN([gl_UTIMENS],
5525 [
5526   dnl Prerequisites of lib/utimens.c.
5527   AC_REQUIRE([gl_TIMESPEC])
5528   AC_REQUIRE([gl_FUNC_UTIMES])
5529   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
5530   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
5531 ])
5532
5533 # See if we need to work around bugs in glibc's implementation of
5534 # utimes from around July/August 2003.
5535 # First, there was a bug that would make utimes set mtime
5536 # and atime to zero (1970-01-01) unconditionally.
5537 # Then, there is/was code to round rather than truncate.
5538 #
5539 # From Jim Meyering, with suggestions from Paul Eggert.
5540
5541 AC_DEFUN([gl_FUNC_UTIMES],
5542 [
5543   AC_CACHE_CHECK([determine whether the utimes function works],
5544                  gl_cv_func_working_utimes,
5545   [
5546   AC_RUN_IFELSE([AC_LANG_SOURCE([[
5547 #include <sys/types.h>
5548 #include <sys/stat.h>
5549 #include <sys/time.h>
5550 #include <unistd.h>
5551 #include <stdlib.h>
5552 #include <stdio.h>
5553 #include <utime.h>
5554
5555 int
5556 main ()
5557 {
5558   static struct timeval timeval[2] = {{9, 10}, {999999, 999999}};
5559   struct stat sbuf;
5560   char const *file = "conftest.utimes";
5561   FILE *f;
5562
5563   exit ( ! ((f = fopen (file, "w"))
5564             && fclose (f) == 0
5565             && utimes (file, timeval) == 0
5566             && lstat (file, &sbuf) == 0
5567             && sbuf.st_atime == timeval[0].tv_sec
5568             && sbuf.st_mtime == timeval[1].tv_sec) );
5569 }
5570   ]])],
5571        [gl_cv_func_working_utimes=yes],
5572        [gl_cv_func_working_utimes=no],
5573        [gl_cv_func_working_utimes=no])])
5574
5575   if test $gl_cv_func_working_utimes = yes; then
5576     AC_DEFINE([HAVE_WORKING_UTIMES], 1, [Define if utimes works properly. ])
5577   fi
5578 ])
5579
5580 # xalloc.m4 serial 1
5581 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5582 dnl This file is free software, distributed under the terms of the GNU
5583 dnl General Public License.  As a special exception to the GNU General
5584 dnl Public License, this file may be distributed as part of a program
5585 dnl that contains a configuration script generated by Autoconf, under
5586 dnl the same distribution terms as the rest of that program.
5587
5588 AC_DEFUN([gl_XALLOC],
5589 [
5590   gl_PREREQ_XMALLOC
5591   gl_PREREQ_XSTRDUP
5592 ])
5593
5594 # Prerequisites of lib/xmalloc.c.
5595 AC_DEFUN([gl_PREREQ_XMALLOC], [
5596   AC_REQUIRE([AC_HEADER_STDC])
5597   AC_REQUIRE([jm_FUNC_MALLOC])
5598   AC_REQUIRE([jm_FUNC_REALLOC])
5599 ])
5600
5601 # Prerequisites of lib/xstrdup.c.
5602 AC_DEFUN([gl_PREREQ_XSTRDUP], [
5603   AC_REQUIRE([AC_HEADER_STDC])
5604   AC_CHECK_HEADERS_ONCE(string.h)
5605 ])
5606
5607 # malloc.m4 serial 7
5608 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5609 dnl This file is free software, distributed under the terms of the GNU
5610 dnl General Public License.  As a special exception to the GNU General
5611 dnl Public License, this file may be distributed as part of a program
5612 dnl that contains a configuration script generated by Autoconf, under
5613 dnl the same distribution terms as the rest of that program.
5614
5615 dnl From Jim Meyering.
5616 dnl Determine whether malloc accepts 0 as its argument.
5617 dnl If it doesn't, arrange to use the replacement function.
5618
5619 AC_DEFUN([jm_FUNC_MALLOC],
5620 [
5621   AC_REQUIRE([AC_FUNC_MALLOC])
5622   dnl autoconf < 2.57 used the symbol ac_cv_func_malloc_works.
5623   if test X"$ac_cv_func_malloc_0_nonnull" = Xno || test X"$ac_cv_func_malloc_works" = Xno; then
5624     gl_PREREQ_MALLOC
5625   fi
5626 ])
5627
5628 # Prerequisites of lib/malloc.c.
5629 AC_DEFUN([gl_PREREQ_MALLOC], [
5630   :
5631 ])
5632
5633 # realloc.m4 serial 7
5634 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5635 dnl This file is free software, distributed under the terms of the GNU
5636 dnl General Public License.  As a special exception to the GNU General
5637 dnl Public License, this file may be distributed as part of a program
5638 dnl that contains a configuration script generated by Autoconf, under
5639 dnl the same distribution terms as the rest of that program.
5640
5641 dnl From Jim Meyering.
5642 dnl Determine whether realloc works when both arguments are 0.
5643 dnl If it doesn't, arrange to use the replacement function.
5644
5645 AC_DEFUN([jm_FUNC_REALLOC],
5646 [
5647   AC_REQUIRE([AC_FUNC_REALLOC])
5648   dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works.
5649   if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then
5650     gl_PREREQ_REALLOC
5651   fi
5652 ])
5653
5654 # Prerequisites of lib/realloc.c.
5655 AC_DEFUN([gl_PREREQ_REALLOC], [
5656   :
5657 ])
5658
5659 # xgetcwd.m4 serial 1
5660 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5661 dnl This file is free software, distributed under the terms of the GNU
5662 dnl General Public License.  As a special exception to the GNU General
5663 dnl Public License, this file may be distributed as part of a program
5664 dnl that contains a configuration script generated by Autoconf, under
5665 dnl the same distribution terms as the rest of that program.
5666
5667 AC_DEFUN([gl_XGETCWD],
5668 [
5669   dnl Prerequisites of lib/xgetcwd.c.
5670   AC_CHECK_HEADERS_ONCE(stdlib.h unistd.h)
5671   AC_CHECK_FUNCS(getcwd)
5672   AC_FUNC_GETCWD_NULL
5673 ])
5674
5675 # getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
5676
5677 # Copyright 2001 Free Software Foundation, Inc.
5678
5679 # This program is free software; you can redistribute it and/or modify
5680 # it under the terms of the GNU General Public License as published by
5681 # the Free Software Foundation; either version 2, or (at your option)
5682 # any later version.
5683
5684 # This program is distributed in the hope that it will be useful,
5685 # but WITHOUT ANY WARRANTY; without even the implied warranty of
5686 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5687 # GNU General Public License for more details.
5688
5689 # You should have received a copy of the GNU General Public License
5690 # along with this program; if not, write to the Free Software Foundation,
5691 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
5692
5693 # Written by Paul Eggert.
5694
5695 AC_DEFUN([AC_FUNC_GETCWD_NULL],
5696   [
5697    AC_CHECK_HEADERS_ONCE(stdlib.h unistd.h)
5698    AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
5699      [ac_cv_func_getcwd_null],
5700      [AC_TRY_RUN(
5701         [
5702 #        ifdef HAVE_STDLIB_H
5703 #         include <stdlib.h>
5704 #        endif
5705 #        ifdef HAVE_UNISTD_H
5706 #         include <unistd.h>
5707 #        endif
5708 #        ifndef getcwd
5709          char *getcwd ();
5710 #        endif
5711          int
5712          main ()
5713          {
5714            if (chdir ("/") != 0)
5715              exit (1);
5716            else
5717              {
5718                char *f = getcwd (NULL, 0);
5719                exit (! (f && f[0] == '/' && !f[1]));
5720              }
5721          }],
5722         [ac_cv_func_getcwd_null=yes],
5723         [ac_cv_func_getcwd_null=no],
5724         [ac_cv_func_getcwd_null=no])])
5725    if test $ac_cv_func_getcwd_null = yes; then
5726      AC_DEFINE(HAVE_GETCWD_NULL, 1,
5727                [Define if getcwd (NULL, 0) allocates memory for result.])
5728    fi])
5729
5730 # xreadlink.m4 serial 3
5731 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
5732 dnl This file is free software, distributed under the terms of the GNU
5733 dnl General Public License.  As a special exception to the GNU General
5734 dnl Public License, this file may be distributed as part of a program
5735 dnl that contains a configuration script generated by Autoconf, under
5736 dnl the same distribution terms as the rest of that program.
5737
5738 AC_DEFUN([gl_XREADLINK],
5739 [
5740   dnl Prerequisites of lib/xreadlink.c.
5741   AC_REQUIRE([gt_TYPE_SSIZE_T])
5742   AC_CHECK_HEADERS_ONCE(stdlib.h unistd.h)
5743 ])
5744
5745 # xstrtod.m4 serial 1
5746 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5747 dnl This file is free software, distributed under the terms of the GNU
5748 dnl General Public License.  As a special exception to the GNU General
5749 dnl Public License, this file may be distributed as part of a program
5750 dnl that contains a configuration script generated by Autoconf, under
5751 dnl the same distribution terms as the rest of that program.
5752
5753 # Prerequisites of lib/xstrtod.c.
5754 AC_DEFUN([gl_XSTRTOD],
5755 [
5756   AC_REQUIRE([AC_HEADER_STDC])
5757 ])
5758
5759 # xstrtol.m4 serial 2
5760 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
5761 dnl This file is free software, distributed under the terms of the GNU
5762 dnl General Public License.  As a special exception to the GNU General
5763 dnl Public License, this file may be distributed as part of a program
5764 dnl that contains a configuration script generated by Autoconf, under
5765 dnl the same distribution terms as the rest of that program.
5766
5767 AC_DEFUN([gl_XSTRTOL],
5768 [
5769   AC_REQUIRE([gl_PREREQ_XSTRTOL])
5770   AC_REQUIRE([gl_PREREQ_XSTRTOUL])
5771 ])
5772
5773 # Prerequisites of lib/xstrtol.h.
5774 AC_DEFUN([gl_PREREQ_XSTRTOL_H],
5775 [
5776   AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
5777   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
5778 ])
5779
5780 # Prerequisites of lib/xstrtol.c.
5781 AC_DEFUN([gl_PREREQ_XSTRTOL],
5782 [
5783   AC_REQUIRE([gl_PREREQ_XSTRTOL_H])
5784   AC_REQUIRE([AC_HEADER_STDC])
5785   AC_CHECK_HEADERS_ONCE(string.h)
5786   AC_CHECK_FUNCS_ONCE(isascii)
5787   AC_CHECK_DECLS_ONCE(strtol strtoul)
5788   AC_CHECK_DECLS([strtoimax, strtoumax])
5789 ])
5790
5791 # Prerequisites of lib/xstrtoul.c.
5792 AC_DEFUN([gl_PREREQ_XSTRTOUL],
5793 [
5794   AC_REQUIRE([gl_PREREQ_XSTRTOL])
5795 ])
5796
5797 # yesno.m4 serial 1
5798 dnl Copyright (C) 2002 Free Software Foundation, Inc.
5799 dnl This file is free software, distributed under the terms of the GNU
5800 dnl General Public License.  As a special exception to the GNU General
5801 dnl Public License, this file may be distributed as part of a program
5802 dnl that contains a configuration script generated by Autoconf, under
5803 dnl the same distribution terms as the rest of that program.
5804
5805 AC_DEFUN([gl_YESNO],
5806 [
5807   dnl Prerequisites of lib/yesno.c.
5808   AC_CHECK_HEADERS_ONCE(stdlib.h)
5809 ])
5810
5811 #serial 8 -*- autoconf -*-
5812
5813 dnl From Jim Meyering.
5814 dnl
5815 dnl See if the glibc *_unlocked I/O macros or functions are available.
5816 dnl Use only those *_unlocked macros or functions that are declared
5817 dnl (because some of them were declared in Solaris 2.5.1 but were removed
5818 dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
5819 dnl on Solaris 2.6).
5820
5821 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
5822 [
5823   dnl Persuade glibc and Solaris <stdio.h> to declare
5824   dnl fgets_unlocked(), fputs_unlocked() etc.
5825   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
5826
5827   AC_CHECK_DECLS_ONCE(
5828      [clearerr_unlocked feof_unlocked ferror_unlocked
5829       fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
5830       fread_unlocked fwrite_unlocked getc_unlocked
5831       getchar_unlocked putc_unlocked putchar_unlocked])
5832 ])
5833
5834 #serial 20
5835
5836 dnl This macro is intended to be used solely in this file.
5837 dnl These are the prerequisite macros for GNU's strftime.c replacement.
5838 AC_DEFUN([_jm_STRFTIME_PREREQS],
5839 [
5840  dnl strftime.c uses the underyling system strftime if it exists.
5841  AC_FUNC_STRFTIME
5842
5843  AC_CHECK_HEADERS_ONCE(limits.h)
5844  AC_CHECK_FUNCS_ONCE(memcpy mempcpy)
5845  AC_CHECK_FUNCS(tzset memset)
5846
5847  # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
5848  AC_STRUCT_TIMEZONE
5849
5850  AC_CHECK_FUNCS(mblen mbrlen)
5851  AC_TYPE_MBSTATE_T
5852
5853  AC_REQUIRE([gl_TM_GMTOFF])
5854  AC_REQUIRE([gl_FUNC_TZSET_CLOBBER])
5855 ])
5856
5857 dnl From Jim Meyering.
5858 dnl
5859 AC_DEFUN([jm_FUNC_GNU_STRFTIME],
5860 [AC_REQUIRE([AC_HEADER_TIME])dnl
5861
5862  _jm_STRFTIME_PREREQS
5863
5864  AC_REQUIRE([AC_C_CONST])dnl
5865  AC_REQUIRE([AC_HEADER_STDC])dnl
5866  AC_CHECK_HEADERS_ONCE(sys/time.h)
5867  AC_DEFINE([my_strftime], [nstrftime],
5868    [Define to the name of the strftime replacement function.])
5869 ])
5870
5871 AC_DEFUN([jm_FUNC_STRFTIME],
5872 [
5873   _jm_STRFTIME_PREREQS
5874 ])
5875
5876 #serial 1
5877 # See if we have a working tzset function.
5878 # If so, arrange to compile the wrapper function.
5879 # For at least Solaris 2.5.1 and 2.6, this is necessary
5880 # because tzset can clobber the contents of the buffer
5881 # used by localtime.
5882
5883 # Written by Paul Eggert and Jim Meyering.
5884
5885 AC_DEFUN([gl_FUNC_TZSET_CLOBBER],
5886 [
5887   AC_REQUIRE([AC_HEADER_TIME])
5888   AC_CACHE_CHECK([whether tzset clobbers localtime buffer],
5889                  gl_cv_func_tzset_clobber,
5890   [
5891   AC_RUN_IFELSE([AC_LANG_SOURCE([[
5892 #if TIME_WITH_SYS_TIME
5893 # include <sys/time.h>
5894 # include <time.h>
5895 #else
5896 # if HAVE_SYS_TIME_H
5897 #  include <sys/time.h>
5898 # else
5899 #  include <time.h>
5900 # endif
5901 #endif
5902 #include <stdlib.h>
5903
5904 int
5905 main ()
5906 {
5907   time_t t1 = 853958121;
5908   struct tm *p, s;
5909   putenv ("TZ=GMT0");
5910   p = localtime (&t1);
5911   s = *p;
5912   putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00");
5913   tzset ();
5914   exit (p->tm_year != s.tm_year
5915         || p->tm_mon != s.tm_mon
5916         || p->tm_mday != s.tm_mday
5917         || p->tm_hour != s.tm_hour
5918         || p->tm_min != s.tm_min
5919         || p->tm_sec != s.tm_sec);
5920 }
5921   ]])],
5922        [gl_cv_func_tzset_clobber=no],
5923        [gl_cv_func_tzset_clobber=yes],
5924        [gl_cv_func_tzset_clobber=yes])])
5925
5926   AC_DEFINE(HAVE_RUN_TZSET_TEST, 1,
5927     [Define to 1 if you have run the test for working tzset.])
5928
5929   if test $gl_cv_func_tzset_clobber = yes; then
5930     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
5931
5932     AC_DEFINE(tzset, rpl_tzset,
5933       [Define to rpl_tzset if the wrapper function should be used.])
5934     AC_DEFINE(TZSET_CLOBBERS_LOCALTIME_BUFFER, 1,
5935       [Define if tzset clobbers localtime's static buffer.])
5936   fi
5937 ])
5938
5939 #serial 4
5940
5941 dnl From Jim Meyering.
5942 dnl
5943 dnl See if gettimeofday clobbers the static buffer that localtime uses
5944 dnl for it's return value.  The gettimeofday function from Mac OS X 10.0.4,
5945 dnl i.e. Darwin 1.3.7 has this problem.
5946 dnl
5947 dnl If it does, then arrange to use gettimeofday and localtime only via
5948 dnl the wrapper functions that work around the problem.
5949
5950 AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
5951 [
5952  AC_REQUIRE([AC_HEADER_TIME])
5953  AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
5954  AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
5955   jm_cv_func_gettimeofday_clobber,
5956   [AC_TRY_RUN([
5957 #include <stdio.h>
5958 #if HAVE_STRING_H
5959 # include <string.h>
5960 #endif
5961
5962 #if TIME_WITH_SYS_TIME
5963 # include <sys/time.h>
5964 # include <time.h>
5965 #else
5966 # if HAVE_SYS_TIME_H
5967 #  include <sys/time.h>
5968 # else
5969 #  include <time.h>
5970 # endif
5971 #endif
5972
5973 #if HAVE_STDLIB_H
5974 # include <stdlib.h>
5975 #endif
5976
5977 int
5978 main ()
5979 {
5980   time_t t = 0;
5981   struct tm *lt;
5982   struct tm saved_lt;
5983   struct timeval tv;
5984   lt = localtime (&t);
5985   saved_lt = *lt;
5986   gettimeofday (&tv, NULL);
5987   if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
5988     exit (1);
5989
5990   exit (0);
5991 }
5992           ],
5993          jm_cv_func_gettimeofday_clobber=no,
5994          jm_cv_func_gettimeofday_clobber=yes,
5995          dnl When crosscompiling, assume it is broken.
5996          jm_cv_func_gettimeofday_clobber=yes)
5997   ])
5998   if test $jm_cv_func_gettimeofday_clobber = yes; then
5999     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
6000
6001     AC_DEFINE(gettimeofday, rpl_gettimeofday,
6002       [Define to rpl_gettimeofday if the replacement function should be used.])
6003     AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
6004       [Define if gettimeofday clobbers localtime's static buffer.])
6005     gl_PREREQ_GETTIMEOFDAY
6006   fi
6007 ])
6008
6009 AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
6010   AC_LIBOBJ(gettimeofday)
6011   AC_DEFINE(gmtime, rpl_gmtime,
6012     [Define to rpl_gmtime if the replacement function should be used.])
6013   AC_DEFINE(localtime, rpl_localtime,
6014     [Define to rpl_localtime if the replacement function should be used.])
6015 ])
6016
6017 # Prerequisites of lib/gettimeofday.c.
6018 AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
6019   AC_REQUIRE([AC_HEADER_TIME])
6020 ])
6021
6022 #serial 9
6023
6024 dnl From Jim Meyering.
6025 dnl Determine whether lstat has the bug that it succeeds when given the
6026 dnl zero-length file name argument.  The lstat from SunOS 4.1.4 and the Hurd
6027 dnl (as of 1998-11-01) do this.
6028 dnl
6029 dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
6030 dnl compile the wrapper function.
6031 dnl
6032
6033 AC_DEFUN([jm_FUNC_LSTAT],
6034 [
6035   AC_FUNC_LSTAT
6036   dnl Note: AC_FUNC_LSTAT does AC_LIBOBJ(lstat).
6037   if test $ac_cv_func_lstat_empty_string_bug = yes; then
6038     gl_PREREQ_LSTAT
6039   fi
6040 ])
6041
6042 # Prerequisites of lib/lstat.c.
6043 AC_DEFUN([gl_PREREQ_LSTAT],
6044 [
6045   AC_REQUIRE([AC_HEADER_STAT])
6046   AC_CHECK_HEADERS_ONCE(stdlib.h)
6047   AC_CHECK_DECLS_ONCE(free)
6048 ])
6049
6050 # memcmp.m4 serial 8
6051 dnl Copyright (C) 2002 Free Software Foundation, Inc.
6052 dnl This file is free software, distributed under the terms of the GNU
6053 dnl General Public License.  As a special exception to the GNU General
6054 dnl Public License, this file may be distributed as part of a program
6055 dnl that contains a configuration script generated by Autoconf, under
6056 dnl the same distribution terms as the rest of that program.
6057
6058 AC_DEFUN([jm_FUNC_MEMCMP],
6059 [
6060   AC_REQUIRE([AC_FUNC_MEMCMP])
6061   if test $ac_cv_func_memcmp_working = no; then
6062     AC_DEFINE(memcmp, rpl_memcmp,
6063       [Define to rpl_memcmp if the replacement function should be used.])
6064     gl_PREREQ_MEMCMP
6065   fi
6066 ])
6067
6068 # Prerequisites of lib/memcmp.c.
6069 AC_DEFUN([gl_PREREQ_MEMCMP], [
6070   AC_CHECK_HEADERS_ONCE(string.h)
6071 ])
6072
6073 #serial 9
6074
6075 dnl From Jim Meyering.
6076 dnl Check for the nanosleep function.
6077 dnl If not found, use the supplied replacement.
6078 dnl
6079
6080 AC_DEFUN([jm_FUNC_NANOSLEEP],
6081 [
6082  nanosleep_save_libs=$LIBS
6083
6084  # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
6085  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
6086  AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
6087  AC_SUBST(LIB_NANOSLEEP)
6088
6089  AC_CACHE_CHECK([whether nanosleep works],
6090   jm_cv_func_nanosleep_works,
6091   [
6092    AC_REQUIRE([AC_HEADER_TIME])
6093    AC_CHECK_HEADERS_ONCE(sys/time.h)
6094    AC_TRY_RUN([
6095 #   if TIME_WITH_SYS_TIME
6096 #    include <sys/time.h>
6097 #    include <time.h>
6098 #   else
6099 #    if HAVE_SYS_TIME_H
6100 #     include <sys/time.h>
6101 #    else
6102 #     include <time.h>
6103 #    endif
6104 #   endif
6105
6106     int
6107     main ()
6108     {
6109       struct timespec ts_sleep, ts_remaining;
6110       ts_sleep.tv_sec = 0;
6111       ts_sleep.tv_nsec = 1;
6112       exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
6113     }
6114           ],
6115          jm_cv_func_nanosleep_works=yes,
6116          jm_cv_func_nanosleep_works=no,
6117          dnl When crosscompiling, assume the worst.
6118          jm_cv_func_nanosleep_works=no)
6119   ])
6120   if test $jm_cv_func_nanosleep_works = no; then
6121     AC_LIBOBJ(nanosleep)
6122     AC_DEFINE(nanosleep, rpl_nanosleep,
6123       [Define to rpl_nanosleep if the replacement function should be used.])
6124     gl_PREREQ_NANOSLEEP
6125   fi
6126
6127  LIBS=$nanosleep_save_libs
6128 ])
6129
6130 # Prerequisites of lib/nanosleep.c.
6131 AC_DEFUN([gl_PREREQ_NANOSLEEP],
6132 [
6133   AC_CHECK_HEADERS_ONCE(unistd.h)
6134 ])
6135
6136 # putenv.m4 serial 6
6137 dnl Copyright (C) 2002 Free Software Foundation, Inc.
6138 dnl This file is free software, distributed under the terms of the GNU
6139 dnl General Public License.  As a special exception to the GNU General
6140 dnl Public License, this file may be distributed as part of a program
6141 dnl that contains a configuration script generated by Autoconf, under
6142 dnl the same distribution terms as the rest of that program.
6143
6144 dnl From Jim Meyering.
6145 dnl
6146 dnl Check whether putenv ("FOO") removes FOO from the environment.
6147 dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
6148
6149 AC_DEFUN([jm_FUNC_PUTENV],
6150 [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
6151   [AC_TRY_RUN([
6152     int
6153     main ()
6154     {
6155       /* Put it in env.  */
6156       if (putenv ("CONFTEST_putenv=val"))
6157         exit (1);
6158
6159       /* Try to remove it.  */
6160       if (putenv ("CONFTEST_putenv"))
6161         exit (1);
6162
6163       /* Make sure it was deleted.  */
6164       if (getenv ("CONFTEST_putenv") != 0)
6165         exit (1);
6166
6167       exit (0);
6168     }
6169               ],
6170              jm_cv_func_svid_putenv=yes,
6171              jm_cv_func_svid_putenv=no,
6172              dnl When crosscompiling, assume putenv is broken.
6173              jm_cv_func_svid_putenv=no)
6174   ])
6175   if test $jm_cv_func_svid_putenv = no; then
6176     AC_LIBOBJ(putenv)
6177     AC_DEFINE(putenv, rpl_putenv,
6178       [Define to rpl_putenv if the replacement function should be used.])
6179     gl_PREREQ_PUTENV
6180   fi
6181 ])
6182
6183 # Prerequisites of lib/putenv.c.
6184 AC_DEFUN([gl_PREREQ_PUTENV], [
6185   AC_CHECK_HEADERS_ONCE(string.h unistd.h)
6186   AC_CHECK_FUNCS_ONCE(memcpy)
6187   AC_CHECK_FUNCS(strchr)
6188 ])
6189
6190 #serial 9
6191
6192 dnl From Jim Meyering.
6193 dnl Determine whether stat has the bug that it succeeds when given the
6194 dnl zero-length file name argument.  The stat from SunOS 4.1.4 and the Hurd
6195 dnl (as of 1998-11-01) do this.
6196 dnl
6197 dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
6198 dnl compile the wrapper function.
6199 dnl
6200
6201 AC_DEFUN([jm_FUNC_STAT],
6202 [
6203   AC_FUNC_STAT
6204   dnl Note: AC_FUNC_STAT does AC_LIBOBJ(stat).
6205   if test $ac_cv_func_stat_empty_string_bug = yes; then
6206     gl_PREREQ_STAT
6207   fi
6208 ])
6209
6210 # Prerequisites of lib/stat.c.
6211 AC_DEFUN([gl_PREREQ_STAT],
6212 [
6213   :
6214 ])
6215
6216 #serial 5
6217
6218 dnl From Jim Meyering
6219 dnl Replace the utime function on systems that need it.
6220
6221 dnl FIXME
6222
6223 AC_DEFUN([jm_FUNC_UTIME],
6224 [
6225   AC_REQUIRE([AC_FUNC_UTIME_NULL])
6226   if test $ac_cv_func_utime_null = no; then
6227     AC_LIBOBJ(utime)
6228     AC_DEFINE(utime, rpl_utime,
6229       [Define to rpl_utime if the replacement function should be used.])
6230     gl_PREREQ_UTIME
6231   fi
6232 ])
6233
6234 # Prerequisites of lib/utime.c.
6235 AC_DEFUN([gl_PREREQ_UTIME],
6236 [
6237   AC_CHECK_HEADERS_ONCE(utime.h)
6238   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
6239   jm_FUNC_UTIMES_NULL
6240 ])
6241
6242 #serial 4
6243
6244 dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL,
6245 dnl then do case-insensitive s/utime/utimes/.
6246
6247 AC_DEFUN([jm_FUNC_UTIMES_NULL],
6248 [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
6249 [rm -f conftest.data; > conftest.data
6250 AC_TRY_RUN([
6251 /* In case stat has been defined to rpl_stat, undef it here.  */
6252 #undef stat
6253 #include <sys/types.h>
6254 #include <sys/stat.h>
6255 main() {
6256 struct stat s, t;
6257 exit(!(stat ("conftest.data", &s) == 0
6258        && utimes("conftest.data", (long *)0) == 0
6259        && stat("conftest.data", &t) == 0
6260        && t.st_mtime >= s.st_mtime
6261        && t.st_mtime - s.st_mtime < 120));
6262 }],
6263   ac_cv_func_utimes_null=yes,
6264   ac_cv_func_utimes_null=no,
6265   ac_cv_func_utimes_null=no)
6266 rm -f core core.* *.core])
6267
6268     if test $ac_cv_func_utimes_null = yes; then
6269       AC_DEFINE(HAVE_UTIMES_NULL, 1,
6270                 [Define if utimes accepts a null argument])
6271     fi
6272   ]
6273 )
6274
6275 #serial 3
6276 dnl Cloned from xstrtoumax.m4.  Keep these files in sync.
6277
6278 AC_DEFUN([jm_XSTRTOIMAX],
6279 [
6280   dnl Prerequisites of lib/xstrtoimax.c.
6281   AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
6282   AC_REQUIRE([gl_PREREQ_XSTRTOL])
6283 ])
6284
6285 #serial 5
6286 dnl Cloned from xstrtoimax.m4.  Keep these files in sync.
6287
6288 AC_DEFUN([jm_XSTRTOUMAX],
6289 [
6290   dnl Prerequisites of lib/xstrtoumax.c.
6291   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
6292   AC_REQUIRE([gl_PREREQ_XSTRTOL])
6293 ])
6294
6295 #serial 5
6296
6297 dnl From Volker Borchert.
6298 dnl Determine whether rename works for source paths with a trailing slash.
6299 dnl The rename from SunOS 4.1.1_U1 doesn't.
6300 dnl
6301 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
6302 dnl to compile the wrapper function.
6303 dnl
6304
6305 AC_DEFUN([vb_FUNC_RENAME],
6306 [
6307  AC_CACHE_CHECK([whether rename is broken],
6308   vb_cv_func_rename_trailing_slash_bug,
6309   [
6310     rm -rf conftest.d1 conftest.d2
6311     mkdir conftest.d1 ||
6312       AC_MSG_ERROR([cannot create temporary directory])
6313     AC_TRY_RUN([
6314 #       include <stdio.h>
6315         int
6316         main ()
6317         {
6318           exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
6319         }
6320       ],
6321       vb_cv_func_rename_trailing_slash_bug=no,
6322       vb_cv_func_rename_trailing_slash_bug=yes,
6323       dnl When crosscompiling, assume rename is broken.
6324       vb_cv_func_rename_trailing_slash_bug=yes)
6325
6326       rm -rf conftest.d1 conftest.d2
6327   ])
6328   if test $vb_cv_func_rename_trailing_slash_bug = yes; then
6329     AC_LIBOBJ(rename)
6330     AC_DEFINE(rename, rpl_rename,
6331       [Define to rpl_rename if the replacement function should be used.])
6332     AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
6333       [Define if rename does not work for source paths with a trailing slash,
6334        like the one from SunOS 4.1.1_U1.])
6335     gl_PREREQ_RENAME
6336   fi
6337 ])
6338
6339 # Prerequisites of lib/rename.c.
6340 AC_DEFUN([gl_PREREQ_RENAME],
6341 [
6342   AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
6343   AC_CHECK_DECLS_ONCE(free)
6344 ])
6345
6346 #serial 6
6347
6348 dnl Find out how to get the file descriptor associated with an open DIR*.
6349 dnl From Jim Meyering
6350
6351 AC_DEFUN([UTILS_FUNC_DIRFD],
6352 [
6353   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
6354   AC_REQUIRE([AC_PROG_CPP])
6355   AC_REQUIRE([AC_PROG_EGREP])
6356
6357   AC_HEADER_DIRENT
6358   dirfd_headers='
6359 #if HAVE_DIRENT_H
6360 # include <dirent.h>
6361 #else /* not HAVE_DIRENT_H */
6362 # define dirent direct
6363 # if HAVE_SYS_NDIR_H
6364 #  include <sys/ndir.h>
6365 # endif /* HAVE_SYS_NDIR_H */
6366 # if HAVE_SYS_DIR_H
6367 #  include <sys/dir.h>
6368 # endif /* HAVE_SYS_DIR_H */
6369 # if HAVE_NDIR_H
6370 #  include <ndir.h>
6371 # endif /* HAVE_NDIR_H */
6372 #endif /* HAVE_DIRENT_H */
6373 '
6374   AC_CHECK_FUNCS(dirfd)
6375   AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
6376
6377   AC_CACHE_CHECK([whether dirfd is a macro],
6378     jm_cv_func_dirfd_macro,
6379     [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
6380 #ifdef dirfd
6381  dirent_header_defines_dirfd
6382 #endif],
6383        jm_cv_func_dirfd_macro=yes,
6384        jm_cv_func_dirfd_macro=no)])
6385
6386   # Use the replacement only if we have no function, macro,
6387   # or declaration with that name.
6388   if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
6389       = no,no,no; then
6390     AC_REPLACE_FUNCS([dirfd])
6391     AC_CACHE_CHECK(
6392               [how to get the file descriptor associated with an open DIR*],
6393                    gl_cv_sys_dir_fd_member_name,
6394       [
6395         dirfd_save_CFLAGS=$CFLAGS
6396         for ac_expr in d_fd dd_fd; do
6397
6398           CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
6399           AC_TRY_COMPILE(
6400             [$dirfd_headers
6401             ],
6402             [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
6403             dir_fd_found=yes
6404           )
6405           CFLAGS=$dirfd_save_CFLAGS
6406           test "$dir_fd_found" = yes && break
6407         done
6408         test "$dir_fd_found" = yes || ac_expr=no_such_member
6409
6410         gl_cv_sys_dir_fd_member_name=$ac_expr
6411       ]
6412     )
6413     if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
6414       AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
6415         $gl_cv_sys_dir_fd_member_name,
6416         [the name of the file descriptor member of DIR])
6417     fi
6418     AH_VERBATIM(DIR_TO_FD,
6419                 [#ifdef DIR_FD_MEMBER_NAME
6420 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
6421 #else
6422 # define DIR_TO_FD(Dir_p) -1
6423 #endif
6424 ]
6425     )
6426   fi
6427 ])
6428
6429 # acl.m4 - check for access control list (ACL) primitives
6430
6431 # Copyright (C) 2002 Free Software Foundation, Inc.
6432
6433 # This program is free software; you can redistribute it and/or modify
6434 # it under the terms of the GNU General Public License as published by
6435 # the Free Software Foundation; either version 2, or (at your option)
6436 # any later version.
6437
6438 # This program is distributed in the hope that it will be useful,
6439 # but WITHOUT ANY WARRANTY; without even the implied warranty of
6440 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6441 # GNU General Public License for more details.
6442
6443 # You should have received a copy of the GNU General Public License
6444 # along with this program; if not, write to the Free Software Foundation,
6445 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
6446
6447 # Written by Paul Eggert.
6448
6449 AC_DEFUN([AC_FUNC_ACL],
6450 [
6451   dnl Prerequisites of lib/acl.c.
6452   AC_CHECK_HEADERS(sys/acl.h)
6453   AC_CHECK_FUNCS(acl)
6454 ])
6455
6456 #serial 2
6457 # Use the replacement ftw.c if the one in the C library is inadequate or buggy.
6458 # For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
6459 # or FTW_DCHP that we need.  Arrange to use lib/ftw.h.  And since that
6460 # implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
6461 # objects and arrange to use lib/search.h if necessary.
6462 # From Jim Meyering
6463
6464 AC_DEFUN([AC_FUNC_FTW],
6465 [
6466   # prerequisites
6467   AC_REQUIRE([AC_HEADER_STAT])
6468   AC_REQUIRE([jm_FUNC_LSTAT])
6469   AC_REQUIRE([AC_HEADER_DIRENT])
6470   AC_CHECK_HEADERS(sys/param.h)
6471   AC_CHECK_DECLS([stpcpy])
6472
6473   # In the event that we have to use the replacement ftw.c,
6474   # see if we'll also need the replacement tsearch.c.
6475   AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
6476
6477   AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
6478                  ac_cv_func_ftw_working,
6479   [
6480   # The following test would fail prior to glibc-2.3.2, because `depth'
6481   # would be 2 rather than 4.  Of course, now that we require FTW_DCH
6482   # and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
6483   mkdir -p conftest.dir/a/b/c
6484   AC_RUN_IFELSE([AC_LANG_SOURCE([[
6485 #include <string.h>
6486 #include <stdlib.h>
6487 #include <ftw.h>
6488
6489 static char *_f[] = { "conftest.dir", "conftest.dir/a",
6490                       "conftest.dir/a/b", "conftest.dir/a/b/c" };
6491 static char **p = _f;
6492 static int depth;
6493
6494 static int
6495 cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
6496 {
6497   if (strcmp (file, *p++) != 0)
6498     exit (1);
6499   ++depth;
6500   return 0;
6501 }
6502
6503 int
6504 main ()
6505 {
6506   /* Require these symbols, too.  */
6507   int d1 = FTW_DCH;
6508   int d2 = FTW_DCHP;
6509
6510   int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
6511   exit ((err == 0 && depth == 4) ? 0 : 1);
6512 }
6513 ]])],
6514                [ac_cv_func_ftw_working=yes],
6515                [ac_cv_func_ftw_working=no],
6516                [ac_cv_func_ftw_working=no])])
6517   rm -rf conftest.dir
6518   if test $ac_cv_func_ftw_working = no; then
6519     AC_LIBOBJ([ftw])
6520     AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
6521     # Add tsearch.o IFF we have to use the replacement ftw.c.
6522     if test -n "$need_tdestroy"; then
6523       AC_LIBOBJ([tsearch])
6524       # Link search.h to search_.h if we use the replacement tsearch.c.
6525       AC_CONFIG_LINKS(
6526         [$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
6527     fi
6528   fi
6529 ])# AC_FUNC_FTW
6530
6531 #serial 3
6532
6533 dnl From Jim Meyering.
6534 dnl Provide lchown on systems that lack it.
6535
6536 AC_DEFUN([jm_FUNC_LCHOWN],
6537 [
6538   AC_REQUIRE([AC_TYPE_UID_T])
6539   AC_REPLACE_FUNCS(lchown)
6540   if test $ac_cv_func_lchown = no; then
6541     gl_PREREQ_LCHOWN
6542   fi
6543 ])
6544
6545 # Prerequisites of lib/lchown.c.
6546 AC_DEFUN([gl_PREREQ_LCHOWN],
6547 [
6548   AC_REQUIRE([AC_HEADER_STAT])
6549   :
6550 ])
6551
6552 #serial 3
6553
6554 # When rmdir fails because the specified directory is not empty, it sets
6555 # errno to some value, usually ENOTEMPTY.  However, on some AIX systems,
6556 # ENOTEMPTY is mistakenly defined to be EEXIST.  To work around this, and
6557 # in general, to avoid depending on the use of any particular symbol, this
6558 # test runs a test to determine the actual numeric value.
6559 AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
6560 [dnl
6561   AC_CACHE_CHECK([for rmdir-not-empty errno value],
6562     fetish_cv_func_rmdir_errno_not_empty,
6563     [
6564       # Arrange for deletion of the temporary directory this test creates.
6565       ac_clean_files="$ac_clean_files confdir2"
6566       mkdir confdir2; : > confdir2/file
6567       AC_TRY_RUN([
6568 #include <stdio.h>
6569 #include <errno.h>
6570 #ifndef errno
6571 extern int errno;
6572 #endif
6573         int main ()
6574         {
6575           FILE *s;
6576           int val;
6577           rmdir ("confdir2");
6578           val = errno;
6579           s = fopen ("confdir2/errno", "w");
6580           fprintf (s, "%d\n", val);
6581           exit (0);
6582         }
6583         ],
6584       fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
6585       fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
6586       fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
6587       )
6588     ]
6589   )
6590
6591   AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
6592     $fetish_cv_func_rmdir_errno_not_empty,
6593     [the value to which errno is set when rmdir fails on a nonempty directory])
6594 ])
6595
6596 #serial 8
6597
6598 dnl From Jim Meyering.
6599 dnl Determine whether chown accepts arguments of -1 for uid and gid.
6600 dnl If it doesn't, arrange to use the replacement function.
6601 dnl
6602
6603 AC_DEFUN([jm_FUNC_CHOWN],
6604 [
6605   AC_REQUIRE([AC_TYPE_UID_T])dnl
6606   AC_REQUIRE([AC_FUNC_CHOWN])
6607   if test $ac_cv_func_chown_works = no; then
6608     AC_LIBOBJ(chown)
6609     AC_DEFINE(chown, rpl_chown,
6610       [Define to rpl_chown if the replacement function should be used.])
6611     gl_PREREQ_CHOWN
6612   fi
6613 ])
6614
6615 # Prerequisites of lib/chown.c.
6616 AC_DEFUN([gl_PREREQ_CHOWN],
6617 [
6618   AC_CHECK_HEADERS_ONCE(unistd.h)
6619 ])
6620
6621 #serial 4
6622
6623 dnl Written by Jim Meyering
6624
6625 AC_DEFUN([jm_FUNC_GROUP_MEMBER],
6626 [
6627   dnl Persuade glibc <unistd.h> to declare group_member().
6628   AC_REQUIRE([AC_GNU_SOURCE])
6629
6630   dnl Do this replacement check manually because I want the hyphen
6631   dnl (not the underscore) in the filename.
6632   AC_CHECK_FUNC(group_member, , [
6633     AC_LIBOBJ(group-member)
6634     gl_PREREQ_GROUP_MEMBER
6635   ])
6636 ])
6637
6638 # Prerequisites of lib/group-member.c.
6639 AC_DEFUN([gl_PREREQ_GROUP_MEMBER],
6640 [
6641   AC_REQUIRE([AC_HEADER_STDC])
6642   AC_CHECK_HEADERS_ONCE(unistd.h)
6643   AC_REQUIRE([AC_FUNC_GETGROUPS])
6644 ])
6645
6646 #serial 5
6647
6648 AC_DEFUN([jm_AFS],
6649   [
6650     AC_MSG_CHECKING(for AFS)
6651     if test -d /afs; then
6652       AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
6653       ac_result=yes
6654     else
6655       ac_result=no
6656     fi
6657     AC_MSG_RESULT($ac_result)
6658   ])
6659
6660 #serial 3
6661 dnl Run a program to determine whether whether link(2) follows symlinks.
6662 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
6663
6664 AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
6665 [dnl
6666   AC_CACHE_CHECK(
6667     [whether link(2) dereferences a symlink specified with a trailing slash],
6668                  jm_ac_cv_func_link_follows_symlink,
6669   [
6670     dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
6671     dnl the appropriate framework.
6672     test -z "$ac_cv_header_unistd_h" \
6673       && AC_CHECK_HEADERS(unistd.h)
6674
6675     # Create a regular file.
6676     echo > conftest.file
6677     AC_TRY_RUN(
6678       [
6679 #       include <sys/types.h>
6680 #       include <sys/stat.h>
6681 #       ifdef HAVE_UNISTD_H
6682 #        include <unistd.h>
6683 #       endif
6684
6685 #       define SAME_INODE(Stat_buf_1, Stat_buf_2) \
6686           ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
6687            && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
6688
6689         int
6690         main ()
6691         {
6692           const char *file = "conftest.file";
6693           const char *sym = "conftest.sym";
6694           const char *hard = "conftest.hard";
6695           struct stat sb_file, sb_hard;
6696
6697           /* Create a symlink to the regular file. */
6698           if (symlink (file, sym))
6699             abort ();
6700
6701           /* Create a hard link to that symlink.  */
6702           if (link (sym, hard))
6703             abort ();
6704
6705           if (lstat (hard, &sb_hard))
6706             abort ();
6707           if (lstat (file, &sb_file))
6708             abort ();
6709
6710           /* If the dev/inode of hard and file are the same, then
6711              the link call followed the symlink.  */
6712           return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
6713         }
6714       ],
6715       jm_ac_cv_func_link_follows_symlink=yes,
6716       jm_ac_cv_func_link_follows_symlink=no,
6717       jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
6718     )
6719   ])
6720   if test $jm_ac_cv_func_link_follows_symlink = yes; then
6721     AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
6722       [Define if `link(2)' dereferences symbolic links.])
6723   fi
6724 ])
6725
6726 #serial 3
6727
6728 dnl From Jim Meyering
6729 dnl Using code from emacs, based on suggestions from Paul Eggert
6730 dnl and Ulrich Drepper.
6731
6732 dnl Find out how to determine the number of pending output bytes on a stream.
6733 dnl glibc (2.1.93 and newer) and Solaris provide __fpending.  On other systems,
6734 dnl we have to grub around in the FILE struct.
6735
6736 AC_DEFUN([jm_FUNC_FPENDING],
6737 [
6738   AC_CHECK_HEADERS(stdio_ext.h)
6739   AC_REPLACE_FUNCS([__fpending])
6740   fp_headers='
6741 #     if HAVE_STDIO_EXT_H
6742 #      include <stdio_ext.h>
6743 #     endif
6744 '
6745   AC_CHECK_DECLS([__fpending], , , $fp_headers)
6746   if test $ac_cv_func___fpending = no; then
6747     AC_CACHE_CHECK(
6748               [how to determine the number of pending output bytes on a stream],
6749                    ac_cv_sys_pending_output_n_bytes,
6750       [
6751         for ac_expr in                                          \
6752                                                                 \
6753             '# glibc2'                                          \
6754             'fp->_IO_write_ptr - fp->_IO_write_base'            \
6755                                                                 \
6756             '# traditional Unix'                                \
6757             'fp->_ptr - fp->_base'                              \
6758                                                                 \
6759             '# BSD'                                             \
6760             'fp->_p - fp->_bf._base'                            \
6761                                                                 \
6762             '# SCO, Unixware'                                   \
6763             'fp->__ptr - fp->__base'                            \
6764                                                                 \
6765             '# old glibc?'                                      \
6766             'fp->__bufp - fp->__buffer'                         \
6767                                                                 \
6768             '# old glibc iostream?'                             \
6769             'fp->_pptr - fp->_pbase'                            \
6770                                                                 \
6771             '# VMS'                                             \
6772             '(*fp)->_ptr - (*fp)->_base'                        \
6773                                                                 \
6774             '# e.g., DGUX R4.11; the info is not available'     \
6775             1                                                   \
6776             ; do
6777
6778           # Skip each embedded comment.
6779           case "$ac_expr" in '#'*) continue;; esac
6780
6781           AC_TRY_COMPILE(
6782             [#include <stdio.h>
6783             ],
6784             [FILE *fp = stdin; (void) ($ac_expr);],
6785             fp_done=yes
6786           )
6787           test "$fp_done" = yes && break
6788         done
6789
6790         ac_cv_sys_pending_output_n_bytes=$ac_expr
6791       ]
6792     )
6793     AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
6794       $ac_cv_sys_pending_output_n_bytes,
6795       [the number of pending output bytes on stream `fp'])
6796   fi
6797 ])
6798
6799 # inttypes-pri.m4 serial 1 (gettext-0.11.4)
6800 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
6801 dnl This file is free software, distributed under the terms of the GNU
6802 dnl General Public License.  As a special exception to the GNU General
6803 dnl Public License, this file may be distributed as part of a program
6804 dnl that contains a configuration script generated by Autoconf, under
6805 dnl the same distribution terms as the rest of that program.
6806
6807 dnl From Bruno Haible.
6808
6809 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
6810 # macros to non-string values.  This is the case on AIX 4.3.3.
6811
6812 AC_DEFUN([gt_INTTYPES_PRI],
6813 [
6814   AC_REQUIRE([gt_HEADER_INTTYPES_H])
6815   if test $gt_cv_header_inttypes_h = yes; then
6816     AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
6817       gt_cv_inttypes_pri_broken,
6818       [
6819         AC_TRY_COMPILE([#include <inttypes.h>
6820 #ifdef PRId32
6821 char *p = PRId32;
6822 #endif
6823 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
6824       ])
6825   fi
6826   if test "$gt_cv_inttypes_pri_broken" = yes; then
6827     AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
6828       [Define if <inttypes.h> exists and defines unusable PRI* macros.])
6829   fi
6830 ])
6831
6832 # Assume AM_GNU_GETTEXT([external]) and Autoconf 2.54 or later, for coreutils.
6833
6834 # serial 1
6835
6836 dnl Copyright (C) 2003 Free Software Foundation, Inc.
6837 dnl This file is free software, distributed under the terms of the GNU
6838 dnl General Public License.  As a special exception to the GNU General
6839 dnl Public License, this file may be distributed as part of a program
6840 dnl that contains a configuration script generated by Autoconf, under
6841 dnl the same distribution terms as the rest of that program.
6842
6843 dnl From Paul Eggert
6844
6845 dnl Automake doesn't understand that AM_GNU_GETTEXT([external])
6846 dnl never invokes the following macros, because of the [external].
6847 dnl Insert empty macros to pacify Automake.
6848
6849 AC_DEFUN([AM_LC_MESSAGES])
6850 AC_DEFUN([AM_MKINSTALLDIRS])
6851 AC_DEFUN([AM_NLS])
6852 AC_DEFUN([AM_PO_SUBDIRS])
6853 AC_DEFUN([gt_INTDIV0])
6854
6855 dnl A simpler substitute for gt_INTTYPES_PRI that assumes Autoconf 2.54
6856 dnl or later.
6857
6858 AC_DEFUN([gt_HEADER_INTTYPES_H], [
6859   AC_REQUIRE([AC_HEADER_STDC])
6860   gt_cv_header_inttypes_h=$ac_cv_header_inttypes_h
6861 ])
6862
6863 #serial 8
6864
6865 dnl From Jim Meyering.
6866 dnl A wrapper around AC_FUNC_GETGROUPS.
6867
6868 AC_DEFUN([jm_FUNC_GETGROUPS],
6869 [
6870   AC_REQUIRE([AC_FUNC_GETGROUPS])
6871   if test $ac_cv_func_getgroups_works = no; then
6872     AC_LIBOBJ(getgroups)
6873     AC_DEFINE(getgroups, rpl_getgroups,
6874       [Define as rpl_getgroups if getgroups doesn't work right.])
6875     gl_PREREQ_GETGROUPS
6876   fi
6877   test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
6878 ])
6879
6880 # Prerequisites of lib/getgroups.c.
6881 AC_DEFUN([gl_PREREQ_GETGROUPS],
6882 [
6883   AC_REQUIRE([AC_TYPE_GETGROUPS])
6884 ])
6885
6886 #serial 5
6887
6888 AC_PREREQ(2.13)
6889
6890 AC_DEFUN([jm_SYS_PROC_UPTIME],
6891 [ dnl Require AC_PROG_CC to see if we're cross compiling.
6892   AC_REQUIRE([AC_PROG_CC])
6893   AC_CACHE_CHECK([for /proc/uptime], jm_cv_have_proc_uptime,
6894   [jm_cv_have_proc_uptime=no
6895     test -f /proc/uptime \
6896       && test "$cross_compiling" = no \
6897       && cat < /proc/uptime >/dev/null 2>/dev/null \
6898       && jm_cv_have_proc_uptime=yes])
6899   if test $jm_cv_have_proc_uptime = yes; then
6900     AC_DEFINE(HAVE_PROC_UPTIME, 1,
6901               [  Define if your system has the /proc/uptime special file.])
6902   fi
6903 ])
6904
6905 #serial 5
6906
6907 # See if we need to emulate a missing ftruncate function using fcntl or chsize.
6908
6909 AC_DEFUN([jm_FUNC_FTRUNCATE],
6910 [
6911   AC_REPLACE_FUNCS(ftruncate)
6912   if test $ac_cv_func_ftruncate = no; then
6913     gl_PREREQ_FTRUNCATE
6914   fi
6915 ])
6916
6917 # Prerequisites of lib/ftruncate.c.
6918 AC_DEFUN([gl_PREREQ_FTRUNCATE],
6919 [
6920   AC_CHECK_HEADERS_ONCE(unistd.h)
6921   AC_CHECK_FUNCS(chsize)
6922 ])
6923
6924 #serial 1
6925 # Determine approximately how many files may be open simultaneously
6926 # in one process.  This is approximate, since while running this test,
6927 # the configure script already has a few files open.
6928 # From Jim Meyering
6929
6930 AC_DEFUN([UTILS_SYS_OPEN_MAX],
6931 [
6932   AC_CACHE_CHECK([determine how many files may be open simultaneously],
6933                  utils_cv_sys_open_max,
6934   [
6935   AC_RUN_IFELSE([AC_LANG_SOURCE([[
6936 #include <stdio.h>
6937 #include <stdlib.h>
6938 #include <unistd.h>
6939     int
6940     main ()
6941     {
6942       FILE *result = fopen ("conftest.omax", "w");
6943       int i = 1;
6944       /* Impose an arbitrary limit, in case some system has no
6945          effective limit on the number of simultaneously open files.  */
6946       while (i < 30000)
6947         {
6948           FILE *s = fopen ("conftest.op", "w");
6949           if (!s)
6950             break;
6951           ++i;
6952         }
6953       fprintf (result, "%d\n", i);
6954       exit (fclose (result) == EOF);
6955     }
6956   ]])],
6957        [utils_cv_sys_open_max=`cat conftest.omax`],
6958        [utils_cv_sys_open_max='internal error in open-max.m4'],
6959        [utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
6960
6961   AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
6962     $utils_cv_sys_open_max,
6963     [the maximum number of simultaneously open files per process])
6964 ])
6965
6966 #serial 4
6967 # Check whether getcwd has the bug that it succeeds for a working directory
6968 # longer than PATH_MAX, yet returns a truncated directory name.
6969 # If so, arrange to compile the wrapper function.
6970
6971 # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
6972 # I've heard that this is due to a Linux kernel bug, and that it has
6973 # been fixed between 2.4.21-pre3 and 2.4.21-pre4.  */
6974
6975 # From Jim Meyering
6976
6977 AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
6978 [
6979   AC_CHECK_DECLS([getcwd])
6980   AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
6981                  gl_cv_func_getcwd_vs_path_max,
6982   [
6983   # Arrange for deletion of the temporary directory this test creates.
6984   ac_clean_files="$ac_clean_files confdir3"
6985   AC_RUN_IFELSE([AC_LANG_SOURCE([[
6986 #include <stdlib.h>
6987 #include <unistd.h>
6988 #include <string.h>
6989 #include <limits.h>
6990 #include <sys/stat.h>
6991 #include <sys/types.h>
6992
6993 /* Don't get link errors because mkdir is redefined to rpl_mkdir.  */
6994 #undef mkdir
6995
6996 #ifndef CHAR_BIT
6997 # define CHAR_BIT 8
6998 #endif
6999
7000 /* The extra casts work around common compiler bugs.  */
7001 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
7002 /* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
7003    It is necessary at least when t == time_t.  */
7004 #define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
7005                               ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
7006 #define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
7007
7008 #ifndef INT_MAX
7009 # define INT_MAX TYPE_MAXIMUM (int)
7010 #endif
7011
7012 /* The length of this name must be 8.  */
7013 #define DIR_NAME "confdir3"
7014
7015 int
7016 main ()
7017 {
7018 #ifndef PATH_MAX
7019   /* The Hurd doesn't define this, so getcwd can't exhibit the bug --
7020      at least not on a local file system.  And if we were to start worrying
7021      about remote file systems, we'd have to enable the wrapper function
7022      all of the time, just to be safe.  That's not worth the cost.  */
7023   exit (0);
7024 #elif INT_MAX - 9 <= PATH_MAX
7025   /* The '9', above, comes from strlen (DIR_NAME) + 1.  */
7026   /* FIXME: Assuming there's a system for which this is true,
7027      this should be done in a compile test.  */
7028   exit (0);
7029 #else
7030   char buf[PATH_MAX + 20];
7031   char *cwd = getcwd (buf, PATH_MAX);
7032   size_t cwd_len;
7033   int fail = 0;
7034   size_t n_chdirs = 0;
7035
7036   if (cwd == NULL)
7037     exit (1);
7038
7039   cwd_len = strlen (cwd);
7040
7041   while (1)
7042     {
7043       char *c;
7044       size_t len;
7045
7046       cwd_len += 1 + strlen (DIR_NAME);
7047       /* If mkdir or chdir fails, be pessimistic and consider that
7048          as a failure, too.  */
7049       if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
7050         {
7051           fail = 1;
7052           break;
7053         }
7054       if ((c = getcwd (buf, PATH_MAX)) == NULL)
7055         {
7056           /* This allows any failure to indicate there is no bug.
7057              FIXME: check errno?  */
7058           break;
7059         }
7060       if ((len = strlen (c)) != cwd_len)
7061         {
7062           fail = 1;
7063           break;
7064         }
7065       ++n_chdirs;
7066       if (PATH_MAX < len)
7067         break;
7068     }
7069
7070   /* Leaving behind such a deep directory is not polite.
7071      So clean up here, right away, even though the driving
7072      shell script would also clean up.  */
7073   {
7074     size_t i;
7075
7076     /* Unlink first, in case the chdir failed.  */
7077     unlink (DIR_NAME);
7078     for (i = 0; i <= n_chdirs; i++)
7079       {
7080         if (chdir ("..") < 0)
7081           break;
7082         rmdir (DIR_NAME);
7083       }
7084   }
7085
7086   exit (fail);
7087 #endif
7088 }
7089   ]])],
7090        [gl_cv_func_getcwd_vs_path_max=yes],
7091        [gl_cv_func_getcwd_vs_path_max=no],
7092        [gl_cv_func_getcwd_vs_path_max=no])])
7093
7094   if test $gl_cv_func_getcwd_vs_path_max = yes; then
7095     AC_LIBOBJ(getcwd)
7096     AC_DEFINE(getcwd, rpl_getcwd,
7097       [Define to rpl_getcwd if the wrapper function should be used.])
7098   fi
7099 ])
7100
7101 #serial 6
7102
7103 dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
7104 dnl to test whether a NULL return value really means there are no more files
7105 dnl in the directory.
7106 dnl
7107 dnl And the rm from coreutils-5.0 exposes a similar problem when there
7108 dnl are 338 or more files in a directory on a Darwin-6.5 system
7109 dnl
7110 dnl Detect the problem by creating a directory containing 500 files (254 not
7111 dnl counting . and .. is the minimum for SunOS, 338 for Darwin) and see
7112 dnl if a loop doing `readdir; unlink' removes all of them.
7113 dnl
7114 dnl Define HAVE_WORKING_READDIR if readdir does *not* have this problem.
7115
7116 dnl Written by Jim Meyering.
7117
7118 AC_DEFUN([GL_FUNC_READDIR],
7119 [dnl
7120 AC_REQUIRE([AC_HEADER_DIRENT])
7121 AC_CHECK_HEADERS_ONCE(string.h)
7122 AC_CACHE_CHECK([for working readdir], gl_cv_func_working_readdir,
7123   [dnl
7124   # Arrange for deletion of the temporary directory this test creates, in
7125   # case the test itself fails to delete everything -- as happens on Sunos.
7126   ac_clean_files="$ac_clean_files conf-dir"
7127
7128   AC_TRY_RUN(
7129 [#   include <stdio.h>
7130 #   include <sys/types.h>
7131 #   if HAVE_STRING_H
7132 #    include <string.h>
7133 #   endif
7134
7135 #   ifdef HAVE_DIRENT_H
7136 #    include <dirent.h>
7137 #    define NLENGTH(direct) (strlen((direct)->d_name))
7138 #   else /* not HAVE_DIRENT_H */
7139 #    define dirent direct
7140 #    define NLENGTH(direct) ((direct)->d_namlen)
7141 #    ifdef HAVE_SYS_NDIR_H
7142 #     include <sys/ndir.h>
7143 #    endif /* HAVE_SYS_NDIR_H */
7144 #    ifdef HAVE_SYS_DIR_H
7145 #     include <sys/dir.h>
7146 #    endif /* HAVE_SYS_DIR_H */
7147 #    ifdef HAVE_NDIR_H
7148 #     include <ndir.h>
7149 #    endif /* HAVE_NDIR_H */
7150 #   endif /* HAVE_DIRENT_H */
7151
7152 #   define DOT_OR_DOTDOT(Basename) \
7153      (Basename[0] == '.' && (Basename[1] == '\0' \
7154                              || (Basename[1] == '.' && Basename[2] == '\0')))
7155
7156 /* Don't try to use replacement mkdir; it wouldn't resolve at link time.  */
7157 #   undef mkdir
7158
7159     static void
7160     create_N_file_dir (const char *dir, size_t n_files)
7161     {
7162       unsigned int i;
7163
7164       if (mkdir (dir, 0700))
7165         abort ();
7166       if (chdir (dir))
7167         abort ();
7168
7169       for (i = 0; i < n_files; i++)
7170         {
7171           char file_name[4];
7172           FILE *out;
7173
7174           sprintf (file_name, "%03d", i);
7175           out = fopen (file_name, "w");
7176           if (!out)
7177             abort ();
7178           if (fclose (out) == EOF)
7179             abort ();
7180         }
7181
7182       if (chdir (".."))
7183         abort ();
7184     }
7185
7186     static void
7187     remove_dir (const char *dir)
7188     {
7189       DIR *dirp;
7190
7191       if (chdir (dir))
7192         abort ();
7193
7194       dirp = opendir (".");
7195       if (dirp == NULL)
7196         abort ();
7197
7198       while (1)
7199         {
7200           struct dirent *dp = readdir (dirp);
7201           if (dp == NULL)
7202             break;
7203
7204           if (DOT_OR_DOTDOT (dp->d_name))
7205             continue;
7206
7207           if (unlink (dp->d_name))
7208             abort ();
7209         }
7210       closedir (dirp);
7211
7212       if (chdir (".."))
7213         abort ();
7214
7215       if (rmdir (dir))
7216         exit (1);
7217     }
7218
7219     int
7220     main ()
7221     {
7222       const char *dir = "conf-dir";
7223       create_N_file_dir (dir, 500);
7224       remove_dir (dir);
7225       exit (0);
7226     }],
7227   gl_cv_func_working_readdir=yes,
7228   gl_cv_func_working_readdir=no,
7229   gl_cv_func_working_readdir=no)])
7230
7231   if test $gl_cv_func_working_readdir = yes; then
7232     AC_DEFINE(HAVE_WORKING_READDIR, 1,
7233       [Define if readdir is found to work properly in some unusual cases. ])
7234   fi
7235 ])
7236
7237 # codeset.m4 serial AM1 (gettext-0.10.40)
7238 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
7239 dnl This file is free software, distributed under the terms of the GNU
7240 dnl General Public License.  As a special exception to the GNU General
7241 dnl Public License, this file may be distributed as part of a program
7242 dnl that contains a configuration script generated by Autoconf, under
7243 dnl the same distribution terms as the rest of that program.
7244
7245 dnl From Bruno Haible.
7246
7247 AC_DEFUN([AM_LANGINFO_CODESET],
7248 [
7249   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
7250     [AC_TRY_LINK([#include <langinfo.h>],
7251       [char* cs = nl_langinfo(CODESET);],
7252       am_cv_langinfo_codeset=yes,
7253       am_cv_langinfo_codeset=no)
7254     ])
7255   if test $am_cv_langinfo_codeset = yes; then
7256     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
7257       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
7258   fi
7259 ])
7260
7261 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
7262 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
7263 dnl This file is free software, distributed under the terms of the GNU
7264 dnl General Public License.  As a special exception to the GNU General
7265 dnl Public License, this file may be distributed as part of a program
7266 dnl that contains a configuration script generated by Autoconf, under
7267 dnl the same distribution terms as the rest of that program.
7268
7269 # Test for the GNU C Library, version 2.1 or newer.
7270 # From Bruno Haible.
7271
7272 AC_DEFUN([jm_GLIBC21],
7273   [
7274     AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
7275       ac_cv_gnu_library_2_1,
7276       [AC_EGREP_CPP([Lucky GNU user],
7277         [
7278 #include <features.h>
7279 #ifdef __GNU_LIBRARY__
7280  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
7281   Lucky GNU user
7282  #endif
7283 #endif
7284         ],
7285         ac_cv_gnu_library_2_1=yes,
7286         ac_cv_gnu_library_2_1=no)
7287       ]
7288     )
7289     AC_SUBST(GLIBC21)
7290     GLIBC21="$ac_cv_gnu_library_2_1"
7291   ]
7292 )
7293
7294 # iconv.m4 serial AM4 (gettext-0.11.3)
7295 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
7296 dnl This file is free software, distributed under the terms of the GNU
7297 dnl General Public License.  As a special exception to the GNU General
7298 dnl Public License, this file may be distributed as part of a program
7299 dnl that contains a configuration script generated by Autoconf, under
7300 dnl the same distribution terms as the rest of that program.
7301
7302 dnl From Bruno Haible.
7303
7304 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
7305 [
7306   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
7307   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
7308   AC_REQUIRE([AC_LIB_RPATH])
7309
7310   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
7311   dnl accordingly.
7312   AC_LIB_LINKFLAGS_BODY([iconv])
7313 ])
7314
7315 AC_DEFUN([AM_ICONV_LINK],
7316 [
7317   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
7318   dnl those with the standalone portable GNU libiconv installed).
7319
7320   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
7321   dnl accordingly.
7322   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
7323
7324   dnl Add $INCICONV to CPPFLAGS before performing the following checks,
7325   dnl because if the user has installed libiconv and not disabled its use
7326   dnl via --without-libiconv-prefix, he wants to use it. The first
7327   dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
7328   am_save_CPPFLAGS="$CPPFLAGS"
7329   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
7330
7331   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
7332     am_cv_func_iconv="no, consider installing GNU libiconv"
7333     am_cv_lib_iconv=no
7334     AC_TRY_LINK([#include <stdlib.h>
7335 #include <iconv.h>],
7336       [iconv_t cd = iconv_open("","");
7337        iconv(cd,NULL,NULL,NULL,NULL);
7338        iconv_close(cd);],
7339       am_cv_func_iconv=yes)
7340     if test "$am_cv_func_iconv" != yes; then
7341       am_save_LIBS="$LIBS"
7342       LIBS="$LIBS $LIBICONV"
7343       AC_TRY_LINK([#include <stdlib.h>
7344 #include <iconv.h>],
7345         [iconv_t cd = iconv_open("","");
7346          iconv(cd,NULL,NULL,NULL,NULL);
7347          iconv_close(cd);],
7348         am_cv_lib_iconv=yes
7349         am_cv_func_iconv=yes)
7350       LIBS="$am_save_LIBS"
7351     fi
7352   ])
7353   if test "$am_cv_func_iconv" = yes; then
7354     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
7355   fi
7356   if test "$am_cv_lib_iconv" = yes; then
7357     AC_MSG_CHECKING([how to link with libiconv])
7358     AC_MSG_RESULT([$LIBICONV])
7359   else
7360     dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
7361     dnl either.
7362     CPPFLAGS="$am_save_CPPFLAGS"
7363     LIBICONV=
7364     LTLIBICONV=
7365   fi
7366   AC_SUBST(LIBICONV)
7367   AC_SUBST(LTLIBICONV)
7368 ])
7369
7370 AC_DEFUN([AM_ICONV],
7371 [
7372   AM_ICONV_LINK
7373   if test "$am_cv_func_iconv" = yes; then
7374     AC_MSG_CHECKING([for iconv declaration])
7375     AC_CACHE_VAL(am_cv_proto_iconv, [
7376       AC_TRY_COMPILE([
7377 #include <stdlib.h>
7378 #include <iconv.h>
7379 extern
7380 #ifdef __cplusplus
7381 "C"
7382 #endif
7383 #if defined(__STDC__) || defined(__cplusplus)
7384 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
7385 #else
7386 size_t iconv();
7387 #endif
7388 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
7389       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);"])
7390     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
7391     AC_MSG_RESULT([$]{ac_t:-
7392          }[$]am_cv_proto_iconv)
7393     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
7394       [Define as const if the declaration of iconv() needs const.])
7395   fi
7396 ])
7397
7398 # lib-prefix.m4 serial 2 (gettext-0.12)
7399 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
7400 dnl This file is free software, distributed under the terms of the GNU
7401 dnl General Public License.  As a special exception to the GNU General
7402 dnl Public License, this file may be distributed as part of a program
7403 dnl that contains a configuration script generated by Autoconf, under
7404 dnl the same distribution terms as the rest of that program.
7405
7406 dnl From Bruno Haible.
7407
7408 dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
7409 dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
7410 dnl require excessive bracketing.
7411 ifdef([AC_HELP_STRING],
7412 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
7413 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
7414
7415 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
7416 dnl to access previously installed libraries. The basic assumption is that
7417 dnl a user will want packages to use other packages he previously installed
7418 dnl with the same --prefix option.
7419 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
7420 dnl libraries, but is otherwise very convenient.
7421 AC_DEFUN([AC_LIB_PREFIX],
7422 [
7423   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
7424   AC_REQUIRE([AC_PROG_CC])
7425   AC_REQUIRE([AC_CANONICAL_HOST])
7426   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
7427   dnl By default, look in $includedir and $libdir.
7428   use_additional=yes
7429   AC_LIB_WITH_FINAL_PREFIX([
7430     eval additional_includedir=\"$includedir\"
7431     eval additional_libdir=\"$libdir\"
7432   ])
7433   AC_LIB_ARG_WITH([lib-prefix],
7434 [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
7435   --without-lib-prefix    don't search for libraries in includedir and libdir],
7436 [
7437     if test "X$withval" = "Xno"; then
7438       use_additional=no
7439     else
7440       if test "X$withval" = "X"; then
7441         AC_LIB_WITH_FINAL_PREFIX([
7442           eval additional_includedir=\"$includedir\"
7443           eval additional_libdir=\"$libdir\"
7444         ])
7445       else
7446         additional_includedir="$withval/include"
7447         additional_libdir="$withval/lib"
7448       fi
7449     fi
7450 ])
7451   if test $use_additional = yes; then
7452     dnl Potentially add $additional_includedir to $CPPFLAGS.
7453     dnl But don't add it
7454     dnl   1. if it's the standard /usr/include,
7455     dnl   2. if it's already present in $CPPFLAGS,
7456     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
7457     dnl   4. if it doesn't exist as a directory.
7458     if test "X$additional_includedir" != "X/usr/include"; then
7459       haveit=
7460       for x in $CPPFLAGS; do
7461         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7462         if test "X$x" = "X-I$additional_includedir"; then
7463           haveit=yes
7464           break
7465         fi
7466       done
7467       if test -z "$haveit"; then
7468         if test "X$additional_includedir" = "X/usr/local/include"; then
7469           if test -n "$GCC"; then
7470             case $host_os in
7471               linux*) haveit=yes;;
7472             esac
7473           fi
7474         fi
7475         if test -z "$haveit"; then
7476           if test -d "$additional_includedir"; then
7477             dnl Really add $additional_includedir to $CPPFLAGS.
7478             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
7479           fi
7480         fi
7481       fi
7482     fi
7483     dnl Potentially add $additional_libdir to $LDFLAGS.
7484     dnl But don't add it
7485     dnl   1. if it's the standard /usr/lib,
7486     dnl   2. if it's already present in $LDFLAGS,
7487     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
7488     dnl   4. if it doesn't exist as a directory.
7489     if test "X$additional_libdir" != "X/usr/lib"; then
7490       haveit=
7491       for x in $LDFLAGS; do
7492         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7493         if test "X$x" = "X-L$additional_libdir"; then
7494           haveit=yes
7495           break
7496         fi
7497       done
7498       if test -z "$haveit"; then
7499         if test "X$additional_libdir" = "X/usr/local/lib"; then
7500           if test -n "$GCC"; then
7501             case $host_os in
7502               linux*) haveit=yes;;
7503             esac
7504           fi
7505         fi
7506         if test -z "$haveit"; then
7507           if test -d "$additional_libdir"; then
7508             dnl Really add $additional_libdir to $LDFLAGS.
7509             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
7510           fi
7511         fi
7512       fi
7513     fi
7514   fi
7515 ])
7516
7517 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
7518 dnl acl_final_exec_prefix, containing the values to which $prefix and
7519 dnl $exec_prefix will expand at the end of the configure script.
7520 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
7521 [
7522   dnl Unfortunately, prefix and exec_prefix get only finally determined
7523   dnl at the end of configure.
7524   if test "X$prefix" = "XNONE"; then
7525     acl_final_prefix="$ac_default_prefix"
7526   else
7527     acl_final_prefix="$prefix"
7528   fi
7529   if test "X$exec_prefix" = "XNONE"; then
7530     acl_final_exec_prefix='${prefix}'
7531   else
7532     acl_final_exec_prefix="$exec_prefix"
7533   fi
7534   acl_save_prefix="$prefix"
7535   prefix="$acl_final_prefix"
7536   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
7537   prefix="$acl_save_prefix"
7538 ])
7539
7540 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
7541 dnl variables prefix and exec_prefix bound to the values they will have
7542 dnl at the end of the configure script.
7543 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
7544 [
7545   acl_save_prefix="$prefix"
7546   prefix="$acl_final_prefix"
7547   acl_save_exec_prefix="$exec_prefix"
7548   exec_prefix="$acl_final_exec_prefix"
7549   $1
7550   exec_prefix="$acl_save_exec_prefix"
7551   prefix="$acl_save_prefix"
7552 ])
7553
7554 # lib-link.m4 serial 4 (gettext-0.12)
7555 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
7556 dnl This file is free software, distributed under the terms of the GNU
7557 dnl General Public License.  As a special exception to the GNU General
7558 dnl Public License, this file may be distributed as part of a program
7559 dnl that contains a configuration script generated by Autoconf, under
7560 dnl the same distribution terms as the rest of that program.
7561
7562 dnl From Bruno Haible.
7563
7564 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
7565 dnl the libraries corresponding to explicit and implicit dependencies.
7566 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
7567 dnl augments the CPPFLAGS variable.
7568 AC_DEFUN([AC_LIB_LINKFLAGS],
7569 [
7570   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
7571   AC_REQUIRE([AC_LIB_RPATH])
7572   define([Name],[translit([$1],[./-], [___])])
7573   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
7574                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
7575   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
7576     AC_LIB_LINKFLAGS_BODY([$1], [$2])
7577     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
7578     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
7579     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
7580   ])
7581   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
7582   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
7583   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
7584   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
7585   AC_SUBST([LIB]NAME)
7586   AC_SUBST([LTLIB]NAME)
7587   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
7588   dnl results of this search when this library appears as a dependency.
7589   HAVE_LIB[]NAME=yes
7590   undefine([Name])
7591   undefine([NAME])
7592 ])
7593
7594 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
7595 dnl searches for libname and the libraries corresponding to explicit and
7596 dnl implicit dependencies, together with the specified include files and
7597 dnl the ability to compile and link the specified testcode. If found, it
7598 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
7599 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
7600 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
7601 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
7602 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
7603 [
7604   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
7605   AC_REQUIRE([AC_LIB_RPATH])
7606   define([Name],[translit([$1],[./-], [___])])
7607   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
7608                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
7609
7610   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
7611   dnl accordingly.
7612   AC_LIB_LINKFLAGS_BODY([$1], [$2])
7613
7614   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
7615   dnl because if the user has installed lib[]Name and not disabled its use
7616   dnl via --without-lib[]Name-prefix, he wants to use it.
7617   ac_save_CPPFLAGS="$CPPFLAGS"
7618   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
7619
7620   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
7621     ac_save_LIBS="$LIBS"
7622     LIBS="$LIBS $LIB[]NAME"
7623     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
7624     LIBS="$ac_save_LIBS"
7625   ])
7626   if test "$ac_cv_lib[]Name" = yes; then
7627     HAVE_LIB[]NAME=yes
7628     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
7629     AC_MSG_CHECKING([how to link with lib[]$1])
7630     AC_MSG_RESULT([$LIB[]NAME])
7631   else
7632     HAVE_LIB[]NAME=no
7633     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
7634     dnl $INC[]NAME either.
7635     CPPFLAGS="$ac_save_CPPFLAGS"
7636     LIB[]NAME=
7637     LTLIB[]NAME=
7638   fi
7639   AC_SUBST([HAVE_LIB]NAME)
7640   AC_SUBST([LIB]NAME)
7641   AC_SUBST([LTLIB]NAME)
7642   undefine([Name])
7643   undefine([NAME])
7644 ])
7645
7646 dnl Determine the platform dependent parameters needed to use rpath:
7647 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
7648 dnl hardcode_direct, hardcode_minus_L.
7649 AC_DEFUN([AC_LIB_RPATH],
7650 [
7651   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
7652   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
7653   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
7654   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
7655   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
7656     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
7657     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
7658     . ./conftest.sh
7659     rm -f ./conftest.sh
7660     acl_cv_rpath=done
7661   ])
7662   wl="$acl_cv_wl"
7663   libext="$acl_cv_libext"
7664   shlibext="$acl_cv_shlibext"
7665   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
7666   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
7667   hardcode_direct="$acl_cv_hardcode_direct"
7668   hardcode_minus_L="$acl_cv_hardcode_minus_L"
7669   dnl Determine whether the user wants rpath handling at all.
7670   AC_ARG_ENABLE(rpath,
7671     [  --disable-rpath         do not hardcode runtime library paths],
7672     :, enable_rpath=yes)
7673 ])
7674
7675 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
7676 dnl the libraries corresponding to explicit and implicit dependencies.
7677 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
7678 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
7679 [
7680   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
7681                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
7682   dnl By default, look in $includedir and $libdir.
7683   use_additional=yes
7684   AC_LIB_WITH_FINAL_PREFIX([
7685     eval additional_includedir=\"$includedir\"
7686     eval additional_libdir=\"$libdir\"
7687   ])
7688   AC_LIB_ARG_WITH([lib$1-prefix],
7689 [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
7690   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
7691 [
7692     if test "X$withval" = "Xno"; then
7693       use_additional=no
7694     else
7695       if test "X$withval" = "X"; then
7696         AC_LIB_WITH_FINAL_PREFIX([
7697           eval additional_includedir=\"$includedir\"
7698           eval additional_libdir=\"$libdir\"
7699         ])
7700       else
7701         additional_includedir="$withval/include"
7702         additional_libdir="$withval/lib"
7703       fi
7704     fi
7705 ])
7706   dnl Search the library and its dependencies in $additional_libdir and
7707   dnl $LDFLAGS. Using breadth-first-seach.
7708   LIB[]NAME=
7709   LTLIB[]NAME=
7710   INC[]NAME=
7711   rpathdirs=
7712   ltrpathdirs=
7713   names_already_handled=
7714   names_next_round='$1 $2'
7715   while test -n "$names_next_round"; do
7716     names_this_round="$names_next_round"
7717     names_next_round=
7718     for name in $names_this_round; do
7719       already_handled=
7720       for n in $names_already_handled; do
7721         if test "$n" = "$name"; then
7722           already_handled=yes
7723           break
7724         fi
7725       done
7726       if test -z "$already_handled"; then
7727         names_already_handled="$names_already_handled $name"
7728         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
7729         dnl or AC_LIB_HAVE_LINKFLAGS call.
7730         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
7731         eval value=\"\$HAVE_LIB$uppername\"
7732         if test -n "$value"; then
7733           if test "$value" = yes; then
7734             eval value=\"\$LIB$uppername\"
7735             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
7736             eval value=\"\$LTLIB$uppername\"
7737             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
7738           else
7739             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
7740             dnl that this library doesn't exist. So just drop it.
7741             :
7742           fi
7743         else
7744           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
7745           dnl and the already constructed $LIBNAME/$LTLIBNAME.
7746           found_dir=
7747           found_la=
7748           found_so=
7749           found_a=
7750           if test $use_additional = yes; then
7751             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
7752               found_dir="$additional_libdir"
7753               found_so="$additional_libdir/lib$name.$shlibext"
7754               if test -f "$additional_libdir/lib$name.la"; then
7755                 found_la="$additional_libdir/lib$name.la"
7756               fi
7757             else
7758               if test -f "$additional_libdir/lib$name.$libext"; then
7759                 found_dir="$additional_libdir"
7760                 found_a="$additional_libdir/lib$name.$libext"
7761                 if test -f "$additional_libdir/lib$name.la"; then
7762                   found_la="$additional_libdir/lib$name.la"
7763                 fi
7764               fi
7765             fi
7766           fi
7767           if test "X$found_dir" = "X"; then
7768             for x in $LDFLAGS $LTLIB[]NAME; do
7769               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7770               case "$x" in
7771                 -L*)
7772                   dir=`echo "X$x" | sed -e 's/^X-L//'`
7773                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
7774                     found_dir="$dir"
7775                     found_so="$dir/lib$name.$shlibext"
7776                     if test -f "$dir/lib$name.la"; then
7777                       found_la="$dir/lib$name.la"
7778                     fi
7779                   else
7780                     if test -f "$dir/lib$name.$libext"; then
7781                       found_dir="$dir"
7782                       found_a="$dir/lib$name.$libext"
7783                       if test -f "$dir/lib$name.la"; then
7784                         found_la="$dir/lib$name.la"
7785                       fi
7786                     fi
7787                   fi
7788                   ;;
7789               esac
7790               if test "X$found_dir" != "X"; then
7791                 break
7792               fi
7793             done
7794           fi
7795           if test "X$found_dir" != "X"; then
7796             dnl Found the library.
7797             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
7798             if test "X$found_so" != "X"; then
7799               dnl Linking with a shared library. We attempt to hardcode its
7800               dnl directory into the executable's runpath, unless it's the
7801               dnl standard /usr/lib.
7802               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
7803                 dnl No hardcoding is needed.
7804                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
7805               else
7806                 dnl Use an explicit option to hardcode DIR into the resulting
7807                 dnl binary.
7808                 dnl Potentially add DIR to ltrpathdirs.
7809                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
7810                 haveit=
7811                 for x in $ltrpathdirs; do
7812                   if test "X$x" = "X$found_dir"; then
7813                     haveit=yes
7814                     break
7815                   fi
7816                 done
7817                 if test -z "$haveit"; then
7818                   ltrpathdirs="$ltrpathdirs $found_dir"
7819                 fi
7820                 dnl The hardcoding into $LIBNAME is system dependent.
7821                 if test "$hardcode_direct" = yes; then
7822                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
7823                   dnl resulting binary.
7824                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
7825                 else
7826                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
7827                     dnl Use an explicit option to hardcode DIR into the resulting
7828                     dnl binary.
7829                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
7830                     dnl Potentially add DIR to rpathdirs.
7831                     dnl The rpathdirs will be appended to $LIBNAME at the end.
7832                     haveit=
7833                     for x in $rpathdirs; do
7834                       if test "X$x" = "X$found_dir"; then
7835                         haveit=yes
7836                         break
7837                       fi
7838                     done
7839                     if test -z "$haveit"; then
7840                       rpathdirs="$rpathdirs $found_dir"
7841                     fi
7842                   else
7843                     dnl Rely on "-L$found_dir".
7844                     dnl But don't add it if it's already contained in the LDFLAGS
7845                     dnl or the already constructed $LIBNAME
7846                     haveit=
7847                     for x in $LDFLAGS $LIB[]NAME; do
7848                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7849                       if test "X$x" = "X-L$found_dir"; then
7850                         haveit=yes
7851                         break
7852                       fi
7853                     done
7854                     if test -z "$haveit"; then
7855                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
7856                     fi
7857                     if test "$hardcode_minus_L" != no; then
7858                       dnl FIXME: Not sure whether we should use
7859                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
7860                       dnl here.
7861                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
7862                     else
7863                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
7864                       dnl here, because this doesn't fit in flags passed to the
7865                       dnl compiler. So give up. No hardcoding. This affects only
7866                       dnl very old systems.
7867                       dnl FIXME: Not sure whether we should use
7868                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
7869                       dnl here.
7870                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
7871                     fi
7872                   fi
7873                 fi
7874               fi
7875             else
7876               if test "X$found_a" != "X"; then
7877                 dnl Linking with a static library.
7878                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
7879               else
7880                 dnl We shouldn't come here, but anyway it's good to have a
7881                 dnl fallback.
7882                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
7883               fi
7884             fi
7885             dnl Assume the include files are nearby.
7886             additional_includedir=
7887             case "$found_dir" in
7888               */lib | */lib/)
7889                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
7890                 additional_includedir="$basedir/include"
7891                 ;;
7892             esac
7893             if test "X$additional_includedir" != "X"; then
7894               dnl Potentially add $additional_includedir to $INCNAME.
7895               dnl But don't add it
7896               dnl   1. if it's the standard /usr/include,
7897               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
7898               dnl   3. if it's already present in $CPPFLAGS or the already
7899               dnl      constructed $INCNAME,
7900               dnl   4. if it doesn't exist as a directory.
7901               if test "X$additional_includedir" != "X/usr/include"; then
7902                 haveit=
7903                 if test "X$additional_includedir" = "X/usr/local/include"; then
7904                   if test -n "$GCC"; then
7905                     case $host_os in
7906                       linux*) haveit=yes;;
7907                     esac
7908                   fi
7909                 fi
7910                 if test -z "$haveit"; then
7911                   for x in $CPPFLAGS $INC[]NAME; do
7912                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7913                     if test "X$x" = "X-I$additional_includedir"; then
7914                       haveit=yes
7915                       break
7916                     fi
7917                   done
7918                   if test -z "$haveit"; then
7919                     if test -d "$additional_includedir"; then
7920                       dnl Really add $additional_includedir to $INCNAME.
7921                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
7922                     fi
7923                   fi
7924                 fi
7925               fi
7926             fi
7927             dnl Look for dependencies.
7928             if test -n "$found_la"; then
7929               dnl Read the .la file. It defines the variables
7930               dnl dlname, library_names, old_library, dependency_libs, current,
7931               dnl age, revision, installed, dlopen, dlpreopen, libdir.
7932               save_libdir="$libdir"
7933               case "$found_la" in
7934                 */* | *\\*) . "$found_la" ;;
7935                 *) . "./$found_la" ;;
7936               esac
7937               libdir="$save_libdir"
7938               dnl We use only dependency_libs.
7939               for dep in $dependency_libs; do
7940                 case "$dep" in
7941                   -L*)
7942                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
7943                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
7944                     dnl But don't add it
7945                     dnl   1. if it's the standard /usr/lib,
7946                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
7947                     dnl   3. if it's already present in $LDFLAGS or the already
7948                     dnl      constructed $LIBNAME,
7949                     dnl   4. if it doesn't exist as a directory.
7950                     if test "X$additional_libdir" != "X/usr/lib"; then
7951                       haveit=
7952                       if test "X$additional_libdir" = "X/usr/local/lib"; then
7953                         if test -n "$GCC"; then
7954                           case $host_os in
7955                             linux*) haveit=yes;;
7956                           esac
7957                         fi
7958                       fi
7959                       if test -z "$haveit"; then
7960                         haveit=
7961                         for x in $LDFLAGS $LIB[]NAME; do
7962                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7963                           if test "X$x" = "X-L$additional_libdir"; then
7964                             haveit=yes
7965                             break
7966                           fi
7967                         done
7968                         if test -z "$haveit"; then
7969                           if test -d "$additional_libdir"; then
7970                             dnl Really add $additional_libdir to $LIBNAME.
7971                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
7972                           fi
7973                         fi
7974                         haveit=
7975                         for x in $LDFLAGS $LTLIB[]NAME; do
7976                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
7977                           if test "X$x" = "X-L$additional_libdir"; then
7978                             haveit=yes
7979                             break
7980                           fi
7981                         done
7982                         if test -z "$haveit"; then
7983                           if test -d "$additional_libdir"; then
7984                             dnl Really add $additional_libdir to $LTLIBNAME.
7985                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
7986                           fi
7987                         fi
7988                       fi
7989                     fi
7990                     ;;
7991                   -R*)
7992                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
7993                     if test "$enable_rpath" != no; then
7994                       dnl Potentially add DIR to rpathdirs.
7995                       dnl The rpathdirs will be appended to $LIBNAME at the end.
7996                       haveit=
7997                       for x in $rpathdirs; do
7998                         if test "X$x" = "X$dir"; then
7999                           haveit=yes
8000                           break
8001                         fi
8002                       done
8003                       if test -z "$haveit"; then
8004                         rpathdirs="$rpathdirs $dir"
8005                       fi
8006                       dnl Potentially add DIR to ltrpathdirs.
8007                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
8008                       haveit=
8009                       for x in $ltrpathdirs; do
8010                         if test "X$x" = "X$dir"; then
8011                           haveit=yes
8012                           break
8013                         fi
8014                       done
8015                       if test -z "$haveit"; then
8016                         ltrpathdirs="$ltrpathdirs $dir"
8017                       fi
8018                     fi
8019                     ;;
8020                   -l*)
8021                     dnl Handle this in the next round.
8022                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
8023                     ;;
8024                   *.la)
8025                     dnl Handle this in the next round. Throw away the .la's
8026                     dnl directory; it is already contained in a preceding -L
8027                     dnl option.
8028                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
8029                     ;;
8030                   *)
8031                     dnl Most likely an immediate library name.
8032                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
8033                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
8034                     ;;
8035                 esac
8036               done
8037             fi
8038           else
8039             dnl Didn't find the library; assume it is in the system directories
8040             dnl known to the linker and runtime loader. (All the system
8041             dnl directories known to the linker should also be known to the
8042             dnl runtime loader, otherwise the system is severely misconfigured.)
8043             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
8044             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
8045           fi
8046         fi
8047       fi
8048     done
8049   done
8050   if test "X$rpathdirs" != "X"; then
8051     if test -n "$hardcode_libdir_separator"; then
8052       dnl Weird platform: only the last -rpath option counts, the user must
8053       dnl pass all path elements in one option. We can arrange that for a
8054       dnl single library, but not when more than one $LIBNAMEs are used.
8055       alldirs=
8056       for found_dir in $rpathdirs; do
8057         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
8058       done
8059       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
8060       acl_save_libdir="$libdir"
8061       libdir="$alldirs"
8062       eval flag=\"$hardcode_libdir_flag_spec\"
8063       libdir="$acl_save_libdir"
8064       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
8065     else
8066       dnl The -rpath options are cumulative.
8067       for found_dir in $rpathdirs; do
8068         acl_save_libdir="$libdir"
8069         libdir="$found_dir"
8070         eval flag=\"$hardcode_libdir_flag_spec\"
8071         libdir="$acl_save_libdir"
8072         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
8073       done
8074     fi
8075   fi
8076   if test "X$ltrpathdirs" != "X"; then
8077     dnl When using libtool, the option that works for both libraries and
8078     dnl executables is -R. The -R options are cumulative.
8079     for found_dir in $ltrpathdirs; do
8080       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
8081     done
8082   fi
8083 ])
8084
8085 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
8086 dnl unless already present in VAR.
8087 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
8088 dnl contains two or three consecutive elements that belong together.
8089 AC_DEFUN([AC_LIB_APPENDTOVAR],
8090 [
8091   for element in [$2]; do
8092     haveit=
8093     for x in $[$1]; do
8094       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
8095       if test "X$x" = "X$element"; then
8096         haveit=yes
8097         break
8098       fi
8099     done
8100     if test -z "$haveit"; then
8101       [$1]="${[$1]}${[$1]:+ }$element"
8102     fi
8103   done
8104 ])
8105
8106 # lib-ld.m4 serial 2 (gettext-0.12)
8107 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
8108 dnl This file is free software, distributed under the terms of the GNU
8109 dnl General Public License.  As a special exception to the GNU General
8110 dnl Public License, this file may be distributed as part of a program
8111 dnl that contains a configuration script generated by Autoconf, under
8112 dnl the same distribution terms as the rest of that program.
8113
8114 dnl Subroutines of libtool.m4,
8115 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
8116 dnl with libtool.m4.
8117
8118 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
8119 AC_DEFUN([AC_LIB_PROG_LD_GNU],
8120 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
8121 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
8122 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
8123   acl_cv_prog_gnu_ld=yes
8124 else
8125   acl_cv_prog_gnu_ld=no
8126 fi])
8127 with_gnu_ld=$acl_cv_prog_gnu_ld
8128 ])
8129
8130 dnl From libtool-1.4. Sets the variable LD.
8131 AC_DEFUN([AC_LIB_PROG_LD],
8132 [AC_ARG_WITH(gnu-ld,
8133 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
8134 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
8135 AC_REQUIRE([AC_PROG_CC])dnl
8136 AC_REQUIRE([AC_CANONICAL_HOST])dnl
8137 # Prepare PATH_SEPARATOR.
8138 # The user is always right.
8139 if test "${PATH_SEPARATOR+set}" != set; then
8140   echo "#! /bin/sh" >conf$$.sh
8141   echo  "exit 0"   >>conf$$.sh
8142   chmod +x conf$$.sh
8143   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
8144     PATH_SEPARATOR=';'
8145   else
8146     PATH_SEPARATOR=:
8147   fi
8148   rm -f conf$$.sh
8149 fi
8150 ac_prog=ld
8151 if test "$GCC" = yes; then
8152   # Check if gcc -print-prog-name=ld gives a path.
8153   AC_MSG_CHECKING([for ld used by GCC])
8154   case $host in
8155   *-*-mingw*)
8156     # gcc leaves a trailing carriage return which upsets mingw
8157     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
8158   *)
8159     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
8160   esac
8161   case $ac_prog in
8162     # Accept absolute paths.
8163     [[\\/]* | [A-Za-z]:[\\/]*)]
8164       [re_direlt='/[^/][^/]*/\.\./']
8165       # Canonicalize the path of ld
8166       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
8167       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
8168         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
8169       done
8170       test -z "$LD" && LD="$ac_prog"
8171       ;;
8172   "")
8173     # If it fails, then pretend we aren't using GCC.
8174     ac_prog=ld
8175     ;;
8176   *)
8177     # If it is relative, then search for the first ld in PATH.
8178     with_gnu_ld=unknown
8179     ;;
8180   esac
8181 elif test "$with_gnu_ld" = yes; then
8182   AC_MSG_CHECKING([for GNU ld])
8183 else
8184   AC_MSG_CHECKING([for non-GNU ld])
8185 fi
8186 AC_CACHE_VAL(acl_cv_path_LD,
8187 [if test -z "$LD"; then
8188   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
8189   for ac_dir in $PATH; do
8190     test -z "$ac_dir" && ac_dir=.
8191     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
8192       acl_cv_path_LD="$ac_dir/$ac_prog"
8193       # Check to see if the program is GNU ld.  I'd rather use --version,
8194       # but apparently some GNU ld's only accept -v.
8195       # Break only if it was the GNU/non-GNU ld that we prefer.
8196       if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
8197         test "$with_gnu_ld" != no && break
8198       else
8199         test "$with_gnu_ld" != yes && break
8200       fi
8201     fi
8202   done
8203   IFS="$ac_save_ifs"
8204 else
8205   acl_cv_path_LD="$LD" # Let the user override the test with a path.
8206 fi])
8207 LD="$acl_cv_path_LD"
8208 if test -n "$LD"; then
8209   AC_MSG_RESULT($LD)
8210 else
8211   AC_MSG_RESULT(no)
8212 fi
8213 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
8214 AC_LIB_PROG_LD_GNU
8215 ])
8216
8217 #serial 6
8218
8219 dnl From J. David Anglin.
8220
8221 dnl HPUX and other systems can't unlink shared text that is being executed.
8222
8223 AC_DEFUN([jm_FUNC_UNLINK_BUSY_TEXT],
8224 [dnl
8225   AC_CACHE_CHECK([whether a running program can be unlinked],
8226     jm_cv_func_unlink_busy_text,
8227     [
8228       AC_TRY_RUN([
8229         main (argc, argv)
8230           int argc;
8231           char **argv;
8232         {
8233           if (!argc)
8234             exit (-1);
8235           exit (unlink (argv[0]));
8236         }
8237         ],
8238       jm_cv_func_unlink_busy_text=yes,
8239       jm_cv_func_unlink_busy_text=no,
8240       jm_cv_func_unlink_busy_text=no
8241       )
8242     ]
8243   )
8244
8245   if test $jm_cv_func_unlink_busy_text = no; then
8246     INSTALL=$ac_install_sh
8247   fi
8248 ])
8249
8250 #serial 1
8251 AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
8252   [
8253     AC_REQUIRE([AC_HEADER_STDC])
8254     AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
8255     AC_CHECK_FUNCS(resolvepath)
8256     AC_REQUIRE([AC_HEADER_STAT])
8257
8258     # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
8259     # if the function name weren't so long.  Besides, I would rather
8260     # not have underscores in file names.
8261     AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
8262   ])
8263
8264
8265 # Copyright 1996, 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
8266
8267 # This program is free software; you can redistribute it and/or modify
8268 # it under the terms of the GNU General Public License as published by
8269 # the Free Software Foundation; either version 2, or (at your option)
8270 # any later version.
8271
8272 # This program is distributed in the hope that it will be useful,
8273 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8274 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8275 # GNU General Public License for more details.
8276
8277 # You should have received a copy of the GNU General Public License
8278 # along with this program; if not, write to the Free Software
8279 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
8280 # 02111-1307, USA.
8281
8282 # serial 2
8283
8284 AC_DEFUN([AM_C_PROTOTYPES],
8285 [AC_REQUIRE([AM_PROG_CC_STDC])
8286 AC_REQUIRE([AC_PROG_CPP])
8287 AC_MSG_CHECKING([for function prototypes])
8288 if test "$am_cv_prog_cc_stdc" != no; then
8289   AC_MSG_RESULT(yes)
8290   AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
8291   U= ANSI2KNR=
8292 else
8293   AC_MSG_RESULT(no)
8294   U=_ ANSI2KNR=./ansi2knr
8295 fi
8296 # Ensure some checks needed by ansi2knr itself.
8297 AC_HEADER_STDC
8298 AC_CHECK_HEADERS(string.h)
8299 AC_SUBST(U)dnl
8300 AC_SUBST(ANSI2KNR)dnl
8301 ])
8302
8303 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
8304
8305
8306 # Copyright 1996, 1997, 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
8307
8308 # This program is free software; you can redistribute it and/or modify
8309 # it under the terms of the GNU General Public License as published by
8310 # the Free Software Foundation; either version 2, or (at your option)
8311 # any later version.
8312
8313 # This program is distributed in the hope that it will be useful,
8314 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8315 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8316 # GNU General Public License for more details.
8317
8318 # You should have received a copy of the GNU General Public License
8319 # along with this program; if not, write to the Free Software
8320 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
8321 # 02111-1307, USA.
8322
8323 # serial 2
8324
8325 # @defmac AC_PROG_CC_STDC
8326 # @maindex PROG_CC_STDC
8327 # @ovindex CC
8328 # If the C compiler in not in ANSI C mode by default, try to add an option
8329 # to output variable @code{CC} to make it so.  This macro tries various
8330 # options that select ANSI C on some system or another.  It considers the
8331 # compiler to be in ANSI C mode if it handles function prototypes correctly.
8332 #
8333 # If you use this macro, you should check after calling it whether the C
8334 # compiler has been set to accept ANSI C; if not, the shell variable
8335 # @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
8336 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
8337 # program @code{ansi2knr}, which comes with Ghostscript.
8338 # @end defmac
8339
8340 AC_DEFUN([AM_PROG_CC_STDC],
8341 [AC_REQUIRE([AC_PROG_CC])
8342 AC_BEFORE([$0], [AC_C_INLINE])
8343 AC_BEFORE([$0], [AC_C_CONST])
8344 dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
8345 dnl a magic option to avoid problems with ANSI preprocessor commands
8346 dnl like #elif.
8347 dnl FIXME: can't do this because then AC_AIX won't work due to a
8348 dnl circular dependency.
8349 dnl AC_BEFORE([$0], [AC_PROG_CPP])
8350 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
8351 AC_CACHE_VAL(am_cv_prog_cc_stdc,
8352 [am_cv_prog_cc_stdc=no
8353 ac_save_CC="$CC"
8354 # Don't try gcc -ansi; that turns off useful extensions and
8355 # breaks some systems' header files.
8356 # AIX                   -qlanglvl=ansi
8357 # Ultrix and OSF/1      -std1
8358 # HP-UX 10.20 and later -Ae
8359 # HP-UX older versions  -Aa -D_HPUX_SOURCE
8360 # SVR4                  -Xc -D__EXTENSIONS__
8361 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
8362 do
8363   CC="$ac_save_CC $ac_arg"
8364   AC_TRY_COMPILE(
8365 [#include <stdarg.h>
8366 #include <stdio.h>
8367 #include <sys/types.h>
8368 #include <sys/stat.h>
8369 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
8370 struct buf { int x; };
8371 FILE * (*rcsopen) (struct buf *, struct stat *, int);
8372 static char *e (p, i)
8373      char **p;
8374      int i;
8375 {
8376   return p[i];
8377 }
8378 static char *f (char * (*g) (char **, int), char **p, ...)
8379 {
8380   char *s;
8381   va_list v;
8382   va_start (v,p);
8383   s = g (p, va_arg (v,int));
8384   va_end (v);
8385   return s;
8386 }
8387 int test (int i, double x);
8388 struct s1 {int (*f) (int a);};
8389 struct s2 {int (*f) (double a);};
8390 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
8391 int argc;
8392 char **argv;
8393 ], [
8394 return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
8395 ],
8396 [am_cv_prog_cc_stdc="$ac_arg"; break])
8397 done
8398 CC="$ac_save_CC"
8399 ])
8400 if test -z "$am_cv_prog_cc_stdc"; then
8401   AC_MSG_RESULT([none needed])
8402 else
8403   AC_MSG_RESULT([$am_cv_prog_cc_stdc])
8404 fi
8405 case "x$am_cv_prog_cc_stdc" in
8406   x|xno) ;;
8407   *) CC="$CC $am_cv_prog_cc_stdc" ;;
8408 esac
8409 ])
8410
8411 AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
8412
8413 #serial 3
8414
8415 # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
8416
8417 AC_DEFUN([AC_STRUCT_ST_DM_MODE],
8418  [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
8419    [AC_TRY_COMPILE([#include <sys/types.h>
8420 #include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
8421      ac_cv_struct_st_dm_mode=yes,
8422      ac_cv_struct_st_dm_mode=no)])
8423
8424   if test $ac_cv_struct_st_dm_mode = yes; then
8425     AC_DEFINE(HAVE_ST_DM_MODE, 1,
8426               [Define if struct stat has an st_dm_mode member. ])
8427   fi
8428  ]
8429 )
8430
8431 #serial 6
8432 dnl From Jim Meyering and Paul Eggert.
8433 AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
8434 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
8435  AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
8436                 jm_cv_sys_tiocgwinsz_needs_termios_h,
8437   [jm_cv_sys_tiocgwinsz_needs_termios_h=no
8438
8439    if test $ac_cv_sys_posix_termios = yes; then
8440      AC_EGREP_CPP([yes],
8441      [#include <sys/types.h>
8442 #      include <termios.h>
8443 #      ifdef TIOCGWINSZ
8444          yes
8445 #      endif
8446      ], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
8447    fi
8448   ])
8449 ])
8450
8451 AC_DEFUN([jm_WINSIZE_IN_PTEM],
8452   [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
8453    AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
8454      jm_cv_sys_struct_winsize_needs_sys_ptem_h,
8455      [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
8456       if test $ac_cv_sys_posix_termios = yes; then
8457         AC_TRY_COMPILE([#include <termios.h>]
8458           [struct winsize x;],
8459           [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
8460       fi
8461       if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
8462         AC_TRY_COMPILE([#include <sys/ptem.h>],
8463           [struct winsize x;],
8464           [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
8465       fi])
8466    if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
8467      AC_DEFINE([WINSIZE_IN_PTEM], 1,
8468        [Define if sys/ptem.h is required for struct winsize.])
8469    fi])
8470
8471 # Determine whether this system has infrastructure for obtaining the boot time.
8472
8473 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
8474 * ----------------------------------------------------------
8475 AC_DEFUN([GNULIB_BOOT_TIME],
8476 [
8477   AC_CHECK_FUNCS(sysctl)
8478   AC_CHECK_HEADERS(sys/sysctl.h)
8479   AC_CACHE_CHECK(
8480     [whether we can get the system boot time],
8481     [gnulib_cv_have_boot_time],
8482     [
8483       AC_COMPILE_IFELSE(
8484        [AC_LANG_PROGRAM(
8485 [AC_INCLUDES_DEFAULT
8486 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
8487 # include <sys/param.h> /* needed for OpenBSD 3.0 */
8488 # include <sys/sysctl.h>
8489 #endif
8490 #ifdef HAVE_UTMPX_H
8491 # include <utmpx.h>
8492 #else
8493 # include <utmp.h>
8494 #endif
8495 ],
8496 [[
8497 #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
8498 /* your system *does* have the infrastructure to determine boot time */
8499 #else
8500 please_tell_us_how_to_determine_boot_time_on_your_system
8501 #endif
8502 ]])],
8503        gnulib_cv_have_boot_time=yes,
8504        gnulib_cv_have_boot_time=no)
8505     ])
8506   AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
8507 ])
8508
8509 #serial 4
8510
8511 AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
8512 [AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
8513  AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
8514                 jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
8515   [jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
8516
8517   if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
8518     AC_EGREP_CPP([yes],
8519     [#include <sys/types.h>
8520 #     include <sys/ioctl.h>
8521 #     ifdef TIOCGWINSZ
8522         yes
8523 #     endif
8524     ], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
8525   fi
8526   ])
8527   if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
8528     AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
8529       [Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
8530   fi
8531 ])
8532
8533 #serial 5
8534
8535 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
8536
8537 AC_DEFUN([jm_LIB_CHECK],
8538 [
8539
8540   # Check for libypsec.a on Dolphin M88K machines.
8541   AC_CHECK_LIB(ypsec, main)
8542
8543   # m88k running dgux 5.4 needs this
8544   AC_CHECK_LIB(ldgc, main)
8545
8546   # Some programs need to link with -lm.  printf does if it uses
8547   # lib/strtod.c which uses pow.  And seq uses the math functions,
8548   # floor, modf, rint.  And factor uses sqrt.  And sleep uses fesetround.
8549
8550   # Save a copy of $LIBS and add $FLOOR_LIBM before these tests
8551   # Check for these math functions used by seq.
8552   ac_su_saved_lib="$LIBS"
8553   LIBS="$LIBS -lm"
8554   AC_CHECK_FUNCS(floor modf rint)
8555   LIBS="$ac_su_saved_lib"
8556
8557   AC_SUBST(SQRT_LIBM)
8558   AC_CHECK_FUNCS(sqrt)
8559   if test $ac_cv_func_sqrt = no; then
8560     AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
8561   fi
8562
8563   AC_SUBST(FESETROUND_LIBM)
8564   AC_CHECK_FUNCS(fesetround)
8565   if test $ac_cv_func_fesetround = no; then
8566     AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
8567   fi
8568
8569   # The -lsun library is required for YP support on Irix-4.0.5 systems.
8570   # m88k/svr3 DolphinOS systems using YP need -lypsec for id.
8571   AC_SEARCH_LIBS(yp_match, [sun ypsec])
8572
8573   # SysV needs -lsec, older versions of Linux need -lshadow for
8574   # shadow passwords.  UnixWare 7 needs -lgen.
8575   AC_SEARCH_LIBS(getspnam, [shadow sec gen])
8576
8577   AC_CHECK_HEADERS(shadow.h)
8578
8579   # Requirements for su.c.
8580   shadow_includes="\
8581 $ac_includes_default
8582 #if HAVE_SHADOW_H
8583 # include <shadow.h>
8584 #endif
8585 "
8586   AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
8587   AC_CHECK_FUNCS(getspnam)
8588
8589   # SCO-ODT-3.0 is reported to need -lufc for crypt.
8590   # NetBSD needs -lcrypt for crypt.
8591   ac_su_saved_lib="$LIBS"
8592   AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
8593   LIBS="$ac_su_saved_lib"
8594   AC_SUBST(LIB_CRYPT)
8595 ])
8596
8597 # gettext.m4 serial 20 (gettext-0.12)
8598 dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
8599 dnl This file is free software, distributed under the terms of the GNU
8600 dnl General Public License.  As a special exception to the GNU General
8601 dnl Public License, this file may be distributed as part of a program
8602 dnl that contains a configuration script generated by Autoconf, under
8603 dnl the same distribution terms as the rest of that program.
8604 dnl
8605 dnl This file can can be used in projects which are not available under
8606 dnl the GNU General Public License or the GNU Library General Public
8607 dnl License but which still want to provide support for the GNU gettext
8608 dnl functionality.
8609 dnl Please note that the actual code of the GNU gettext library is covered
8610 dnl by the GNU Library General Public License, and the rest of the GNU
8611 dnl gettext package package is covered by the GNU General Public License.
8612 dnl They are *not* in the public domain.
8613
8614 dnl Authors:
8615 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
8616 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
8617
8618 dnl Macro to add for using GNU gettext.
8619
8620 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
8621 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
8622 dnl    default (if it is not specified or empty) is 'no-libtool'.
8623 dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
8624 dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
8625 dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
8626 dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
8627 dnl    depending on --{enable,disable}-{shared,static} and on the presence of
8628 dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
8629 dnl    $(top_builddir)/intl/libintl.a will be created.
8630 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
8631 dnl    implementations (in libc or libintl) without the ngettext() function
8632 dnl    will be ignored.  If NEEDSYMBOL is specified and is
8633 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
8634 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
8635 dnl INTLDIR is used to find the intl libraries.  If empty,
8636 dnl    the value `$(top_builddir)/intl/' is used.
8637 dnl
8638 dnl The result of the configuration is one of three cases:
8639 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
8640 dnl    and used.
8641 dnl    Catalog format: GNU --> install in $(datadir)
8642 dnl    Catalog extension: .mo after installation, .gmo in source tree
8643 dnl 2) GNU gettext has been found in the system's C library.
8644 dnl    Catalog format: GNU --> install in $(datadir)
8645 dnl    Catalog extension: .mo after installation, .gmo in source tree
8646 dnl 3) No internationalization, always use English msgid.
8647 dnl    Catalog format: none
8648 dnl    Catalog extension: none
8649 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
8650 dnl The use of .gmo is historical (it was needed to avoid overwriting the
8651 dnl GNU format catalogs when building on a platform with an X/Open gettext),
8652 dnl but we keep it in order not to force irrelevant filename changes on the
8653 dnl maintainers.
8654 dnl
8655 AC_DEFUN([AM_GNU_GETTEXT],
8656 [
8657   dnl Argument checking.
8658   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
8659     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
8660 ])])])])])
8661   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
8662     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
8663 ])])])])
8664   define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
8665   define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
8666
8667   AC_REQUIRE([AM_PO_SUBDIRS])dnl
8668   ifelse(gt_included_intl, yes, [
8669     AC_REQUIRE([AM_INTL_SUBDIR])dnl
8670   ])
8671
8672   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
8673   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
8674   AC_REQUIRE([AC_LIB_RPATH])
8675
8676   dnl Sometimes libintl requires libiconv, so first search for libiconv.
8677   dnl Ideally we would do this search only after the
8678   dnl      if test "$USE_NLS" = "yes"; then
8679   dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
8680   dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
8681   dnl the configure script would need to contain the same shell code
8682   dnl again, outside any 'if'. There are two solutions:
8683   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
8684   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
8685   dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
8686   dnl documented, we avoid it.
8687   ifelse(gt_included_intl, yes, , [
8688     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
8689   ])
8690
8691   dnl Set USE_NLS.
8692   AM_NLS
8693
8694   ifelse(gt_included_intl, yes, [
8695     BUILD_INCLUDED_LIBINTL=no
8696     USE_INCLUDED_LIBINTL=no
8697   ])
8698   LIBINTL=
8699   LTLIBINTL=
8700   POSUB=
8701
8702   dnl If we use NLS figure out what method
8703   if test "$USE_NLS" = "yes"; then
8704     gt_use_preinstalled_gnugettext=no
8705     ifelse(gt_included_intl, yes, [
8706       AC_MSG_CHECKING([whether included gettext is requested])
8707       AC_ARG_WITH(included-gettext,
8708         [  --with-included-gettext use the GNU gettext library included here],
8709         nls_cv_force_use_gnu_gettext=$withval,
8710         nls_cv_force_use_gnu_gettext=no)
8711       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
8712
8713       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
8714       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
8715     ])
8716         dnl User does not insist on using GNU NLS library.  Figure out what
8717         dnl to use.  If GNU gettext is available we use this.  Else we have
8718         dnl to fall back to GNU NLS library.
8719
8720         dnl Add a version number to the cache macros.
8721         define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
8722         define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
8723         define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
8724
8725         AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
8726          [AC_TRY_LINK([#include <libintl.h>
8727 ]ifelse([$2], [need-formatstring-macros],
8728 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
8729 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
8730 #endif
8731 changequote(,)dnl
8732 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
8733 changequote([,])dnl
8734 ], [])[extern int _nl_msg_cat_cntr;
8735 extern int *_nl_domain_bindings;],
8736             [bindtextdomain ("", "");
8737 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
8738             gt_cv_func_gnugettext_libc=yes,
8739             gt_cv_func_gnugettext_libc=no)])
8740
8741         if test "$gt_cv_func_gnugettext_libc" != "yes"; then
8742           dnl Sometimes libintl requires libiconv, so first search for libiconv.
8743           ifelse(gt_included_intl, yes, , [
8744             AM_ICONV_LINK
8745           ])
8746           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
8747           dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
8748           dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
8749           dnl even if libiconv doesn't exist.
8750           AC_LIB_LINKFLAGS_BODY([intl])
8751           AC_CACHE_CHECK([for GNU gettext in libintl],
8752             gt_cv_func_gnugettext_libintl,
8753            [gt_save_CPPFLAGS="$CPPFLAGS"
8754             CPPFLAGS="$CPPFLAGS $INCINTL"
8755             gt_save_LIBS="$LIBS"
8756             LIBS="$LIBS $LIBINTL"
8757             dnl Now see whether libintl exists and does not depend on libiconv.
8758             AC_TRY_LINK([#include <libintl.h>
8759 ]ifelse([$2], [need-formatstring-macros],
8760 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
8761 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
8762 #endif
8763 changequote(,)dnl
8764 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
8765 changequote([,])dnl
8766 ], [])[extern int _nl_msg_cat_cntr;
8767 extern
8768 #ifdef __cplusplus
8769 "C"
8770 #endif
8771 const char *_nl_expand_alias ();],
8772               [bindtextdomain ("", "");
8773 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
8774               gt_cv_func_gnugettext_libintl=yes,
8775               gt_cv_func_gnugettext_libintl=no)
8776             dnl Now see whether libintl exists and depends on libiconv.
8777             if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
8778               LIBS="$LIBS $LIBICONV"
8779               AC_TRY_LINK([#include <libintl.h>
8780 ]ifelse([$2], [need-formatstring-macros],
8781 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
8782 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
8783 #endif
8784 changequote(,)dnl
8785 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
8786 changequote([,])dnl
8787 ], [])[extern int _nl_msg_cat_cntr;
8788 extern
8789 #ifdef __cplusplus
8790 "C"
8791 #endif
8792 const char *_nl_expand_alias ();],
8793                 [bindtextdomain ("", "");
8794 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
8795                [LIBINTL="$LIBINTL $LIBICONV"
8796                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
8797                 gt_cv_func_gnugettext_libintl=yes
8798                ])
8799             fi
8800             CPPFLAGS="$gt_save_CPPFLAGS"
8801             LIBS="$gt_save_LIBS"])
8802         fi
8803
8804         dnl If an already present or preinstalled GNU gettext() is found,
8805         dnl use it.  But if this macro is used in GNU gettext, and GNU
8806         dnl gettext is already preinstalled in libintl, we update this
8807         dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
8808         if test "$gt_cv_func_gnugettext_libc" = "yes" \
8809            || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
8810                 && test "$PACKAGE" != gettext-runtime \
8811                 && test "$PACKAGE" != gettext-tools; }; then
8812           gt_use_preinstalled_gnugettext=yes
8813         else
8814           dnl Reset the values set by searching for libintl.
8815           LIBINTL=
8816           LTLIBINTL=
8817           INCINTL=
8818         fi
8819
8820     ifelse(gt_included_intl, yes, [
8821         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
8822           dnl GNU gettext is not found in the C library.
8823           dnl Fall back on included GNU gettext library.
8824           nls_cv_use_gnu_gettext=yes
8825         fi
8826       fi
8827
8828       if test "$nls_cv_use_gnu_gettext" = "yes"; then
8829         dnl Mark actions used to generate GNU NLS library.
8830         BUILD_INCLUDED_LIBINTL=yes
8831         USE_INCLUDED_LIBINTL=yes
8832         LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
8833         LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
8834         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
8835       fi
8836
8837       if test "$gt_use_preinstalled_gnugettext" = "yes" \
8838          || test "$nls_cv_use_gnu_gettext" = "yes"; then
8839         dnl Mark actions to use GNU gettext tools.
8840         CATOBJEXT=.gmo
8841       fi
8842     ])
8843
8844     if test "$gt_use_preinstalled_gnugettext" = "yes" \
8845        || test "$nls_cv_use_gnu_gettext" = "yes"; then
8846       AC_DEFINE(ENABLE_NLS, 1,
8847         [Define to 1 if translation of program messages to the user's native language
8848    is requested.])
8849     else
8850       USE_NLS=no
8851     fi
8852   fi
8853
8854   AC_MSG_CHECKING([whether to use NLS])
8855   AC_MSG_RESULT([$USE_NLS])
8856   if test "$USE_NLS" = "yes"; then
8857     AC_MSG_CHECKING([where the gettext function comes from])
8858     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
8859       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
8860         gt_source="external libintl"
8861       else
8862         gt_source="libc"
8863       fi
8864     else
8865       gt_source="included intl directory"
8866     fi
8867     AC_MSG_RESULT([$gt_source])
8868   fi
8869
8870   if test "$USE_NLS" = "yes"; then
8871
8872     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
8873       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
8874         AC_MSG_CHECKING([how to link with libintl])
8875         AC_MSG_RESULT([$LIBINTL])
8876         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
8877       fi
8878
8879       dnl For backward compatibility. Some packages may be using this.
8880       AC_DEFINE(HAVE_GETTEXT, 1,
8881        [Define if the GNU gettext() function is already present or preinstalled.])
8882       AC_DEFINE(HAVE_DCGETTEXT, 1,
8883        [Define if the GNU dcgettext() function is already present or preinstalled.])
8884     fi
8885
8886     dnl We need to process the po/ directory.
8887     POSUB=po
8888   fi
8889
8890   ifelse(gt_included_intl, yes, [
8891     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
8892     dnl to 'yes' because some of the testsuite requires it.
8893     if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
8894       BUILD_INCLUDED_LIBINTL=yes
8895     fi
8896
8897     dnl Make all variables we use known to autoconf.
8898     AC_SUBST(BUILD_INCLUDED_LIBINTL)
8899     AC_SUBST(USE_INCLUDED_LIBINTL)
8900     AC_SUBST(CATOBJEXT)
8901
8902     dnl For backward compatibility. Some configure.ins may be using this.
8903     nls_cv_header_intl=
8904     nls_cv_header_libgt=
8905
8906     dnl For backward compatibility. Some Makefiles may be using this.
8907     DATADIRNAME=share
8908     AC_SUBST(DATADIRNAME)
8909
8910     dnl For backward compatibility. Some Makefiles may be using this.
8911     INSTOBJEXT=.mo
8912     AC_SUBST(INSTOBJEXT)
8913
8914     dnl For backward compatibility. Some Makefiles may be using this.
8915     GENCAT=gencat
8916     AC_SUBST(GENCAT)
8917
8918     dnl For backward compatibility. Some Makefiles may be using this.
8919     if test "$USE_INCLUDED_LIBINTL" = yes; then
8920       INTLOBJS="\$(GETTOBJS)"
8921     fi
8922     AC_SUBST(INTLOBJS)
8923
8924     dnl Enable libtool support if the surrounding package wishes it.
8925     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
8926     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
8927   ])
8928
8929   dnl For backward compatibility. Some Makefiles may be using this.
8930   INTLLIBS="$LIBINTL"
8931   AC_SUBST(INTLLIBS)
8932
8933   dnl Make all documented variables known to autoconf.
8934   AC_SUBST(LIBINTL)
8935   AC_SUBST(LTLIBINTL)
8936   AC_SUBST(POSUB)
8937 ])
8938
8939
8940 dnl Checks for all prerequisites of the intl subdirectory,
8941 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
8942 dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
8943 AC_DEFUN([AM_INTL_SUBDIR],
8944 [
8945   AC_REQUIRE([AC_PROG_INSTALL])dnl
8946   AC_REQUIRE([AM_MKINSTALLDIRS])dnl
8947   AC_REQUIRE([AC_PROG_CC])dnl
8948   AC_REQUIRE([AC_CANONICAL_HOST])dnl
8949   AC_REQUIRE([AC_PROG_RANLIB])dnl
8950   AC_REQUIRE([AC_ISC_POSIX])dnl
8951   AC_REQUIRE([AC_HEADER_STDC])dnl
8952   AC_REQUIRE([AC_C_CONST])dnl
8953   AC_REQUIRE([AC_C_INLINE])dnl
8954   AC_REQUIRE([AC_TYPE_OFF_T])dnl
8955   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
8956   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
8957   AC_REQUIRE([AC_FUNC_MMAP])dnl
8958   AC_REQUIRE([jm_GLIBC21])dnl
8959   AC_REQUIRE([gt_INTDIV0])dnl
8960   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
8961   AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
8962   AC_REQUIRE([gt_INTTYPES_PRI])dnl
8963
8964   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
8965 stdlib.h string.h unistd.h sys/param.h])
8966   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
8967 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
8968 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
8969 __fsetlocking])
8970
8971   AM_ICONV
8972   AM_LANGINFO_CODESET
8973   if test $ac_cv_header_locale_h = yes; then
8974     AM_LC_MESSAGES
8975   fi
8976
8977   dnl intl/plural.c is generated from intl/plural.y. It requires bison,
8978   dnl because plural.y uses bison specific features. It requires at least
8979   dnl bison-1.26 because earlier versions generate a plural.c that doesn't
8980   dnl compile.
8981   dnl bison is only needed for the maintainer (who touches plural.y). But in
8982   dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
8983   dnl the rule in general Makefile. Now, some people carelessly touch the
8984   dnl files or have a broken "make" program, hence the plural.c rule will
8985   dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
8986   dnl present or too old.
8987   AC_CHECK_PROGS([INTLBISON], [bison])
8988   if test -z "$INTLBISON"; then
8989     ac_verc_fail=yes
8990   else
8991     dnl Found it, now check the version.
8992     AC_MSG_CHECKING([version of bison])
8993 changequote(<<,>>)dnl
8994     ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
8995     case $ac_prog_version in
8996       '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
8997       1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
8998 changequote([,])dnl
8999          ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
9000       *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
9001     esac
9002     AC_MSG_RESULT([$ac_prog_version])
9003   fi
9004   if test $ac_verc_fail = yes; then
9005     INTLBISON=:
9006   fi
9007 ])
9008
9009
9010 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
9011 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
9012