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