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