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