1 # generated automatically by aclocal 1.7.6 -*- Autoconf -*-
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.
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
14 # Do all the work for Automake. -*- Autoconf -*-
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.
19 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
20 # Free Software Foundation, Inc.
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)
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.
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
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
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])
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'
75 # Define the identity of the package.
76 dnl Distinguish between old-style and new-style calls.
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
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
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)
100 # We need awk for the "check" target. The system "awk" is bad on
102 AC_REQUIRE([AC_PROG_AWK])dnl
103 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
104 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
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
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.
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.
129 for _am_header in $config_headers :; do
134 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
137 echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
139 # Copyright 2002 Free Software Foundation, Inc.
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)
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.
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
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"])
161 # AM_SET_CURRENT_AUTOMAKE_VERSION
162 # -------------------------------
163 # Call AM_AUTOMAKE_VERSION so it can be traced.
164 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
165 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
166 [AM_AUTOMAKE_VERSION([1.7.6])])
168 # Helper functions for option handling. -*- Autoconf -*-
170 # Copyright 2001, 2002 Free Software Foundation, Inc.
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)
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.
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
189 # _AM_MANGLE_OPTION(NAME)
190 # -----------------------
191 AC_DEFUN([_AM_MANGLE_OPTION],
192 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
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)])
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)])])
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])])
213 # Check to make sure that the build environment is sane.
216 # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
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)
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.
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
237 AC_DEFUN([AM_SANITY_CHECK],
238 [AC_MSG_CHECKING([whether build environment is sane])
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
248 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
249 if test "$[*]" = "X"; then
251 set X `ls -t $srcdir/configure conftest.file`
254 if test "$[*]" != "X $srcdir/configure conftest.file" \
255 && test "$[*]" != "X conftest.file $srcdir/configure"; then
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])
265 test "$[2]" = conftest.file
271 AC_MSG_ERROR([newly created file is older than distributed files!
272 Check your system clock])
279 # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
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)
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.
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
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"}
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 "
318 AC_MSG_WARN([`missing' script is too old or missing])
324 # Copyright 2001 Free Software Foundation, Inc.
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)
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.
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
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/../..'.
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.
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
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.
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.
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.
379 # Rely on autoconf to set up CDPATH properly.
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`
389 # Define $install_sh.
391 # Copyright 2001 Free Software Foundation, Inc.
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)
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.
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
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)])
413 # AM_PROG_INSTALL_STRIP
415 # Copyright 2001 Free Software Foundation, Inc.
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)
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.
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
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], :)
449 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
450 AC_SUBST([INSTALL_STRIP_PROGRAM])])
453 # Copyright (C) 2003 Free Software Foundation, Inc.
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)
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.
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
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
482 rmdir .tst 2>/dev/null
483 AC_SUBST([am__leading_dot])])
485 # serial 5 -*- Autoconf -*-
487 # Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
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)
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.
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
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...
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.
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
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=])
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
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
548 # We will build objects and dependencies in a subdirectory because
549 # it helps to detect inapplicable dependency modes. For instance
550 # both Tru64's cc and ICC support -MD to output dependencies as a
551 # side effect of compilation, but ICC will put the dependencies in
552 # the current directory while Tru64 will put them in the object
556 am_cv_$1_dependencies_compiler_type=none
557 if test "$am_compiler_list" = ""; then
558 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
560 for depmode in $am_compiler_list; do
561 # Setup a source with many dependencies, because some compilers
562 # like to wrap large dependency lists on column 80 (with \), and
563 # we should not choose a depcomp mode which is confused by this.
565 # We need to recreate these files for each test, as the compiler may
566 # overwrite some of them when testing with obscure command lines.
567 # This happens at least with the AIX C compiler.
569 for i in 1 2 3 4 5 6; do
570 echo '#include "conftst'$i'.h"' >> sub/conftest.c
573 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
577 # after this tag, mechanisms are not by side-effect, so they'll
578 # only be used when explicitly requested
579 if test "x$enable_dependency_tracking" = xyes; then
587 # We check with `-c' and `-o' for the sake of the "dashmstdout"
588 # mode. It turns out that the SunPro C++ compiler does not properly
589 # handle `-M -o', and we need to detect this.
590 if depmode=$depmode \
591 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
592 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
593 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
594 >/dev/null 2>conftest.err &&
595 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
596 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
597 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
598 # icc doesn't choke on unknown options, it will just issue warnings
599 # (even with -Werror). So we grep stderr for any message
600 # that says an option was ignored.
601 if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
602 am_cv_$1_dependencies_compiler_type=$depmode
611 am_cv_$1_dependencies_compiler_type=none
614 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
615 AM_CONDITIONAL([am__fastdep$1], [
616 test "x$enable_dependency_tracking" != xno \
617 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
623 # Choose a directory name for dependency files.
624 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
625 AC_DEFUN([AM_SET_DEPDIR],
626 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
627 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
633 AC_DEFUN([AM_DEP_TRACK],
634 [AC_ARG_ENABLE(dependency-tracking,
635 [ --disable-dependency-tracking Speeds up one-time builds
636 --enable-dependency-tracking Do not reject slow dependency extractors])
637 if test "x$enable_dependency_tracking" != xno; then
638 am_depcomp="$ac_aux_dir/depcomp"
641 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
642 AC_SUBST([AMDEPBACKSLASH])
645 # Generate code to set up dependency tracking. -*- Autoconf -*-
647 # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
649 # This program is free software; you can redistribute it and/or modify
650 # it under the terms of the GNU General Public License as published by
651 # the Free Software Foundation; either version 2, or (at your option)
654 # This program is distributed in the hope that it will be useful,
655 # but WITHOUT ANY WARRANTY; without even the implied warranty of
656 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
657 # GNU General Public License for more details.
659 # You should have received a copy of the GNU General Public License
660 # along with this program; if not, write to the Free Software
661 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
666 # _AM_OUTPUT_DEPENDENCY_COMMANDS
667 # ------------------------------
668 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
669 [for mf in $CONFIG_FILES; do
670 # Strip MF so we end up with the name of the file.
671 mf=`echo "$mf" | sed -e 's/:.*$//'`
672 # Check whether this is an Automake generated Makefile or not.
673 # We used to match only the files named `Makefile.in', but
674 # some people rename them; so instead we look at the file content.
675 # Grep'ing the first line is not enough: some people post-process
676 # each Makefile.in and add a new line on top of each file to say so.
677 # So let's grep whole file.
678 if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
679 dirpart=`AS_DIRNAME("$mf")`
683 grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
684 # Extract the definition of DEP_FILES from the Makefile without
686 DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
687 test -z "$DEPDIR" && continue
688 # When using ansi2knr, U may be empty or an underscore; expand it
689 U=`sed -n -e '/^U = / s///p' < "$mf"`
690 test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
691 # We invoke sed twice because it is the simplest approach to
692 # changing $(DEPDIR) to its actual value in the expansion.
693 for file in `sed -n -e '
694 /^DEP_FILES = .*\\\\$/ {
703 /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
704 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
705 # Make sure the directory exists.
706 test -f "$dirpart/$file" && continue
707 fdir=`AS_DIRNAME(["$file"])`
708 AS_MKDIR_P([$dirpart/$fdir])
709 # echo "creating $dirpart/$file"
710 echo '# dummy' > "$dirpart/$file"
713 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
716 # AM_OUTPUT_DEPENDENCY_COMMANDS
717 # -----------------------------
718 # This macro should only be invoked once -- use via AC_REQUIRE.
720 # This code is only required when automatic dependency tracking
721 # is enabled. FIXME. This creates each `.P' file that we will
722 # need in order to bootstrap the dependency handling code.
723 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
724 [AC_CONFIG_COMMANDS([depfiles],
725 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
726 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
729 # Check to see how 'make' treats includes. -*- Autoconf -*-
731 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
733 # This program is free software; you can redistribute it and/or modify
734 # it under the terms of the GNU General Public License as published by
735 # the Free Software Foundation; either version 2, or (at your option)
738 # This program is distributed in the hope that it will be useful,
739 # but WITHOUT ANY WARRANTY; without even the implied warranty of
740 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
741 # GNU General Public License for more details.
743 # You should have received a copy of the GNU General Public License
744 # along with this program; if not, write to the Free Software
745 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
752 # Check to see how make treats includes.
753 AC_DEFUN([AM_MAKE_INCLUDE],
754 [am_make=${MAKE-make}
755 cat > confinc << 'END'
760 # If we don't find an include directive, just comment out the code.
761 AC_MSG_CHECKING([for style of include used by $am_make])
765 # First try GNU make style include.
766 echo "include confinc" > confmf
767 # We grep out `Entering directory' and `Leaving directory'
768 # messages which can occur if `w' ends up in MAKEFLAGS.
769 # In particular we don't look at `^make:' because GNU make might
770 # be invoked under some other name (usually "gmake"), in which
771 # case it prints its new name instead of `make'.
772 if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
777 # Now try BSD make style include.
778 if test "$am__include" = "#"; then
779 echo '.include "confinc"' > confmf
780 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
786 AC_SUBST([am__include])
787 AC_SUBST([am__quote])
788 AC_MSG_RESULT([$_am_result])
792 # AM_CONDITIONAL -*- Autoconf -*-
794 # Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
796 # This program is free software; you can redistribute it and/or modify
797 # it under the terms of the GNU General Public License as published by
798 # the Free Software Foundation; either version 2, or (at your option)
801 # This program is distributed in the hope that it will be useful,
802 # but WITHOUT ANY WARRANTY; without even the implied warranty of
803 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
804 # GNU General Public License for more details.
806 # You should have received a copy of the GNU General Public License
807 # along with this program; if not, write to the Free Software
808 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
815 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
816 # -------------------------------------
817 # Define a conditional.
818 AC_DEFUN([AM_CONDITIONAL],
819 [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
820 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
830 AC_CONFIG_COMMANDS_PRE(
831 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
832 AC_MSG_ERROR([conditional "$1" was never defined.
833 Usually this means the macro was only invoked conditionally.])
836 # gl_USE_SYSTEM_EXTENSIONS
837 # ------------------------
838 # Enable extensions on systems that normally disable them,
839 # typically due to standards-conformance issues.
840 AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [
841 AC_REQUIRE([AC_GNU_SOURCE])
842 AH_VERBATIM([__EXTENSIONS__],
843 [/* Enable extensions on Solaris. */
844 #ifndef __EXTENSIONS__
845 # undef __EXTENSIONS__
847 AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
848 AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
849 AC_DEFINE([__EXTENSIONS__])
854 dnl From Jim Meyering.
855 dnl Find a new-enough version of Perl.
860 dnl FIXME: don't hard-code 5.003
861 dnl FIXME: should we cache the result?
862 AC_MSG_CHECKING([for perl5.003 or newer])
863 if test "${PERL+set}" = set; then
864 # `PERL' is set in the user's environment.
865 candidate_perl_names="$PERL"
868 candidate_perl_names='perl perl5'
874 PERL="$am_missing_run perl"
875 for perl in $candidate_perl_names; do
876 # Run test in a subshell; some versions of sh will print an error if
877 # an executable is not found, even if stderr is redirected.
878 if ( $perl -e 'require 5.003; use File::Compare' ) > /dev/null 2>&1; then
885 AC_MSG_RESULT($found)
886 test $found = no && AC_MSG_WARN([
887 WARNING: You don't seem to have perl5.003 or newer installed, or you lack
888 a usable version of the Perl File::Compare module. As a result,
889 you may be unable to run a few tests or to regenerate certain
890 files if you modify the sources from which they are derived.
894 #serial 66 -*- autoconf -*-
896 m4_undefine([AC_LANG_SOURCE(C)])
897 dnl The following is identical to the definition in c.m4
898 dnl from the autoconf cvs repository on 2003-03-07.
899 dnl FIXME: remove this code once we upgrade to autoconf-2.58.
901 # We can't use '#line $LINENO "configure"' here, since
902 # Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09)
903 # rejects $LINENO greater than 32767, and some configure scripts
904 # are longer than 32767 lines.
905 m4_define([AC_LANG_SOURCE(C)],
908 cat confdefs.h >>conftest.$ac_ext
909 cat >>conftest.$ac_ext <<_ACEOF
910 /* end confdefs.h. */
914 dnl Misc type-related macros for fileutils, sh-utils, textutils.
916 AC_DEFUN([jm_MACROS],
920 GNU_PACKAGE="GNU $PACKAGE"
921 AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
922 [The concatenation of the strings `GNU ', and PACKAGE.])
923 AC_SUBST(GNU_PACKAGE)
925 AM_MISSING_PROG(HELP2MAN, help2man)
926 AC_SUBST(OPTIONAL_BIN_PROGS)
930 dnl This macro actually runs replacement code. See isc-posix.m4.
931 AC_REQUIRE([AC_ISC_POSIX])dnl
936 AC_REQUIRE([UTILS_HOST_OS])
937 AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
938 AC_REQUIRE([jm_BISON])
939 AC_REQUIRE([jm_ASSERT])
940 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
941 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
942 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
943 AC_REQUIRE([jm_CHECK_DECLS])
945 AC_REQUIRE([jm_PREREQ])
947 AC_REQUIRE([UTILS_FUNC_DIRFD])
948 AC_REQUIRE([AC_FUNC_ACL])
949 AC_REQUIRE([AC_FUNC_FTW])
950 AC_REQUIRE([jm_FUNC_LCHOWN])
951 AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
952 AC_REQUIRE([jm_FUNC_CHOWN])
953 AC_REQUIRE([gl_FUNC_MKTIME])
954 AC_REQUIRE([jm_FUNC_LSTAT])
955 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
956 AC_REQUIRE([jm_FUNC_STAT])
957 AC_REQUIRE([AC_FUNC_REALLOC])
958 AC_REQUIRE([AC_FUNC_MALLOC])
959 AC_REQUIRE([AC_FUNC_STRERROR_R])
960 AC_REQUIRE([jm_FUNC_NANOSLEEP])
961 AC_REQUIRE([jm_FUNC_MEMCMP])
962 AC_REQUIRE([gl_MEMCOLL])
963 AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
964 AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
965 AC_REQUIRE([jm_FUNC_PUTENV])
967 AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
968 AC_REQUIRE([jm_AC_PREREQ_XSTRTOIMAX])
969 AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
970 AC_REQUIRE([gl_FUNC_FNMATCH_GNU])
971 AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
972 AC_REQUIRE([jm_FUNC_FPENDING])
974 # This is for od and stat, and any other program that
975 # uses the PRI.MAX macros from inttypes.h.
976 AC_REQUIRE([gt_INTTYPES_PRI])
978 AC_REQUIRE([jm_FUNC_GETGROUPS])
980 AC_REQUIRE([AC_FUNC_FSEEKO])
981 AC_REQUIRE([AC_FUNC_ALLOCA])
982 AC_REQUIRE([gl_FUNC_ALLOCA])
984 AC_REQUIRE([gl_ERROR])
986 AC_CONFIG_LIBOBJ_DIR([lib])
989 AC_REQUIRE([jm_SYS_PROC_UPTIME])
990 AC_REQUIRE([jm_FUNC_FTRUNCATE])
991 AC_REQUIRE([vb_FUNC_RENAME])
993 AC_REPLACE_FUNCS(strcasecmp strncasecmp)
994 AC_REPLACE_FUNCS(dup2)
995 AC_REPLACE_FUNCS(gethostname getusershell)
996 AC_REPLACE_FUNCS(sig2str)
997 AC_REPLACE_FUNCS(strcspn stpcpy strstr strtol strtoul)
998 AC_REPLACE_FUNCS(strpbrk)
999 AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
1000 AC_REPLACE_FUNCS(atexit)
1001 AC_REPLACE_FUNCS(getpass)
1003 # raise is used by at least sort and ls.
1004 AC_REPLACE_FUNCS(raise)
1006 dnl used by e.g. intl/*domain.c and lib/canon-host.c
1007 AC_REPLACE_FUNCS(strdup)
1009 AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset)
1010 AC_CHECK_FUNCS(getpagesize)
1012 AC_REQUIRE([UTILS_FUNC_MKSTEMP])
1014 # By default, argmatch should fail calling usage (1).
1015 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
1016 [Define to the function xargmatch calls on failures.])
1017 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
1018 [Define to the declaration of the xargmatch failure function.])
1020 dnl Used to define SETVBUF in sys2.h.
1021 dnl This evokes the following warning from autoconf:
1022 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
1023 AC_FUNC_SETVBUF_REVERSED
1025 # used by sleep and shred
1026 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
1027 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
1029 # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
1030 # programs in the package would end up linked with that potentially-shared
1031 # library, inducing unnecessary run-time overhead.
1032 fetish_saved_libs=$LIBS
1033 AC_SEARCH_LIBS(clock_gettime, [rt posix4],
1034 [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
1035 AC_SUBST(LIB_CLOCK_GETTIME)
1036 AC_CHECK_FUNCS(clock_gettime clock_settime)
1037 LIBS=$fetish_saved_libs
1038 AC_CHECK_FUNCS(gettimeofday)
1039 AC_FUNC_GETTIMEOFDAY_CLOBBER
1041 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
1042 AC_REQUIRE([jm_FUNC_UTIME])
1043 AC_REQUIRE([gl_FUNC_VASPRINTF])
1044 AC_REQUIRE([gl_FUNC_VASNPRINTF])
1078 AC_CHECK_FUNCS(setreuid setregid)
1085 AC_REQUIRE([UTILS_SYS_OPEN_MAX])
1086 AC_REQUIRE([GL_FUNC_GETCWD_PATH_MAX])
1087 AC_REQUIRE([GL_FUNC_READDIR])
1089 # See if linking `seq' requires -lm.
1090 # It does on nearly every system. The single exception (so far) is
1091 # BeOS which has all the math functions in the normal runtime library
1092 # and doesn't have a separate math library.
1100 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
1101 [ac_seq_save_LIBS="$LIBS"
1103 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
1104 LIBS="$ac_seq_save_LIBS"
1110 jm_FUNC_UNLINK_BUSY_TEXT
1112 # These tests are for df.
1113 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
1115 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
1116 if test $list_mounted_fs = yes && test $space = yes; then
1117 DF_PROG='df$(EXEEXT)'
1119 AC_LIBOBJ(mountlist)
1121 AC_REQUIRE([jm_AC_DOS])
1122 AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
1124 # If any of these functions don't exist (e.g. DJGPP 2.03),
1125 # use the corresponding stub.
1126 AC_CHECK_FUNC([fchdir], , [AC_LIBOBJ(fchdir-stub)])
1127 AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)])
1128 AC_CHECK_FUNC([lstat], , [AC_LIBOBJ(lstat-stub)])
1129 AC_CHECK_FUNC([readlink], , [AC_LIBOBJ(readlink-stub)])
1130 AC_REQUIRE([AM_STDBOOL_H])
1134 # These tests must be run before any use of AC_CHECK_TYPE,
1135 # because that macro compiles code that tests e.g., HAVE_UNISTD_H.
1136 # See the definition of ac_includes_default in `configure'.
1137 AC_DEFUN([jm_CHECK_ALL_HEADERS],
1180 # This macro must be invoked before any tests that run the compiler.
1181 AC_DEFUN([jm_CHECK_ALL_TYPES],
1183 dnl This test must come as early as possible after the compiler configuration
1184 dnl tests, because the choice of the file model can (in principle) affect
1185 dnl whether functions and headers are available, whether they work, etc.
1186 AC_REQUIRE([AC_SYS_LARGEFILE])
1188 dnl This test must precede tests of compiler characteristics like
1189 dnl that for the inline keyword, since it may change the degree to
1190 dnl which the compiler supports such features.
1191 AC_REQUIRE([AM_C_PROTOTYPES])
1193 dnl Checks for typedefs, structures, and compiler characteristics.
1194 AC_REQUIRE([AC_C_BIGENDIAN])
1195 AC_REQUIRE([AC_C_CONST])
1196 AC_REQUIRE([AC_C_VOLATILE])
1197 AC_REQUIRE([AC_C_INLINE])
1198 AC_REQUIRE([AC_C_LONG_DOUBLE])
1200 AC_REQUIRE([jm_CHECK_ALL_HEADERS])
1201 AC_REQUIRE([AC_HEADER_DIRENT])
1202 AC_REQUIRE([AC_HEADER_STDC])
1204 [struct stat.st_author,
1205 struct stat.st_blksize],,,
1206 [$ac_includes_default
1207 #include <sys/stat.h>
1209 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
1211 AC_REQUIRE([AC_STRUCT_TM])
1212 AC_REQUIRE([AC_STRUCT_TIMEZONE])
1213 AC_REQUIRE([AC_HEADER_STAT])
1214 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
1215 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
1216 AC_REQUIRE([gl_TIMESPEC])
1218 AC_REQUIRE([AC_TYPE_GETGROUPS])
1219 AC_REQUIRE([AC_TYPE_MODE_T])
1220 AC_REQUIRE([AC_TYPE_OFF_T])
1221 AC_REQUIRE([AC_TYPE_PID_T])
1222 AC_REQUIRE([AC_TYPE_SIGNAL])
1223 AC_REQUIRE([AC_TYPE_SIZE_T])
1224 AC_REQUIRE([AC_TYPE_UID_T])
1225 AC_CHECK_TYPE(ino_t, unsigned long)
1229 dnl This relies on the fact that autoconf 2.14a's implementation of
1230 dnl AC_CHECK_TYPE checks includes unistd.h.
1231 AC_CHECK_TYPE(major_t, unsigned int)
1232 AC_CHECK_TYPE(minor_t, unsigned int)
1234 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
1235 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
1237 AC_REQUIRE([AC_HEADER_MAJOR])
1238 AC_REQUIRE([AC_HEADER_DIRENT])
1242 # isc-posix.m4 serial 2 (gettext-0.11.2)
1243 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
1244 dnl This file is free software, distributed under the terms of the GNU
1245 dnl General Public License. As a special exception to the GNU General
1246 dnl Public License, this file may be distributed as part of a program
1247 dnl that contains a configuration script generated by Autoconf, under
1248 dnl the same distribution terms as the rest of that program.
1250 # This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
1252 # This test replaces the one in autoconf.
1253 # Currently this macro should have the same name as the autoconf macro
1254 # because gettext's gettext.m4 (distributed in the automake package)
1255 # still uses it. Otherwise, the use in gettext.m4 makes autoheader
1256 # give these diagnostics:
1257 # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
1258 # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
1260 undefine([AC_ISC_POSIX])
1262 AC_DEFUN([AC_ISC_POSIX],
1264 dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
1265 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
1271 dnl Initially derived from code in GNU grep.
1272 dnl Mostly written by Jim Meyering.
1274 AC_DEFUN([gl_REGEX],
1276 jm_INCLUDED_REGEX([lib/regex.c])
1279 dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
1281 AC_DEFUN([jm_INCLUDED_REGEX],
1283 dnl Even packages that don't use regex.c can use this macro.
1284 dnl Of course, for them it doesn't do anything.
1286 # Assume we'll default to using the included regex.c.
1287 ac_use_included_regex=yes
1289 # However, if the system regex support is good enough that it passes the
1290 # the following run test, then default to *not* using the included regex.c.
1291 # If cross compiling, assume the test would fail and use the included
1292 # regex.c. The first failing regular expression is from `Spencer ere
1293 # test #75' in grep-2.3.
1294 AC_CACHE_CHECK([for working re_compile_pattern],
1295 jm_cv_func_working_re_compile_pattern,
1303 static struct re_pattern_buffer regex;
1305 struct re_registers regs;
1306 re_set_syntax (RE_SYNTAX_POSIX_EGREP);
1307 memset (®ex, 0, sizeof (regex));
1308 [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, ®ex);]
1309 /* This should fail with _Invalid character class name_ error. */
1313 /* This should succeed, but doesn't for e.g. glibc-2.1.3. */
1314 memset (®ex, 0, sizeof (regex));
1315 s = re_compile_pattern ("{1", 2, ®ex);
1320 /* The following example is derived from a problem report
1321 against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
1322 memset (®ex, 0, sizeof (regex));
1323 s = re_compile_pattern ("[[an\371]]*n", 7, ®ex);
1327 /* This should match, but doesn't for e.g. glibc-2.2.1. */
1328 if (re_match (®ex, "an", 2, 0, ®s) != 2)
1331 memset (®ex, 0, sizeof (regex));
1332 s = re_compile_pattern ("x", 1, ®ex);
1336 /* The version of regex.c in e.g. GNU libc-2.2.93 didn't
1337 work with a negative RANGE argument. */
1338 if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
1344 jm_cv_func_working_re_compile_pattern=yes,
1345 jm_cv_func_working_re_compile_pattern=no,
1346 dnl When crosscompiling, assume it's broken.
1347 jm_cv_func_working_re_compile_pattern=no))
1348 if test $jm_cv_func_working_re_compile_pattern = yes; then
1349 ac_use_included_regex=no
1352 test -n "$1" || AC_MSG_ERROR([missing argument])
1353 m4_syscmd([test -f $1])
1354 ifelse(m4_sysval, 0,
1356 AC_ARG_WITH(included-regex,
1357 [ --without-included-regex don't compile regex; this is the default on
1358 systems with version 2 of the GNU C library
1359 (use with caution on other system)],
1360 jm_with_regex=$withval,
1361 jm_with_regex=$ac_use_included_regex)
1362 if test "$jm_with_regex" = yes; then
1371 # Prerequisites of lib/regex.c.
1372 AC_DEFUN([jm_PREREQ_REGEX],
1374 dnl FIXME: Maybe provide a btowc replacement someday: Solaris 2.5.1 lacks it.
1375 dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
1378 dnl Persuade glibc <string.h> to declare mempcpy().
1379 AC_REQUIRE([AC_GNU_SOURCE])
1381 AC_REQUIRE([gl_C_RESTRICT])
1382 AC_REQUIRE([AC_FUNC_ALLOCA])
1383 AC_REQUIRE([AC_HEADER_STDC])
1384 AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
1385 AC_CHECK_FUNCS_ONCE(isascii mempcpy)
1386 AC_CHECK_FUNCS(btowc)
1390 # This macro can be removed once we can rely on Autoconf 2.57a or later,
1391 # since we can then use its AC_C_RESTRICT.
1395 # Determine whether the C/C++ compiler supports the "restrict" keyword
1396 # introduced in ANSI C99, or an equivalent. Do nothing if the compiler
1397 # accepts it. Otherwise, if the compiler supports an equivalent,
1398 # define "restrict" to be that. Here are some variants:
1399 # - GCC supports both __restrict and __restrict__
1400 # - older DEC Alpha C compilers support only __restrict
1401 # - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C
1402 # Otherwise, define "restrict" to be empty.
1403 AC_DEFUN([gl_C_RESTRICT],
1404 [AC_CACHE_CHECK([for C/C++ restrict keyword], gl_cv_c_restrict,
1405 [gl_cv_c_restrict=no
1406 # Try the official restrict keyword, then gcc's __restrict, and
1407 # the less common variants.
1408 for ac_kw in restrict __restrict __restrict__ _Restrict; do
1409 AC_COMPILE_IFELSE([AC_LANG_SOURCE(
1410 [float * $ac_kw x;])],
1411 [gl_cv_c_restrict=$ac_kw; break])
1414 case $gl_cv_c_restrict in
1416 no) AC_DEFINE(restrict,,
1417 [Define to equivalent of C99 restrict keyword, or to nothing if this
1418 is not supported. Do not define if restrict is supported directly.]) ;;
1419 *) AC_DEFINE_UNQUOTED(restrict, $gl_cv_c_restrict) ;;
1423 # onceonly.m4 serial 2
1424 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
1425 dnl This file is free software, distributed under the terms of the GNU
1426 dnl General Public License. As a special exception to the GNU General
1427 dnl Public License, this file may be distributed as part of a program
1428 dnl that contains a configuration script generated by Autoconf, under
1429 dnl the same distribution terms as the rest of that program.
1431 dnl This file defines some "once only" variants of standard autoconf macros.
1432 dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
1433 dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
1434 dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
1435 dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
1436 dnl The advantage is that the check for each of the headers/functions/decls
1437 dnl will be put only once into the 'configure' file. It keeps the size of
1438 dnl the 'configure' file down, and avoids redundant output when 'configure'
1440 dnl The drawback is that the checks cannot be conditionalized. If you write
1441 dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
1442 dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
1443 dnl empty, and the check will be inserted before the body of the AC_DEFUNed
1446 dnl Taken from Autoconf 2.50; can be removed once we assume 2.50 or later.
1447 define([m4_quote], [[$*]])
1449 # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
1450 # AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
1451 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
1453 AC_FOREACH([gl_HEADER_NAME], [$1], [
1454 AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(defn([gl_HEADER_NAME]),
1456 AC_CHECK_HEADERS(gl_HEADER_NAME)
1458 AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
1463 # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
1464 # AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
1465 AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
1467 AC_FOREACH([gl_FUNC_NAME], [$1], [
1468 AC_DEFUN([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]), [
1469 AC_CHECK_FUNCS(defn([gl_FUNC_NAME]))
1471 AC_REQUIRE([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]))
1475 # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
1476 # AC_CHECK_DECLS(DECL1, DECL2, ...).
1477 AC_DEFUN([AC_CHECK_DECLS_ONCE], [
1479 AC_FOREACH([gl_DECL_NAME], [$1], [
1480 AC_DEFUN([gl_CHECK_DECL_]defn([gl_DECL_NAME]), [
1481 AC_CHECK_DECLS(defn([gl_DECL_NAME]))
1483 AC_REQUIRE([gl_CHECK_DECL_]defn([gl_DECL_NAME]))
1489 dnl From Paul Eggert.
1491 # Define HOST_OPERATING_SYSTEM to a name for the host operating system.
1492 AC_DEFUN([UTILS_HOST_OS],
1494 AC_CACHE_CHECK([host operating system],
1495 utils_cv_host_operating_system,
1499 # These operating system names do not use the default heuristic below.
1500 # They are in reverse order, so that more-specific prefixes come first.
1501 winnt*) os='Windows NT';;
1503 sysv*) os='Unix System V';;
1504 superux*) os='SUPER-UX';;
1505 sunos*) os='SunOS';;
1507 sco*) os='SCO Unix';;
1508 riscos*) os='RISC OS';;
1509 riscix*) os='RISCiX';;
1513 plan9*) os='Plan 9';;
1516 openbsd*) os='OpenBSD';;
1517 nsk*) os='NonStop Kernel';;
1518 nonstopux*) os='NonStop-UX';;
1519 netbsd*) os='NetBSD';;
1520 msdosdjgpp*) os='DJGPP';;
1521 mpeix*) os='MPE/iX';;
1523 mingw*) os='MinGW';;
1524 lynxos*) os='LynxOS';;
1525 linux*) os='GNU/Linux';;
1529 freebsd*-gnu*) os='GNU/FreeBSD';;
1530 freebsd*) os='FreeBSD';;
1532 bsdi*) os='BSD/OS';;
1536 atheos*) os='AtheOS';;
1537 amigaos*) os='Amiga OS';;
1540 # The default heuristic takes the initial alphabetic string
1541 # from $host_os, but capitalizes its first letter.
1544 expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
1546 expr "X$host_os" : 'X.\([A-Za-z]*\)'
1550 # If $host_os does not start with an alphabetic string, use it unchanged.
1554 utils_cv_host_operating_system=$os]])
1555 AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
1556 "$utils_cv_host_operating_system",
1557 [The host operating system.])
1562 # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
1563 # On such systems, arrange to use a wrapper function that removes any
1565 AC_DEFUN([UTILS_FUNC_MKDIR_TRAILING_SLASH],
1567 AC_CACHE_CHECK([whether mkdir fails due to a trailing slash],
1568 utils_cv_func_mkdir_trailing_slash_bug,
1570 # Arrange for deletion of the temporary directory this test might create.
1571 ac_clean_files="$ac_clean_files confdir-slash"
1573 # include <sys/types.h>
1574 # include <sys/stat.h>
1575 # include <stdlib.h>
1578 rmdir ("confdir-slash");
1579 exit (mkdir ("confdir-slash/", 0700));
1582 utils_cv_func_mkdir_trailing_slash_bug=no,
1583 utils_cv_func_mkdir_trailing_slash_bug=yes,
1584 utils_cv_func_mkdir_trailing_slash_bug=yes
1589 if test $utils_cv_func_mkdir_trailing_slash_bug = yes; then
1591 AC_DEFINE(mkdir, rpl_mkdir,
1592 [Define to rpl_mkdir if the replacement function should be used.])
1598 AC_DEFUN([jm_BISON],
1600 # getdate.y works with bison only.
1601 : ${YACC='bison -y'}
1606 dnl based on code from Eleftherios Gkioulekas
1608 AC_DEFUN([jm_ASSERT],
1610 AC_MSG_CHECKING(whether to enable assertions)
1611 AC_ARG_ENABLE(assert,
1612 [ --disable-assert turn off assertions],
1614 AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ],
1615 [ AC_MSG_RESULT(yes) ]
1621 dnl From Jim Meyering
1623 dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
1624 dnl usually in <utime.h>.
1625 dnl Some systems have utime.h but don't declare the struct anywhere.
1627 AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF],
1629 AC_CHECK_HEADERS(utime.h)
1630 AC_REQUIRE([AC_HEADER_TIME])
1631 AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
1634 #ifdef TIME_WITH_SYS_TIME
1635 # include <sys/time.h>
1638 # ifdef HAVE_SYS_TIME_H
1639 # include <sys/time.h>
1648 [static struct utimbuf x; x.actime = x.modtime;],
1649 fu_cv_sys_struct_utimbuf=yes,
1650 fu_cv_sys_struct_utimbuf=no)
1653 if test $fu_cv_sys_struct_utimbuf = yes; then
1654 AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1,
1655 [Define if struct utimbuf is declared -- usually in <utime.h>.
1656 Some systems have utime.h but don't declare the struct anywhere. ])
1662 dnl From Jim Meyering.
1664 dnl Check whether struct dirent has a member named d_type.
1667 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
1668 [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1669 AC_CACHE_CHECK([for d_type member in directory struct],
1670 jm_cv_struct_dirent_d_type,
1673 #include <sys/types.h>
1674 #ifdef HAVE_DIRENT_H
1675 # include <dirent.h>
1676 #else /* not HAVE_DIRENT_H */
1677 # define dirent direct
1678 # ifdef HAVE_SYS_NDIR_H
1679 # include <sys/ndir.h>
1680 # endif /* HAVE_SYS_NDIR_H */
1681 # ifdef HAVE_SYS_DIR_H
1682 # include <sys/dir.h>
1683 # endif /* HAVE_SYS_DIR_H */
1686 # endif /* HAVE_NDIR_H */
1687 #endif /* HAVE_DIRENT_H */
1689 [struct dirent dp; dp.d_type = 0;],
1691 jm_cv_struct_dirent_d_type=yes,
1692 jm_cv_struct_dirent_d_type=no)
1695 if test $jm_cv_struct_dirent_d_type = yes; then
1696 AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
1697 [Define if there is a member named d_type in the struct describing
1698 directory headers.])
1705 dnl From Jim Meyering.
1707 dnl Check whether struct dirent has a member named d_ino.
1710 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
1711 [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1712 AC_CACHE_CHECK([for d_ino member in directory struct],
1713 jm_cv_struct_dirent_d_ino,
1716 #include <sys/types.h>
1717 #ifdef HAVE_DIRENT_H
1718 # include <dirent.h>
1719 #else /* not HAVE_DIRENT_H */
1720 # define dirent direct
1721 # ifdef HAVE_SYS_NDIR_H
1722 # include <sys/ndir.h>
1723 # endif /* HAVE_SYS_NDIR_H */
1724 # ifdef HAVE_SYS_DIR_H
1725 # include <sys/dir.h>
1726 # endif /* HAVE_SYS_DIR_H */
1729 # endif /* HAVE_NDIR_H */
1730 #endif /* HAVE_DIRENT_H */
1732 [struct dirent dp; dp.d_ino = 0;],
1734 jm_cv_struct_dirent_d_ino=yes,
1735 jm_cv_struct_dirent_d_ino=no)
1738 if test $jm_cv_struct_dirent_d_ino = yes; then
1739 AC_DEFINE(D_INO_IN_DIRENT, 1,
1740 [Define if there is a member named d_ino in the struct describing
1741 directory headers.])
1748 dnl This is just a wrapper function to encapsulate this kludge.
1749 dnl Putting it in a separate file like this helps share it between
1750 dnl different packages.
1751 AC_DEFUN([jm_CHECK_DECLS],
1753 AC_REQUIRE([_jm_DECL_HEADERS])
1754 AC_REQUIRE([AC_HEADER_TIME])
1758 # if !STDC_HEADERS && HAVE_MEMORY_H
1759 # include <memory.h>
1761 # include <string.h>
1764 # include <strings.h>
1768 # include <stdlib.h>
1771 # include <unistd.h>
1774 #include <sys/types.h>
1775 #if TIME_WITH_SYS_TIME
1776 # include <sys/time.h>
1779 # if HAVE_SYS_TIME_H
1780 # include <sys/time.h>
1821 ttyname], , , $headers)
1824 dnl FIXME: when autoconf has support for it.
1825 dnl This is a little helper so we can require these header checks.
1826 AC_DEFUN([_jm_DECL_HEADERS],
1828 AC_REQUIRE([AC_HEADER_STDC])
1829 AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
1830 unistd.h sys/time.h utmp.h utmpx.h)
1835 dnl We use jm_ for non Autoconf macros.
1836 m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1837 m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1839 # These are the prerequisite macros for files in the lib/
1840 # directory of the coreutils package.
1842 AC_DEFUN([jm_PREREQ],
1844 AC_REQUIRE([jm_PREREQ_ADDEXT])
1846 # We don't yet use c-stack.c.
1847 # AC_REQUIRE([jm_PREREQ_C_STACK])
1849 AC_REQUIRE([jm_PREREQ_CANON_HOST])
1850 AC_REQUIRE([jm_PREREQ_DIRNAME])
1851 AC_REQUIRE([jm_PREREQ_ERROR])
1852 AC_REQUIRE([jm_PREREQ_EXCLUDE])
1853 AC_REQUIRE([jm_PREREQ_GETPAGESIZE])
1854 AC_REQUIRE([jm_PREREQ_HARD_LOCALE])
1855 AC_REQUIRE([jm_PREREQ_HASH])
1856 AC_REQUIRE([gl_HUMAN])
1857 AC_REQUIRE([jm_PREREQ_MBSWIDTH])
1858 AC_REQUIRE([jm_PREREQ_MEMCHR])
1859 AC_REQUIRE([jm_PREREQ_PHYSMEM])
1860 AC_REQUIRE([jm_PREREQ_POSIXVER])
1861 AC_REQUIRE([jm_PREREQ_QUOTEARG])
1862 AC_REQUIRE([jm_PREREQ_READUTMP])
1863 AC_REQUIRE([jm_PREREQ_STAT])
1864 AC_REQUIRE([jm_PREREQ_STRNLEN])
1865 AC_REQUIRE([jm_PREREQ_TEMPNAME]) # called by mkstemp
1866 AC_REQUIRE([gl_UTIMENS])
1867 AC_REQUIRE([jm_PREREQ_XGETCWD])
1868 AC_REQUIRE([jm_PREREQ_XREADLINK])
1871 AC_DEFUN([jm_PREREQ_ADDEXT],
1874 AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
1875 AC_CHECK_FUNCS(pathconf)
1876 AC_CHECK_HEADERS(limits.h string.h unistd.h)
1879 AC_DEFUN([jm_PREREQ_CANON_HOST],
1881 dnl Add any libraries as early as possible.
1882 dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1,
1883 dnl so we have to add -lnsl to LIBS before checking for that function.
1884 AC_SEARCH_LIBS(gethostbyname, [inet nsl])
1886 dnl These come from -lnsl on Solaris5.5.1.
1887 AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
1889 AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \
1890 netinet/in.h arpa/inet.h)
1893 AC_DEFUN([jm_PREREQ_DIRNAME],
1895 AC_REQUIRE([AC_HEADER_STDC])
1896 AC_CHECK_HEADERS(string.h)
1899 AC_DEFUN([jm_PREREQ_EXCLUDE],
1901 AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
1902 AC_REQUIRE([AC_HEADER_STDBOOL])
1905 AC_DEFUN([jm_PREREQ_GETPAGESIZE],
1907 AC_CHECK_FUNCS(getpagesize)
1908 AC_CHECK_HEADERS(OS.h unistd.h)
1911 AC_DEFUN([jm_PREREQ_HARD_LOCALE],
1913 AC_CHECK_HEADERS(locale.h stdlib.h string.h)
1914 AC_CHECK_FUNCS(setlocale)
1915 AC_REQUIRE([AM_C_PROTOTYPES])
1918 AC_DEFUN([jm_PREREQ_HASH],
1920 AC_CHECK_HEADERS(stdlib.h)
1921 AC_REQUIRE([AC_HEADER_STDBOOL])
1922 AC_REQUIRE([jm_CHECK_DECLS])
1925 AC_DEFUN([jm_PREREQ_MEMCHR],
1927 AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h)
1930 # Check for the external symbol, _system_configuration,
1931 # a struct with member `physmem'.
1932 AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION],
1933 [AC_CACHE_CHECK(for external symbol _system_configuration,
1934 gl_cv_var__system_configuration,
1935 [AC_LINK_IFELSE([AC_LANG_PROGRAM(
1936 [[#include <sys/systemcfg.h>
1938 [double x = _system_configuration.physmem;])],
1939 [gl_cv_var__system_configuration=yes],
1940 [gl_cv_var__system_configuration=no])])
1942 if test $gl_cv_var__system_configuration = yes; then
1943 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
1944 [Define to 1 if you have the external variable,
1945 _system_configuration with a member named physmem.])
1950 AC_DEFUN([jm_PREREQ_PHYSMEM],
1952 AC_CHECK_HEADERS([unistd.h sys/pstat.h sys/sysmp.h sys/sysinfo.h \
1953 machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \
1954 sys/systemcfg.h],,, [AC_INCLUDES_DEFAULT])
1955 AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table)
1957 AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION])
1960 AC_DEFUN([jm_PREREQ_POSIXVER],
1962 AC_CHECK_HEADERS(unistd.h)
1963 AC_CHECK_DECLS([getenv])
1966 AC_DEFUN([jm_PREREQ_QUOTEARG],
1968 AC_CHECK_FUNCS(isascii iswprint)
1969 AC_REQUIRE([jm_FUNC_MBRTOWC])
1970 AC_REQUIRE([jm_FUNC_MEMCMP])
1971 AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
1972 AC_REQUIRE([AC_HEADER_STDC])
1973 AC_REQUIRE([AC_C_BACKSLASH_A])
1974 AC_REQUIRE([AC_TYPE_MBSTATE_T])
1975 AC_REQUIRE([AM_C_PROTOTYPES])
1978 AC_DEFUN([jm_PREREQ_READUTMP],
1980 AC_REQUIRE([AC_HEADER_STDC])
1981 AC_CHECK_HEADERS(string.h utmp.h utmpx.h sys/param.h)
1982 AC_CHECK_FUNCS(utmpname)
1983 AC_CHECK_FUNCS(utmpxname)
1984 AC_REQUIRE([AM_C_PROTOTYPES])
1986 if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
1988 $ac_includes_default
1996 AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
1997 AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
1998 AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
1999 AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
2000 AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
2001 AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
2002 AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
2003 AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
2004 AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
2005 AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
2007 AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
2008 AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
2009 AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
2010 AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
2012 AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
2013 AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
2014 AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
2015 AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
2020 AC_DEFUN([jm_PREREQ_STAT],
2022 AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
2023 AC_CHECK_HEADERS(sys/param.h sys/mount.h)
2024 AC_CHECK_FUNCS(statvfs)
2026 # For `struct statfs' on Ultrix 4.4.
2027 AC_CHECK_HEADERS([netinet/in.h nfs/nfs_clnt.h nfs/vfs.h],,,
2028 [AC_INCLUDES_DEFAULT])
2030 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
2033 $ac_includes_default
2034 #if HAVE_SYS_STATVFS_H
2035 # include <sys/statvfs.h>
2038 # include <sys/vfs.h>
2040 #if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H
2041 # if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H
2042 /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
2043 # include <sys/param.h>
2044 # include <sys/mount.h>
2045 # elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
2046 /* Ultrix 4.4 needs these for the declaration of struct statfs. */
2047 # include <netinet/in.h>
2048 # include <nfs/nfs_clnt.h>
2049 # include <nfs/vfs.h>
2053 AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
2054 AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
2055 AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
2056 AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
2057 AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
2058 AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
2059 AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
2060 AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
2061 AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
2062 AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
2063 AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
2066 AC_DEFUN([jm_PREREQ_STRNLEN],
2068 AC_REQUIRE([AC_FUNC_STRNLEN])
2069 AC_REQUIRE([AC_HEADER_STDC])
2070 AC_CHECK_HEADERS(memory.h)
2071 AC_CHECK_DECLS([memchr])
2073 # This is necessary because automake-1.6.1 doesn't understand
2074 # that the above use of AC_FUNC_STRNLEN means we may have to use
2076 test $ac_cv_func_strnlen_working = yes \
2077 && AC_LIBOBJ(strnlen)
2080 AC_DEFUN([jm_PREREQ_TEMPNAME],
2082 AC_REQUIRE([AC_HEADER_STDC])
2083 AC_REQUIRE([AC_HEADER_STAT])
2084 AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h)
2085 AC_CHECK_FUNCS(__secure_getenv gettimeofday)
2086 AC_CHECK_DECLS([getenv])
2087 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2090 AC_DEFUN([jm_PREREQ_XGETCWD],
2092 AC_REQUIRE([AC_C_PROTOTYPES])
2093 AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h)
2094 AC_CHECK_FUNCS(getcwd)
2095 AC_REQUIRE([AC_FUNC_GETCWD_NULL])
2098 AC_DEFUN([jm_PREREQ_XREADLINK],
2100 AC_REQUIRE([AC_C_PROTOTYPES])
2101 AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h)
2106 AC_DEFUN([gl_ERROR],
2108 AC_FUNC_ERROR_AT_LINE
2109 dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
2113 # Prerequisites of lib/error.c.
2114 AC_DEFUN([jm_PREREQ_ERROR],
2116 AC_REQUIRE([AC_HEADER_STDC])
2117 AC_REQUIRE([AC_FUNC_VPRINTF])
2118 AC_CHECK_FUNCS(strerror)
2119 AC_CHECK_DECLS([strerror])
2124 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
2125 dnl This file is free software, distributed under the terms of the GNU
2126 dnl General Public License. As a special exception to the GNU General
2127 dnl Public License, this file may be distributed as part of a program
2128 dnl that contains a configuration script generated by Autoconf, under
2129 dnl the same distribution terms as the rest of that program.
2131 AC_DEFUN([gl_HUMAN],
2133 dnl Prerequisites of lib/human.h.
2134 AC_REQUIRE([AM_STDBOOL_H])
2135 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2137 dnl Prerequisites of lib/human.c.
2138 AC_CHECK_HEADERS_ONCE(locale.h stdlib.h string.h)
2139 AC_CHECK_DECLS_ONCE(getenv)
2140 AC_CHECK_FUNCS_ONCE(localeconv)
2143 # Check for stdbool.h that conforms to C99.
2145 # Copyright (C) 2002-2003 Free Software Foundation, Inc.
2147 # This program is free software; you can redistribute it and/or modify
2148 # it under the terms of the GNU General Public License as published by
2149 # the Free Software Foundation; either version 2, or (at your option)
2150 # any later version.
2152 # This program is distributed in the hope that it will be useful,
2153 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2154 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2155 # GNU General Public License for more details.
2157 # You should have received a copy of the GNU General Public License
2158 # along with this program; if not, write to the Free Software
2159 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2162 # Prepare for substituting <stdbool.h> if it is not supported.
2164 AC_DEFUN([AM_STDBOOL_H],
2166 AC_REQUIRE([AC_HEADER_STDBOOL])
2168 # Define two additional variables used in the Makefile substitution.
2170 if test "$ac_cv_header_stdbool_h" = yes; then
2173 STDBOOL_H='stdbool.h'
2175 AC_SUBST([STDBOOL_H])
2177 if test "$ac_cv_type__Bool" = yes; then
2182 AC_SUBST([HAVE__BOOL])
2185 # This macro is only needed in autoconf <= 2.54. Newer versions of autoconf
2186 # have this macro built-in.
2188 AC_DEFUN([AC_HEADER_STDBOOL],
2189 [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
2190 [ac_cv_header_stdbool_h],
2193 #include <stdbool.h>
2195 "error: bool is not defined"
2198 "error: false is not defined"
2201 "error: false is not 0"
2204 "error: false is not defined"
2207 "error: true is not 1"
2209 #ifndef __bool_true_false_are_defined
2210 "error: __bool_true_false_are_defined is not defined"
2213 struct s { _Bool s: 1; _Bool t; } s;
2215 char a[true == 1 ? 1 : -1];
2216 char b[false == 0 ? 1 : -1];
2217 char c[__bool_true_false_are_defined == 1 ? 1 : -1];
2218 char d[(bool) -0.5 == true ? 1 : -1];
2220 char f[(_Bool) -0.0 == false ? 1 : -1];
2222 char h[sizeof (_Bool)];
2225 [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
2226 [ac_cv_header_stdbool_h=yes],
2227 [ac_cv_header_stdbool_h=no])])
2228 AC_CHECK_TYPES([_Bool])
2229 if test $ac_cv_header_stdbool_h = yes; then
2230 AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
2233 # uintmax_t.m4 serial 7 (gettext-0.12)
2234 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2235 dnl This file is free software, distributed under the terms of the GNU
2236 dnl General Public License. As a special exception to the GNU General
2237 dnl Public License, this file may be distributed as part of a program
2238 dnl that contains a configuration script generated by Autoconf, under
2239 dnl the same distribution terms as the rest of that program.
2241 dnl From Paul Eggert.
2245 # Define uintmax_t to 'unsigned long' or 'unsigned long long'
2246 # if it is not already defined in <stdint.h> or <inttypes.h>.
2248 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
2250 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
2251 AC_REQUIRE([jm_AC_HEADER_STDINT_H])
2252 if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
2253 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
2254 test $ac_cv_type_unsigned_long_long = yes \
2255 && ac_type='unsigned long long' \
2256 || ac_type='unsigned long'
2257 AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
2258 [Define to unsigned long or unsigned long long
2259 if <stdint.h> and <inttypes.h> don't define.])
2261 AC_DEFINE(HAVE_UINTMAX_T, 1,
2262 [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
2266 # inttypes_h.m4 serial 5 (gettext-0.12)
2267 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2268 dnl This file is free software, distributed under the terms of the GNU
2269 dnl General Public License. As a special exception to the GNU General
2270 dnl Public License, this file may be distributed as part of a program
2271 dnl that contains a configuration script generated by Autoconf, under
2272 dnl the same distribution terms as the rest of that program.
2274 dnl From Paul Eggert.
2276 # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
2277 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2279 AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
2281 AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
2283 [#include <sys/types.h>
2284 #include <inttypes.h>],
2285 [uintmax_t i = (uintmax_t) -1;],
2286 jm_ac_cv_header_inttypes_h=yes,
2287 jm_ac_cv_header_inttypes_h=no)])
2288 if test $jm_ac_cv_header_inttypes_h = yes; then
2289 AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
2290 [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
2291 and declares uintmax_t. ])
2295 # stdint_h.m4 serial 3 (gettext-0.12)
2296 dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
2297 dnl This file is free software, distributed under the terms of the GNU
2298 dnl General Public License. As a special exception to the GNU General
2299 dnl Public License, this file may be distributed as part of a program
2300 dnl that contains a configuration script generated by Autoconf, under
2301 dnl the same distribution terms as the rest of that program.
2303 dnl From Paul Eggert.
2305 # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
2306 # doesn't clash with <sys/types.h>, and declares uintmax_t.
2308 AC_DEFUN([jm_AC_HEADER_STDINT_H],
2310 AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
2312 [#include <sys/types.h>
2313 #include <stdint.h>],
2314 [uintmax_t i = (uintmax_t) -1;],
2315 jm_ac_cv_header_stdint_h=yes,
2316 jm_ac_cv_header_stdint_h=no)])
2317 if test $jm_ac_cv_header_stdint_h = yes; then
2318 AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
2319 [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
2320 and declares uintmax_t. ])
2326 dnl From Paul Eggert.
2328 # Define HAVE_LONG_LONG if 'long long' works.
2330 AC_DEFUN([jm_AC_TYPE_LONG_LONG],
2332 AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
2333 [AC_TRY_LINK([long long ll = 1; int i = 63;],
2334 [long long llmax = (long long) -1;
2335 return ll << i | ll >> i | llmax / ll | llmax % ll;],
2336 ac_cv_type_long_long=yes,
2337 ac_cv_type_long_long=no)])
2338 if test $ac_cv_type_long_long = yes; then
2339 AC_DEFINE(HAVE_LONG_LONG, 1,
2340 [Define if you have the long long type.])
2344 # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
2346 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
2348 AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
2349 [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
2350 [unsigned long long ullmax = (unsigned long long) -1;
2351 return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
2352 ac_cv_type_unsigned_long_long=yes,
2353 ac_cv_type_unsigned_long_long=no)])
2354 if test $ac_cv_type_unsigned_long_long = yes; then
2355 AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
2356 [Define if you have the unsigned long long type.])
2362 dnl autoconf tests required for use of mbswidth.c
2363 dnl From Bruno Haible.
2365 AC_DEFUN([jm_PREREQ_MBSWIDTH],
2367 AC_REQUIRE([AC_HEADER_STDC])
2368 AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
2369 AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
2372 AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
2374 /* AIX 3.2.5 declares wcwidth in <string.h>. */
2376 # include <string.h>
2383 char *p = (char *) wcwidth;
2385 ], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
2386 if test $ac_cv_have_decl_wcwidth = yes; then
2391 AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
2392 [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
2397 # mbrtowc.m4 serial 4 (fileutils-4.1.3)
2398 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
2399 dnl This file is free software, distributed under the terms of the GNU
2400 dnl General Public License. As a special exception to the GNU General
2401 dnl Public License, this file may be distributed as part of a program
2402 dnl that contains a configuration script generated by Autoconf, under
2403 dnl the same distribution terms as the rest of that program.
2405 dnl From Paul Eggert
2407 AC_DEFUN([jm_FUNC_MBRTOWC],
2409 AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
2412 [#include <wchar.h>],
2413 [mbstate_t state; return ! (sizeof state && mbrtowc);],
2414 jm_cv_func_mbrtowc=yes,
2415 jm_cv_func_mbrtowc=no)])
2416 if test $jm_cv_func_mbrtowc = yes; then
2417 AC_DEFINE(HAVE_MBRTOWC, 1,
2418 [Define to 1 if mbrtowc and mbstate_t are properly declared.])
2422 dnl Copyright (C) 2003 Free Software Foundation, Inc.
2423 dnl This file is free software, distributed under the terms of the GNU
2424 dnl General Public License. As a special exception to the GNU General
2425 dnl Public License, this file may be distributed as part of a program
2426 dnl that contains a configuration script generated by Autoconf, under
2427 dnl the same distribution terms as the rest of that program.
2429 AC_DEFUN([gl_UTIMENS],
2431 dnl Prerequisites of lib/utimens.c.
2432 AC_REQUIRE([gl_TIMESPEC])
2433 AC_REQUIRE([gl_FUNC_UTIMES])
2434 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
2435 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
2436 AC_CHECK_FUNCS_ONCE(utime)
2441 dnl From Jim Meyering
2443 AC_DEFUN([gl_TIMESPEC],
2445 dnl Prerequisites of lib/timespec.h.
2446 AC_REQUIRE([AC_HEADER_TIME])
2447 AC_CHECK_HEADERS_ONCE(sys/time.h)
2448 jm_CHECK_TYPE_STRUCT_TIMESPEC
2449 AC_STRUCT_ST_MTIM_NSEC
2451 dnl Persuade glibc <time.h> to declare nanosleep().
2452 AC_REQUIRE([AC_GNU_SOURCE])
2454 AC_CHECK_DECLS(nanosleep, , , [#include <time.h>])
2457 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
2458 dnl in time.h or sys/time.h.
2460 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
2462 dnl Persuade pedantic Solaris to declare struct timespec.
2463 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
2465 AC_REQUIRE([AC_HEADER_TIME])
2466 AC_CHECK_HEADERS_ONCE(sys/time.h)
2467 AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
2470 # if TIME_WITH_SYS_TIME
2471 # include <sys/time.h>
2474 # if HAVE_SYS_TIME_H
2475 # include <sys/time.h>
2481 [static struct timespec x; x.tv_sec = x.tv_nsec;],
2482 fu_cv_sys_struct_timespec=yes,
2483 fu_cv_sys_struct_timespec=no)
2486 if test $fu_cv_sys_struct_timespec = yes; then
2487 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
2488 [Define if struct timespec is declared in <time.h>. ])
2494 dnl From Paul Eggert.
2496 # Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
2499 AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
2500 [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
2501 ac_cv_struct_st_mtim_nsec,
2502 [ac_save_CPPFLAGS="$CPPFLAGS"
2503 ac_cv_struct_st_mtim_nsec=no
2504 # tv_nsec -- the usual case
2505 # _tv_nsec -- Solaris 2.6, if
2506 # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
2507 # && !defined __EXTENSIONS__)
2508 # st__tim.tv_nsec -- UnixWare 2.1.2
2509 for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
2510 CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
2511 AC_TRY_COMPILE([#include <sys/types.h>
2512 #include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
2513 [ac_cv_struct_st_mtim_nsec=$ac_val; break])
2515 CPPFLAGS="$ac_save_CPPFLAGS"])
2517 if test $ac_cv_struct_st_mtim_nsec != no; then
2518 AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
2519 [Define to be the nanoseconds member of struct stat's st_mtim,
2525 # See if we need to work around bugs in glibc's implementation of utimes
2526 # from around July/August 2003.
2527 # First, there was a bug that would make utimes set mtime and atime
2528 # to zero (1970-01-01) unconditionally.
2529 # Then, there is/was code to round rather than truncate.
2531 # From Jim Meyering, with suggestions from Paul Eggert.
2533 AC_DEFUN([gl_FUNC_UTIMES],
2535 AC_CACHE_CHECK([determine whether the utimes function works],
2536 gl_cv_func_working_utimes,
2538 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2539 #include <sys/types.h>
2540 #include <sys/stat.h>
2541 #include <sys/time.h>
2550 static struct timeval timeval[2] = {{9, 10}, {999999, 999999}};
2552 char const *file = "x";
2555 exit ( ! ((f = fopen (file, "w"))
2557 && utimes (file, timeval) == 0
2558 && lstat (file, &sbuf) == 0
2559 && sbuf.st_atime == timeval[0].tv_sec
2560 && sbuf.st_mtime == timeval[1].tv_sec) );
2563 [gl_cv_func_working_utimes=yes],
2564 [gl_cv_func_working_utimes=no],
2565 [gl_cv_func_working_utimes=no])])
2567 if test $gl_cv_func_working_utimes = yes; then
2568 AC_DEFINE([HAVE_WORKING_UTIMES], 1, [Define if utimes works properly. ])
2574 dnl A replacement for autoconf's macro by the same name. This version
2575 dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
2576 dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
2577 dnl run only if one of the listed libraries ends up being used (and not in
2578 dnl the `none required' case.
2579 dnl I hope it's only temporary while we wait for that version to be fixed.
2580 undefine([AC_SEARCH_LIBS])
2582 # AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
2583 # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
2584 # [OTHER-LIBRARIES])
2585 # --------------------------------------------------------
2586 # Search for a library defining FUNC, if it's not already available.
2587 AC_DEFUN([AC_SEARCH_LIBS],
2589 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
2591 ac_func_search_save_LIBS=$LIBS
2593 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
2594 if test "$ac_cv_search_$1" = no; then
2595 for ac_lib in $2; do
2596 LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
2597 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
2600 LIBS=$ac_func_search_save_LIBS
2603 if test "$ac_cv_search_$1" = no; then :
2606 if test "$ac_cv_search_$1" = 'none required'; then :
2609 LIBS="$ac_cv_search_$1 $LIBS"
2616 # Copyright 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
2618 # This program is free software; you can redistribute it and/or modify
2619 # it under the terms of the GNU General Public License as published by
2620 # the Free Software Foundation; either version 2, or (at your option)
2621 # any later version.
2623 # This program is distributed in the hope that it will be useful,
2624 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2625 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2626 # GNU General Public License for more details.
2628 # You should have received a copy of the GNU General Public License
2629 # along with this program; if not, write to the Free Software
2630 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2635 AC_DEFUN([AM_C_PROTOTYPES],
2636 [AC_REQUIRE([AM_PROG_CC_STDC])
2637 AC_REQUIRE([AC_PROG_CPP])
2638 AC_MSG_CHECKING([for function prototypes])
2639 if test "$am_cv_prog_cc_stdc" != no; then
2641 AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
2645 U=_ ANSI2KNR=./ansi2knr
2647 # Ensure some checks needed by ansi2knr itself.
2649 AC_CHECK_HEADERS(string.h)
2651 AC_SUBST(ANSI2KNR)dnl
2654 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
2657 # Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
2659 # This program is free software; you can redistribute it and/or modify
2660 # it under the terms of the GNU General Public License as published by
2661 # the Free Software Foundation; either version 2, or (at your option)
2662 # any later version.
2664 # This program is distributed in the hope that it will be useful,
2665 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2666 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2667 # GNU General Public License for more details.
2669 # You should have received a copy of the GNU General Public License
2670 # along with this program; if not, write to the Free Software
2671 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2676 # @defmac AC_PROG_CC_STDC
2677 # @maindex PROG_CC_STDC
2679 # If the C compiler in not in ANSI C mode by default, try to add an option
2680 # to output variable @code{CC} to make it so. This macro tries various
2681 # options that select ANSI C on some system or another. It considers the
2682 # compiler to be in ANSI C mode if it handles function prototypes correctly.
2684 # If you use this macro, you should check after calling it whether the C
2685 # compiler has been set to accept ANSI C; if not, the shell variable
2686 # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
2687 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
2688 # program @code{ansi2knr}, which comes with Ghostscript.
2691 AC_DEFUN([AM_PROG_CC_STDC],
2692 [AC_REQUIRE([AC_PROG_CC])
2693 AC_BEFORE([$0], [AC_C_INLINE])
2694 AC_BEFORE([$0], [AC_C_CONST])
2695 dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
2696 dnl a magic option to avoid problems with ANSI preprocessor commands
2698 dnl FIXME: can't do this because then AC_AIX won't work due to a
2699 dnl circular dependency.
2700 dnl AC_BEFORE([$0], [AC_PROG_CPP])
2701 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
2702 AC_CACHE_VAL(am_cv_prog_cc_stdc,
2703 [am_cv_prog_cc_stdc=no
2705 # Don't try gcc -ansi; that turns off useful extensions and
2706 # breaks some systems' header files.
2707 # AIX -qlanglvl=ansi
2708 # Ultrix and OSF/1 -std1
2709 # HP-UX 10.20 and later -Ae
2710 # HP-UX older versions -Aa -D_HPUX_SOURCE
2711 # SVR4 -Xc -D__EXTENSIONS__
2712 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
2714 CC="$ac_save_CC $ac_arg"
2716 [#include <stdarg.h>
2718 #include <sys/types.h>
2719 #include <sys/stat.h>
2720 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
2721 struct buf { int x; };
2722 FILE * (*rcsopen) (struct buf *, struct stat *, int);
2723 static char *e (p, i)
2729 static char *f (char * (*g) (char **, int), char **p, ...)
2734 s = g (p, va_arg (v,int));
2738 int test (int i, double x);
2739 struct s1 {int (*f) (int a);};
2740 struct s2 {int (*f) (double a);};
2741 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
2745 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
2747 [am_cv_prog_cc_stdc="$ac_arg"; break])
2751 if test -z "$am_cv_prog_cc_stdc"; then
2752 AC_MSG_RESULT([none needed])
2754 AC_MSG_RESULT([$am_cv_prog_cc_stdc])
2756 case "x$am_cv_prog_cc_stdc" in
2758 *) CC="$CC $am_cv_prog_cc_stdc" ;;
2762 AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
2766 AC_DEFUN([jm_FUNC_MEMCMP],
2767 [AC_REQUIRE([AC_FUNC_MEMCMP])dnl
2768 if test $ac_cv_func_memcmp_working = no; then
2769 AC_DEFINE(memcmp, rpl_memcmp,
2770 [Define to rpl_memcmp if the replacement function should be used.])
2774 # getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
2776 # Copyright 2001 Free Software Foundation, Inc.
2778 # This program is free software; you can redistribute it and/or modify
2779 # it under the terms of the GNU General Public License as published by
2780 # the Free Software Foundation; either version 2, or (at your option)
2781 # any later version.
2783 # This program is distributed in the hope that it will be useful,
2784 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2785 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2786 # GNU General Public License for more details.
2788 # You should have received a copy of the GNU General Public License
2789 # along with this program; if not, write to the Free Software Foundation,
2790 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2792 # Written by Paul Eggert.
2794 AC_DEFUN([AC_FUNC_GETCWD_NULL],
2795 [AC_CHECK_HEADERS(stdlib.h unistd.h)
2796 AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
2797 [ac_cv_func_getcwd_null],
2800 # ifdef HAVE_STDLIB_H
2801 # include <stdlib.h>
2803 # ifdef HAVE_UNISTD_H
2804 # include <unistd.h>
2812 if (chdir ("/") != 0)
2816 char *f = getcwd (NULL, 0);
2817 exit (! (f && f[0] == '/' && !f[1]));
2820 [ac_cv_func_getcwd_null=yes],
2821 [ac_cv_func_getcwd_null=no],
2822 [ac_cv_func_getcwd_null=no])])
2823 if test $ac_cv_func_getcwd_null = yes; then
2824 AC_DEFINE(HAVE_GETCWD_NULL, 1,
2825 [Define if getcwd (NULL, 0) allocates memory for result.])
2830 dnl Find out how to get the file descriptor associated with an open DIR*.
2831 dnl From Jim Meyering
2833 AC_DEFUN([UTILS_FUNC_DIRFD],
2835 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
2836 AC_REQUIRE([AC_PROG_CPP])
2837 AC_REQUIRE([AC_PROG_EGREP])
2842 # include <dirent.h>
2843 #else /* not HAVE_DIRENT_H */
2844 # define dirent direct
2845 # if HAVE_SYS_NDIR_H
2846 # include <sys/ndir.h>
2847 # endif /* HAVE_SYS_NDIR_H */
2849 # include <sys/dir.h>
2850 # endif /* HAVE_SYS_DIR_H */
2853 # endif /* HAVE_NDIR_H */
2854 #endif /* HAVE_DIRENT_H */
2856 AC_CHECK_FUNCS(dirfd)
2857 AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
2859 AC_CACHE_CHECK([whether dirfd is a macro],
2860 jm_cv_func_dirfd_macro,
2861 [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
2863 dirent_header_defines_dirfd
2865 jm_cv_func_dirfd_macro=yes,
2866 jm_cv_func_dirfd_macro=no)])
2868 # Use the replacement only if we have no function, macro,
2869 # or declaration with that name.
2870 if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
2872 AC_REPLACE_FUNCS([dirfd])
2874 [how to get the file descriptor associated with an open DIR*],
2875 gl_cv_sys_dir_fd_member_name,
2877 dirfd_save_CFLAGS=$CFLAGS
2878 for ac_expr in d_fd dd_fd; do
2880 CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
2884 [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
2887 CFLAGS=$dirfd_save_CFLAGS
2888 test "$dir_fd_found" = yes && break
2890 test "$dir_fd_found" = yes || ac_expr=no_such_member
2892 gl_cv_sys_dir_fd_member_name=$ac_expr
2895 if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
2896 AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
2897 $gl_cv_sys_dir_fd_member_name,
2898 [the name of the file descriptor member of DIR])
2900 AH_VERBATIM(DIR_TO_FD,
2901 [#ifdef DIR_FD_MEMBER_NAME
2902 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
2904 # define DIR_TO_FD(Dir_p) -1
2911 # acl.m4 - check for access control list (ACL) primitives
2913 # Copyright (C) 2002 Free Software Foundation, Inc.
2915 # This program is free software; you can redistribute it and/or modify
2916 # it under the terms of the GNU General Public License as published by
2917 # the Free Software Foundation; either version 2, or (at your option)
2918 # any later version.
2920 # This program is distributed in the hope that it will be useful,
2921 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2922 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2923 # GNU General Public License for more details.
2925 # You should have received a copy of the GNU General Public License
2926 # along with this program; if not, write to the Free Software Foundation,
2927 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2929 # Written by Paul Eggert.
2931 AC_DEFUN([AC_FUNC_ACL],
2932 [AC_CHECK_HEADERS(sys/acl.h)
2933 AC_CHECK_FUNCS(acl)])
2936 # Use the replacement ftw.c if the one in the C library is inadequate or buggy.
2937 # For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
2938 # or FTW_DCHP that we need. Arrange to use lib/ftw.h. And since that
2939 # implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
2940 # objects and arrange to use lib/search.h if necessary.
2943 AC_DEFUN([AC_FUNC_FTW],
2946 AC_REQUIRE([AC_HEADER_STAT])
2947 AC_REQUIRE([jm_FUNC_LSTAT])
2948 AC_REQUIRE([AC_HEADER_DIRENT])
2949 AC_CHECK_HEADERS(sys/param.h)
2950 AC_CHECK_DECLS([stpcpy])
2952 # In the event that we have to use the replacement ftw.c,
2953 # see if we'll also need the replacement tsearch.c.
2954 AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
2956 AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
2957 ac_cv_func_ftw_working,
2959 # The following test would fail prior to glibc-2.3.2, because `depth'
2960 # would be 2 rather than 4. Of course, now that we require FTW_DCH
2961 # and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
2962 mkdir -p conftest.dir/a/b/c
2963 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2968 static char *_f[] = { "conftest.dir", "conftest.dir/a",
2969 "conftest.dir/a/b", "conftest.dir/a/b/c" };
2970 static char **p = _f;
2974 cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
2976 if (strcmp (file, *p++) != 0)
2985 /* Require these symbols, too. */
2989 int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
2990 exit ((err == 0 && depth == 4) ? 0 : 1);
2993 [ac_cv_func_ftw_working=yes],
2994 [ac_cv_func_ftw_working=no],
2995 [ac_cv_func_ftw_working=no])])
2997 if test $ac_cv_func_ftw_working = no; then
2999 AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
3000 # Add tsearch.o IFF we have to use the replacement ftw.c.
3001 if test -n "$need_tdestroy"; then
3002 AC_LIBOBJ([tsearch])
3003 # Link search.h to search_.h if we use the replacement tsearch.c.
3005 [$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
3012 dnl From Jim Meyering.
3013 dnl Determine whether lstat has the bug that it succeeds when given the
3014 dnl zero-length file name argument. The lstat from SunOS 4.1.4 and the Hurd
3015 dnl (as of 1998-11-01) do this.
3017 dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
3018 dnl compile the wrapper function.
3021 AC_DEFUN([jm_FUNC_LSTAT],
3023 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3024 AC_CACHE_CHECK([whether lstat accepts an empty string],
3025 jm_cv_func_lstat_empty_string_bug,
3027 # include <sys/types.h>
3028 # include <sys/stat.h>
3034 exit (lstat ("", &sbuf) ? 1 : 0);
3037 jm_cv_func_lstat_empty_string_bug=yes,
3038 jm_cv_func_lstat_empty_string_bug=no,
3039 dnl When crosscompiling, assume lstat is broken.
3040 jm_cv_func_lstat_empty_string_bug=yes)
3042 if test $jm_cv_func_lstat_empty_string_bug = yes; then
3044 AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
3045 [Define if lstat has the bug that it succeeds when given the zero-length
3046 file name argument. The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3053 dnl From Jim Meyering.
3054 dnl Provide lchown on systems that lack it.
3056 AC_DEFUN([jm_FUNC_LCHOWN],
3058 AC_REQUIRE([AC_TYPE_UID_T])
3059 AC_REPLACE_FUNCS(lchown)
3064 # When rmdir fails because the specified directory is not empty, it sets
3065 # errno to some value, usually ENOTEMPTY. However, on some AIX systems,
3066 # ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and
3067 # in general, to avoid depending on the use of any particular symbol, this
3068 # test runs a test to determine the actual numeric value.
3069 AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
3071 AC_CACHE_CHECK([for rmdir-not-empty errno value],
3072 fetish_cv_func_rmdir_errno_not_empty,
3074 # Arrange for deletion of the temporary directory this test creates.
3075 ac_clean_files="$ac_clean_files confdir2"
3076 mkdir confdir2; : > confdir2/file
3089 s = fopen ("confdir2/errno", "w");
3090 fprintf (s, "%d\n", val);
3094 fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
3095 fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
3096 fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
3101 AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
3102 $fetish_cv_func_rmdir_errno_not_empty,
3103 [the value to which errno is set when rmdir fails on a nonempty directory])
3108 dnl From Jim Meyering.
3109 dnl Determine whether chown accepts arguments of -1 for uid and gid.
3110 dnl If it doesn't, arrange to use the replacement function.
3113 AC_DEFUN([jm_FUNC_CHOWN],
3114 [AC_REQUIRE([AC_TYPE_UID_T])dnl
3115 test -z "$ac_cv_header_unistd_h" \
3116 && AC_CHECK_HEADERS(unistd.h)
3117 AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown,
3119 # include <sys/types.h>
3120 # include <sys/stat.h>
3122 # ifdef HAVE_UNISTD_H
3123 # include <unistd.h>
3129 char *f = "conftest.chown";
3130 struct stat before, after;
3132 if (creat (f, 0600) < 0)
3134 if (stat (f, &before) < 0)
3136 if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
3138 if (stat (f, &after) < 0)
3140 exit ((before.st_uid == after.st_uid
3141 && before.st_gid == after.st_gid) ? 0 : 1);
3144 jm_cv_func_working_chown=yes,
3145 jm_cv_func_working_chown=no,
3146 dnl When crosscompiling, assume chown is broken.
3147 jm_cv_func_working_chown=no)
3149 if test $jm_cv_func_working_chown = no; then
3151 AC_DEFINE(chown, rpl_chown,
3152 [Define to rpl_chown if the replacement function should be used.])
3156 # mktime.m4 serial 2
3157 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3158 dnl This file is free software, distributed under the terms of the GNU
3159 dnl General Public License. As a special exception to the GNU General
3160 dnl Public License, this file may be distributed as part of a program
3161 dnl that contains a configuration script generated by Autoconf, under
3162 dnl the same distribution terms as the rest of that program.
3164 dnl From Jim Meyering.
3166 # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.57 and earlier.
3167 # This redefinition can be removed once a new version of Autoconf comes out.
3168 # The redefinition is taken from
3169 # <http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.78>.
3172 AC_DEFUN([AC_FUNC_MKTIME],
3173 [AC_REQUIRE([AC_HEADER_TIME])dnl
3174 AC_CHECK_HEADERS(stdlib.h sys/time.h unistd.h)
3175 AC_CHECK_FUNCS(alarm)
3176 AC_CACHE_CHECK([for working mktime], ac_cv_func_working_mktime,
3177 [AC_RUN_IFELSE([AC_LANG_SOURCE(
3178 [[/* Test program from Paul Eggert and Tony Leneis. */
3179 #if TIME_WITH_SYS_TIME
3180 # include <sys/time.h>
3183 # if HAVE_SYS_TIME_H
3184 # include <sys/time.h>
3191 # include <stdlib.h>
3195 # include <unistd.h>
3199 # define alarm(X) /* empty */
3202 /* Work around redefinition to rpl_putenv by other config tests. */
3205 static time_t time_t_max;
3206 static time_t time_t_min;
3208 /* Values we'll use to set the TZ environment variable. */
3209 static char *tz_strings[] = {
3210 (char *) 0, "TZ=GMT0", "TZ=JST-9",
3211 "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
3213 #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
3215 /* Fail if mktime fails to convert a date in the spring-forward gap.
3216 Based on a problem report from Andreas Jaeger. */
3218 spring_forward_gap ()
3220 /* glibc (up to about 1998-10-07) failed this test. */
3223 /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
3224 instead of "TZ=America/Vancouver" in order to detect the bug even
3225 on systems that don't support the Olson extension, or don't have the
3226 full zoneinfo tables installed. */
3227 putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
3236 if (mktime (&tm) == (time_t)-1)
3245 if ((lt = localtime (&now)) && mktime (lt) != now)
3254 mktime_test1 ((time_t) (time_t_max - now));
3255 mktime_test1 ((time_t) (time_t_min + now));
3261 /* Based on code from Ariel Faigon. */
3271 if (tm.tm_mon != 2 || tm.tm_mday != 31)
3281 tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
3283 if (now != (time_t) -1)
3285 struct tm *lt = localtime (&now);
3287 && lt->tm_year == tm.tm_year
3288 && lt->tm_mon == tm.tm_mon
3289 && lt->tm_mday == tm.tm_mday
3290 && lt->tm_hour == tm.tm_hour
3291 && lt->tm_min == tm.tm_min
3292 && lt->tm_sec == tm.tm_sec
3293 && lt->tm_yday == tm.tm_yday
3294 && lt->tm_wday == tm.tm_wday
3295 && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
3296 == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
3307 /* This test makes some buggy mktime implementations loop.
3308 Give up after 60 seconds; a mktime slower than that
3309 isn't worth using anyway. */
3312 for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
3315 if ((time_t) -1 < 0)
3316 for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
3318 delta = time_t_max / 997; /* a suitable prime number */
3319 for (i = 0; i < N_STRINGS; i++)
3322 putenv (tz_strings[i]);
3324 for (t = 0; t <= time_t_max - delta; t += delta)
3326 mktime_test ((time_t) 1);
3327 mktime_test ((time_t) (60 * 60));
3328 mktime_test ((time_t) (60 * 60 * 24));
3330 for (j = 1; 0 < j; j *= 2)
3332 bigtime_test (j - 1);
3335 spring_forward_gap ();
3338 [ac_cv_func_working_mktime=yes],
3339 [ac_cv_func_working_mktime=no],
3340 [ac_cv_func_working_mktime=no])])
3341 if test $ac_cv_func_working_mktime = no; then
3346 AC_DEFUN([gl_FUNC_MKTIME],
3348 AC_REQUIRE([AC_FUNC_MKTIME])
3349 if test $ac_cv_func_working_mktime = no; then
3350 AC_DEFINE(mktime, rpl_mktime,
3351 [Define to rpl_mktime if the replacement function should be used.])
3356 # Prerequisites of lib/mktime.c.
3357 AC_DEFUN([gl_PREREQ_MKTIME], [
3358 AC_REQUIRE([AC_HEADER_STDC])
3359 AC_CHECK_HEADERS_ONCE(limits.h)
3364 dnl From Jim Meyering.
3365 dnl Determine whether stat has the bug that it succeeds when given the
3366 dnl zero-length file name argument. The stat from SunOS 4.1.4 and the Hurd
3367 dnl (as of 1998-11-01) do this.
3369 dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
3370 dnl compile the wrapper function.
3373 AC_DEFUN([jm_FUNC_STAT],
3375 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3376 AC_CACHE_CHECK([whether stat accepts an empty string],
3377 jm_cv_func_stat_empty_string_bug,
3379 # include <sys/types.h>
3380 # include <sys/stat.h>
3386 exit (stat ("", &sbuf) ? 1 : 0);
3389 jm_cv_func_stat_empty_string_bug=yes,
3390 jm_cv_func_stat_empty_string_bug=no,
3391 dnl When crosscompiling, assume stat is broken.
3392 jm_cv_func_stat_empty_string_bug=yes)
3394 if test $jm_cv_func_stat_empty_string_bug = yes; then
3396 AC_DEFINE(HAVE_STAT_EMPTY_STRING_BUG, 1,
3397 [Define if stat has the bug that it succeeds when given the zero-length
3398 file name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3405 dnl From Jim Meyering.
3406 dnl Check for the nanosleep function.
3407 dnl If not found, use the supplied replacement.
3410 AC_DEFUN([jm_FUNC_NANOSLEEP],
3412 nanosleep_save_libs=$LIBS
3414 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
3415 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
3416 AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
3417 AC_SUBST(LIB_NANOSLEEP)
3419 AC_CACHE_CHECK([whether nanosleep works],
3420 jm_cv_func_nanosleep_works,
3422 AC_REQUIRE([AC_HEADER_TIME])
3424 # if TIME_WITH_SYS_TIME
3425 # include <sys/time.h>
3428 # if HAVE_SYS_TIME_H
3429 # include <sys/time.h>
3438 struct timespec ts_sleep, ts_remaining;
3439 ts_sleep.tv_sec = 0;
3440 ts_sleep.tv_nsec = 1;
3441 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
3444 jm_cv_func_nanosleep_works=yes,
3445 jm_cv_func_nanosleep_works=no,
3446 dnl When crosscompiling, assume the worst.
3447 jm_cv_func_nanosleep_works=no)
3449 if test $jm_cv_func_nanosleep_works = no; then
3450 AC_LIBOBJ(nanosleep)
3451 AC_DEFINE(nanosleep, rpl_nanosleep,
3452 [Define to rpl_nanosleep if the replacement function should be used.])
3455 LIBS=$nanosleep_save_libs
3458 # memcoll.m4 serial 2
3459 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3460 dnl This file is free software, distributed under the terms of the GNU
3461 dnl General Public License. As a special exception to the GNU General
3462 dnl Public License, this file may be distributed as part of a program
3463 dnl that contains a configuration script generated by Autoconf, under
3464 dnl the same distribution terms as the rest of that program.
3466 AC_DEFUN([gl_MEMCOLL],
3468 dnl Prerequisites of lib/memcoll.c.
3469 AC_REQUIRE([AC_FUNC_MEMCMP])
3470 AC_CHECK_HEADERS_ONCE(string.h)
3474 #serial 8 -*- autoconf -*-
3476 dnl From Jim Meyering.
3478 dnl See if the glibc *_unlocked I/O macros or functions are available.
3479 dnl Use only those *_unlocked macros or functions that are declared
3480 dnl (because some of them were declared in Solaris 2.5.1 but were removed
3481 dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
3482 dnl on Solaris 2.6).
3484 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
3486 dnl Persuade glibc and Solaris <stdio.h> to declare
3487 dnl fgets_unlocked(), fputs_unlocked() etc.
3488 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
3490 AC_CHECK_DECLS_ONCE(
3491 [clearerr_unlocked feof_unlocked ferror_unlocked
3492 fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
3493 fread_unlocked fwrite_unlocked getc_unlocked
3494 getchar_unlocked putc_unlocked putchar_unlocked])
3499 dnl Written by Jim Meyering
3501 AC_DEFUN([jm_FUNC_GROUP_MEMBER],
3503 dnl Do this replacement check manually because I want the hyphen
3504 dnl (not the underscore) in the filename.
3505 AC_CHECK_FUNC(group_member, , [AC_LIBOBJ(group-member)])
3511 dnl From Jim Meyering.
3513 dnl Check whether putenv ("FOO") removes FOO from the environment.
3514 dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
3517 AC_DEFUN([jm_FUNC_PUTENV],
3518 [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
3523 /* Put it in env. */
3524 if (putenv ("CONFTEST_putenv=val"))
3527 /* Try to remove it. */
3528 if (putenv ("CONFTEST_putenv"))
3531 /* Make sure it was deleted. */
3532 if (getenv ("CONFTEST_putenv") != 0)
3538 jm_cv_func_svid_putenv=yes,
3539 jm_cv_func_svid_putenv=no,
3540 dnl When crosscompiling, assume putenv is broken.
3541 jm_cv_func_svid_putenv=no)
3543 if test $jm_cv_func_svid_putenv = no; then
3545 AC_DEFINE(putenv, rpl_putenv,
3546 [Define to rpl_putenv if the replacement function should be used.])
3554 AC_MSG_CHECKING(for AFS)
3555 if test -d /afs; then
3556 AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
3561 AC_MSG_RESULT($ac_result)
3566 # autoconf tests required for use of xstrtoumax.c
3568 AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX],
3570 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3571 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3572 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3573 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3574 AC_CHECK_DECLS([strtol, strtoul, strtoull, strtoimax, strtoumax])
3575 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3577 AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
3578 jm_cv_func_strtoumax_macro,
3579 AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
3581 inttypes_h_defines_strtoumax
3583 jm_cv_func_strtoumax_macro=yes,
3584 jm_cv_func_strtoumax_macro=no))
3586 if test "$jm_cv_func_strtoumax_macro" != yes; then
3587 AC_REPLACE_FUNCS(strtoumax)
3590 dnl Only the replacement strtoumax invokes strtoul and strtoull,
3591 dnl so we need the replacements only if strtoumax does not exist.
3592 case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
3594 AC_REPLACE_FUNCS(strtoul)
3596 dnl We don't need (and can't compile) the replacement strtoull
3597 dnl unless the type `unsigned long long' exists.
3598 if test "$ac_cv_type_unsigned_long_long" = yes; then
3599 AC_REPLACE_FUNCS(strtoull)
3605 # intmax_t.m4 serial 1
3606 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
3607 dnl This file is free software, distributed under the terms of the GNU
3608 dnl General Public License. As a special exception to the GNU General
3609 dnl Public License, this file may be distributed as part of a program
3610 dnl that contains a configuration script generated by Autoconf, under
3611 dnl the same distribution terms as the rest of that program.
3613 dnl From Paul Eggert.
3617 # Define intmax_t to 'long' or 'long long'
3618 # if it is not already defined in <stdint.h> or <inttypes.h>.
3620 AC_DEFUN([jm_AC_TYPE_INTMAX_T],
3622 dnl For simplicity, we assume that a header file defines 'intmax_t' if and
3623 dnl only if it defines 'uintmax_t'.
3624 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3625 AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3626 if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3627 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3628 test $ac_cv_type_long_long = yes \
3629 && ac_type='long long' \
3631 AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3632 [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
3634 AC_DEFINE(HAVE_INTMAX_T, 1,
3635 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3639 dnl An alternative would be to explicitly test for 'intmax_t'.
3641 AC_DEFUN([gt_AC_TYPE_INTMAX_T],
3643 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3644 AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3645 AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
3649 #if HAVE_STDINT_H_WITH_UINTMAX
3652 #if HAVE_INTTYPES_H_WITH_UINTMAX
3653 #include <inttypes.h>
3655 ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
3656 if test $gt_cv_c_intmax_t = yes; then
3657 AC_DEFINE(HAVE_INTMAX_T, 1,
3658 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3660 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3661 test $ac_cv_type_long_long = yes \
3662 && ac_type='long long' \
3664 AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3665 [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
3670 dnl Cloned from xstrtoumax.m4. Keep these files in sync.
3672 # autoconf tests required for use of xstrtoimax.c
3674 AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX],
3676 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3677 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3678 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3679 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3680 AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoimax, strtoumax])
3681 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3683 AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
3684 jm_cv_func_strtoimax_macro,
3685 AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
3687 inttypes_h_defines_strtoimax
3689 jm_cv_func_strtoimax_macro=yes,
3690 jm_cv_func_strtoimax_macro=no))
3692 if test "$jm_cv_func_strtoimax_macro" != yes; then
3693 AC_REPLACE_FUNCS(strtoimax)
3696 dnl Only the replacement strtoimax invokes strtol and strtoll,
3697 dnl so we need the replacements only if strtoimax does not exist.
3698 case "$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" in
3700 AC_REPLACE_FUNCS(strtol)
3702 dnl We don't need (and can't compile) the replacement strtoll
3703 dnl unless the type `long long' exists.
3704 if test "$ac_cv_type_long_long" = yes; then
3705 AC_REPLACE_FUNCS(strtoll)
3712 dnl Run a program to determine whether whether link(2) follows symlinks.
3713 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
3715 AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
3718 [whether link(2) dereferences a symlink specified with a trailing slash],
3719 jm_ac_cv_func_link_follows_symlink,
3721 dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
3722 dnl the appropriate framework.
3723 test -z "$ac_cv_header_unistd_h" \
3724 && AC_CHECK_HEADERS(unistd.h)
3726 # Create a regular file.
3727 echo > conftest.file
3730 # include <sys/types.h>
3731 # include <sys/stat.h>
3732 # ifdef HAVE_UNISTD_H
3733 # include <unistd.h>
3736 # define SAME_INODE(Stat_buf_1, Stat_buf_2) \
3737 ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
3738 && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
3743 const char *file = "conftest.file";
3744 const char *sym = "conftest.sym";
3745 const char *hard = "conftest.hard";
3746 struct stat sb_file, sb_hard;
3748 /* Create a symlink to the regular file. */
3749 if (symlink (file, sym))
3752 /* Create a hard link to that symlink. */
3753 if (link (sym, hard))
3756 if (lstat (hard, &sb_hard))
3758 if (lstat (file, &sb_file))
3761 /* If the dev/inode of hard and file are the same, then
3762 the link call followed the symlink. */
3763 return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
3766 jm_ac_cv_func_link_follows_symlink=yes,
3767 jm_ac_cv_func_link_follows_symlink=no,
3768 jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
3771 if test $jm_ac_cv_func_link_follows_symlink = yes; then
3772 AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
3773 [Define if `link(2)' dereferences symbolic links.])
3777 # Check for fnmatch.
3779 # This is a modified version of autoconf's AC_FUNC_FNMATCH.
3780 # This file should be simplified after Autoconf 2.57 is required.
3782 # Copyright (C) 2000-2003 Free Software Foundation, Inc.
3784 # This program is free software; you can redistribute it and/or modify
3785 # it under the terms of the GNU General Public License as published by
3786 # the Free Software Foundation; either version 2, or (at your option)
3787 # any later version.
3789 # This program is distributed in the hope that it will be useful,
3790 # but WITHOUT ANY WARRANTY; without even the implied warranty of
3791 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3792 # GNU General Public License for more details.
3794 # You should have received a copy of the GNU General Public License
3795 # along with this program; if not, write to the Free Software
3796 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3799 # _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE)
3800 # -------------------------------------------------------------------------
3801 # If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise
3802 # IF-FALSE. Use CACHE_VAR.
3803 AC_DEFUN([_AC_FUNC_FNMATCH_IF],
3805 [for working $1 fnmatch],
3807 [# Some versions of Solaris, SCO, and the GNU C Library
3808 # have a broken or incompatible fnmatch.
3809 # So we run a test program. If we are cross-compiling, take no chance.
3810 # Thanks to John Oleynick, Franc,ois Pinard, and Paul Eggert for this test.
3814 # include <stdlib.h>
3815 # include <fnmatch.h>
3816 # define y(a, b, c) (fnmatch (a, b, c) == 0)
3817 # define n(a, b, c) (fnmatch (a, b, c) == FNM_NOMATCH)
3820 (!(y ("a*", "abc", 0)
3821 && n ("d*/*1", "d/s/1", FNM_PATHNAME)
3822 && y ("a\\\\bc", "abc", 0)
3823 && n ("a\\\\bc", "abc", FNM_NOESCAPE)
3824 && y ("*x", ".x", 0)
3825 && n ("*x", ".x", FNM_PERIOD)
3826 && m4_if([$1], [GNU],
3827 [y ("xxXX", "xXxX", FNM_CASEFOLD)
3828 && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
3829 && n ("d*/*1", "d/s/1", FNM_FILE_NAME)
3830 && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
3831 && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
3832 && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)],
3837 AS_IF([test $$2 = yes], [$3], [$4])
3838 ])# _AC_FUNC_FNMATCH_IF
3841 # _AC_LIBOBJ_FNMATCH
3842 # ------------------
3843 # Prepare the replacement of fnmatch.
3844 AC_DEFUN([_AC_LIBOBJ_FNMATCH],
3845 [AC_REQUIRE([AC_C_CONST])dnl
3846 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
3847 AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
3848 AC_CHECK_DECLS([getenv])
3849 AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmempcpy])
3850 AC_CHECK_HEADERS([wchar.h wctype.h])
3851 AC_LIBOBJ([fnmatch])
3853 AC_DEFINE(fnmatch, rpl_fnmatch,
3854 [Define to rpl_fnmatch if the replacement function should be used.])
3855 ])# _AC_LIBOBJ_FNMATCH
3858 # Additional prerequisites of lib/fnmatch.c, not part of _AC_LIBOBJ_FNMATCH.
3859 AC_DEFUN([gl_PREREQ_FNMATCH_EXTRA],
3861 AC_REQUIRE([AC_HEADER_STDC])
3862 AC_CHECK_HEADERS_ONCE(string.h strings.h)
3866 AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
3869 _AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_posix],
3870 [rm -f lib/fnmatch.h],
3871 [_AC_LIBOBJ_FNMATCH])
3872 if test $ac_cv_func_fnmatch_posix != yes; then
3873 gl_PREREQ_FNMATCH_EXTRA
3874 dnl We must choose a different name for our function, since on ELF systems
3875 dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3876 dnl compiled into a shared library.
3877 AC_DEFINE([fnmatch], [posix_fnmatch],
3878 [Define to a replacement function name for fnmatch().])
3880 AC_SUBST([FNMATCH_H])
3884 AC_DEFUN([gl_FUNC_FNMATCH_GNU],
3886 dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
3887 AC_REQUIRE([AC_GNU_SOURCE])
3890 _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu],
3891 [rm -f lib/fnmatch.h],
3892 [_AC_LIBOBJ_FNMATCH])
3893 if test $ac_cv_func_fnmatch_gnu != yes; then
3894 gl_PREREQ_FNMATCH_EXTRA
3895 dnl We must choose a different name for our function, since on ELF systems
3896 dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3897 dnl compiled into a shared library.
3898 AC_DEFINE([fnmatch], [gnu_fnmatch],
3899 [Define to a replacement function name for fnmatch().])
3901 AC_SUBST([FNMATCH_H])
3906 dnl This macro is intended to be used solely in this file.
3907 dnl These are the prerequisite macros for GNU's strftime.c replacement.
3908 AC_DEFUN([_jm_STRFTIME_PREREQS],
3910 dnl strftime.c uses the underyling system strftime if it exists.
3913 AC_CHECK_HEADERS_ONCE(limits.h)
3914 AC_CHECK_FUNCS_ONCE(memcpy mempcpy)
3915 AC_CHECK_FUNCS(tzset memset)
3917 # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
3920 AC_CHECK_FUNCS(mblen mbrlen)
3923 AC_REQUIRE([gl_TM_GMTOFF])
3924 AC_REQUIRE([gl_FUNC_TZSET_CLOBBER])
3927 dnl From Jim Meyering.
3929 AC_DEFUN([jm_FUNC_GNU_STRFTIME],
3930 [AC_REQUIRE([AC_HEADER_TIME])dnl
3932 _jm_STRFTIME_PREREQS
3934 AC_REQUIRE([AC_C_CONST])dnl
3935 AC_REQUIRE([AC_HEADER_STDC])dnl
3936 AC_CHECK_HEADERS_ONCE(sys/time.h)
3937 AC_DEFINE([my_strftime], [nstrftime],
3938 [Define to the name of the strftime replacement function.])
3941 AC_DEFUN([jm_FUNC_STRFTIME],
3943 _jm_STRFTIME_PREREQS
3946 # tm_gmtoff.m4 serial 1
3947 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3948 dnl This file is free software, distributed under the terms of the GNU
3949 dnl General Public License. As a special exception to the GNU General
3950 dnl Public License, this file may be distributed as part of a program
3951 dnl that contains a configuration script generated by Autoconf, under
3952 dnl the same distribution terms as the rest of that program.
3954 AC_DEFUN([gl_TM_GMTOFF],
3956 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
3957 [AC_DEFINE(HAVE_TM_GMTOFF, 1,
3958 [Define if struct tm has the tm_gmtoff member.])],
3960 [#include <time.h>])
3964 # See if we have a working tzset function.
3965 # If so, arrange to compile the wrapper function.
3966 # For at least Solaris 2.5.1 and 2.6, this is necessary
3967 # because tzset can clobber the contents of the buffer
3968 # used by localtime.
3970 # Written by Paul Eggert and Jim Meyering.
3972 AC_DEFUN([gl_FUNC_TZSET_CLOBBER],
3974 AC_REQUIRE([AC_HEADER_TIME])
3975 AC_CACHE_CHECK([whether tzset clobbers localtime buffer],
3976 gl_cv_func_tzset_clobber,
3978 AC_RUN_IFELSE([AC_LANG_SOURCE([[
3979 #if TIME_WITH_SYS_TIME
3980 # include <sys/time.h>
3983 # if HAVE_SYS_TIME_H
3984 # include <sys/time.h>
3994 time_t t1 = 853958121;
3997 p = localtime (&t1);
3999 putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00");
4001 exit (p->tm_year != s.tm_year
4002 || p->tm_mon != s.tm_mon
4003 || p->tm_mday != s.tm_mday
4004 || p->tm_hour != s.tm_hour
4005 || p->tm_min != s.tm_min
4006 || p->tm_sec != s.tm_sec);
4009 [gl_cv_func_tzset_clobber=no],
4010 [gl_cv_func_tzset_clobber=yes],
4011 [gl_cv_func_tzset_clobber=yes])])
4013 AC_DEFINE(HAVE_RUN_TZSET_TEST, 1,
4014 [Define to 1 if you have run the test for working tzset.])
4016 if test $gl_cv_func_tzset_clobber = yes; then
4017 # Caution: the following few lines should be the same
4018 # as those in gettimeofday.m4.
4019 AC_LIBOBJ(gettimeofday)
4020 AC_DEFINE(gmtime, rpl_gmtime,
4021 [Define to rpl_gmtime if the replacement function should be used.])
4022 AC_DEFINE(localtime, rpl_localtime,
4023 [Define to rpl_localtime if the replacement function should be used.])
4025 AC_DEFINE(tzset, rpl_tzset,
4026 [Define to rpl_tzset if the wrapper function should be used.])
4027 AC_DEFINE(TZSET_CLOBBERS_LOCALTIME_BUFFER, 1,
4028 [Define if tzset clobbers localtime's static buffer.])
4034 dnl From Jim Meyering
4035 dnl Using code from emacs, based on suggestions from Paul Eggert
4036 dnl and Ulrich Drepper.
4038 dnl Find out how to determine the number of pending output bytes on a stream.
4039 dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
4040 dnl we have to grub around in the FILE struct.
4042 AC_DEFUN([jm_FUNC_FPENDING],
4044 AC_CHECK_HEADERS(stdio_ext.h)
4045 AC_REPLACE_FUNCS([__fpending])
4047 # if HAVE_STDIO_EXT_H
4048 # include <stdio_ext.h>
4051 AC_CHECK_DECLS([__fpending], , , $fp_headers)
4052 if test $ac_cv_func___fpending = no; then
4054 [how to determine the number of pending output bytes on a stream],
4055 ac_cv_sys_pending_output_n_bytes,
4060 'fp->_IO_write_ptr - fp->_IO_write_base' \
4062 '# traditional Unix' \
4063 'fp->_ptr - fp->_base' \
4066 'fp->_p - fp->_bf._base' \
4069 'fp->__ptr - fp->__base' \
4072 'fp->__bufp - fp->__buffer' \
4074 '# old glibc iostream?' \
4075 'fp->_pptr - fp->_pbase' \
4078 '(*fp)->_ptr - (*fp)->_base' \
4080 '# e.g., DGUX R4.11; the info is not available' \
4084 # Skip each embedded comment.
4085 case "$ac_expr" in '#'*) continue;; esac
4090 [FILE *fp = stdin; (void) ($ac_expr);],
4093 test "$fp_done" = yes && break
4096 ac_cv_sys_pending_output_n_bytes=$ac_expr
4099 AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
4100 $ac_cv_sys_pending_output_n_bytes,
4101 [the number of pending output bytes on stream `fp'])
4105 # inttypes-pri.m4 serial 1001 (based on gettext-0.11.4's `serial 1')
4106 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
4107 dnl This file is free software, distributed under the terms of the GNU
4108 dnl General Public License. As a special exception to the GNU General
4109 dnl Public License, this file may be distributed as part of a program
4110 dnl that contains a configuration script generated by Autoconf, under
4111 dnl the same distribution terms as the rest of that program.
4113 dnl From Bruno Haible.
4115 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
4116 # macros to non-string values. This is the case on AIX 4.3.3.
4118 AC_DEFUN([gt_INTTYPES_PRI],
4120 # autoconf-2.52 has a proper check for inttypes.h.
4123 if test $ac_cv_header_inttypes_h = yes; then
4124 AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
4125 gt_cv_inttypes_pri_broken,
4127 AC_TRY_COMPILE([#include <inttypes.h>
4131 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
4134 if test "$gt_cv_inttypes_pri_broken" = yes; then
4135 AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
4136 [Define if <inttypes.h> exists and defines unusable PRI* macros.])
4142 dnl From Jim Meyering.
4143 dnl A wrapper around AC_FUNC_GETGROUPS.
4145 AC_DEFUN([jm_FUNC_GETGROUPS],
4146 [AC_REQUIRE([AC_FUNC_GETGROUPS])dnl
4147 if test $ac_cv_func_getgroups_works = no; then
4148 AC_LIBOBJ(getgroups)
4149 AC_DEFINE(getgroups, rpl_getgroups,
4150 [Define as rpl_getgroups if getgroups doesn't work right.])
4152 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
4155 # alloca.m4 serial 2 (gettext-0.12)
4156 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4157 dnl This file is free software, distributed under the terms of the GNU
4158 dnl General Public License. As a special exception to the GNU General
4159 dnl Public License, this file may be distributed as part of a program
4160 dnl that contains a configuration script generated by Autoconf, under
4161 dnl the same distribution terms as the rest of that program.
4163 AC_DEFUN([gl_FUNC_ALLOCA],
4165 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
4166 AC_REQUIRE([AC_PROG_CPP])
4167 AC_REQUIRE([AC_PROG_EGREP])
4169 AC_REQUIRE([AC_FUNC_ALLOCA])
4170 if test $ac_cv_func_alloca_works = no; then
4174 # Define an additional variable used in the Makefile substitution.
4176 AC_EGREP_CPP([Need own alloca], [
4177 #if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
4183 AC_SUBST([ALLOCA_H])
4186 # Prerequisites of lib/alloca.c.
4187 # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
4188 AC_DEFUN([gl_PREREQ_ALLOCA], [
4189 AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
4196 AC_DEFUN([jm_SYS_PROC_UPTIME],
4197 [ dnl Require AC_PROG_CC to see if we're cross compiling.
4198 AC_REQUIRE([AC_PROG_CC])
4199 AC_CACHE_CHECK([for /proc/uptime], jm_cv_have_proc_uptime,
4200 [jm_cv_have_proc_uptime=no
4201 test -f /proc/uptime \
4202 && test "$cross_compiling" = no \
4203 && cat < /proc/uptime >/dev/null 2>/dev/null \
4204 && jm_cv_have_proc_uptime=yes])
4205 if test $jm_cv_have_proc_uptime = yes; then
4206 AC_DEFINE(HAVE_PROC_UPTIME, 1,
4207 [ Define if your system has the /proc/uptime special file.])
4213 # See if we need to emulate a missing ftruncate function using fcntl or chsize.
4215 AC_DEFUN([jm_FUNC_FTRUNCATE],
4217 AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
4219 if test "$ftruncate_missing" = yes; then
4220 AC_CHECK_HEADERS([unistd.h])
4221 AC_CHECK_FUNCS([chsize])
4222 AC_LIBOBJ(ftruncate)
4228 dnl From Volker Borchert.
4229 dnl Determine whether rename works for source paths with a trailing slash.
4230 dnl The rename from SunOS 4.1.1_U1 doesn't.
4232 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
4233 dnl to compile the wrapper function.
4236 AC_DEFUN([vb_FUNC_RENAME],
4238 AC_CACHE_CHECK([whether rename is broken],
4239 vb_cv_func_rename_trailing_slash_bug,
4241 rm -rf conftest.d1 conftest.d2
4242 mkdir conftest.d1 ||
4243 AC_MSG_ERROR([cannot create temporary directory])
4249 exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
4252 vb_cv_func_rename_trailing_slash_bug=no,
4253 vb_cv_func_rename_trailing_slash_bug=yes,
4254 dnl When crosscompiling, assume rename is broken.
4255 vb_cv_func_rename_trailing_slash_bug=yes)
4257 rm -rf conftest.d1 conftest.d2
4259 if test $vb_cv_func_rename_trailing_slash_bug = yes; then
4261 AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
4262 [Define if rename does not work for source paths with a trailing slash,
4263 like the one from SunOS 4.1.1_U1.])
4269 # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
4270 # silly limit that it can create no more than 26 files from a given template.
4271 # Other systems lack mkstemp altogether. On either type of system, arrange
4272 # to use the replacement function.
4273 AC_DEFUN([UTILS_FUNC_MKSTEMP],
4275 AC_REPLACE_FUNCS(mkstemp)
4276 if test $ac_cv_func_mkstemp = no; then
4277 utils_cv_func_mkstemp_limitations=yes
4279 AC_CACHE_CHECK([for mkstemp limitations],
4280 utils_cv_func_mkstemp_limitations,
4283 # include <stdlib.h>
4287 for (i = 0; i < 30; i++)
4289 char template[] = "conftestXXXXXX";
4290 int fd = mkstemp (template);
4298 utils_cv_func_mkstemp_limitations=no,
4299 utils_cv_func_mkstemp_limitations=yes,
4300 utils_cv_func_mkstemp_limitations=yes
4306 if test $utils_cv_func_mkstemp_limitations = yes; then
4309 AC_DEFINE(mkstemp, rpl_mkstemp,
4310 [Define to rpl_mkstemp if the replacement function should be used.])
4316 dnl From Jim Meyering.
4318 dnl See if gettimeofday clobbers the static buffer that localtime uses
4319 dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
4320 dnl i.e. Darwin 1.3.7 has this problem.
4322 dnl If it does, then arrange to use gettimeofday and localtime only via
4323 dnl the wrapper functions that work around the problem.
4325 AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
4327 AC_REQUIRE([AC_HEADER_TIME])
4328 AC_CHECK_HEADERS(string.h stdlib.h)
4329 AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
4330 jm_cv_func_gettimeofday_clobber,
4334 # include <string.h>
4337 #if TIME_WITH_SYS_TIME
4338 # include <sys/time.h>
4341 # if HAVE_SYS_TIME_H
4342 # include <sys/time.h>
4349 # include <stdlib.h>
4359 lt = localtime (&t);
4361 gettimeofday (&tv, NULL);
4362 if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
4368 jm_cv_func_gettimeofday_clobber=no,
4369 jm_cv_func_gettimeofday_clobber=yes,
4370 dnl When crosscompiling, assume it is broken.
4371 jm_cv_func_gettimeofday_clobber=yes)
4373 if test $jm_cv_func_gettimeofday_clobber = yes; then
4374 # Caution: the following few lines should be the same
4375 # as those in gettimeofday.m4.
4376 AC_LIBOBJ(gettimeofday)
4377 AC_DEFINE(gmtime, rpl_gmtime,
4378 [Define to rpl_gmtime if the replacement function should be used.])
4379 AC_DEFINE(localtime, rpl_localtime,
4380 [Define to rpl_localtime if the replacement function should be used.])
4382 AC_DEFINE(gettimeofday, rpl_gettimeofday,
4383 [Define to rpl_gettimeofday if the replacement function should be used.])
4384 AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
4385 [Define if gettimeofday clobbers localtime's static buffer.])
4391 dnl From Jim Meyering
4392 dnl Replace the utime function on systems that need it.
4396 AC_DEFUN([jm_FUNC_UTIME],
4398 AC_CHECK_HEADERS(utime.h)
4399 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
4400 AC_REQUIRE([AC_FUNC_UTIME_NULL])
4402 if test $ac_cv_func_utime_null = no; then
4404 AC_REPLACE_FUNCS(utime)
4410 dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL,
4411 dnl then do case-insensitive s/utime/utimes/.
4413 AC_DEFUN([jm_FUNC_UTIMES_NULL],
4414 [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
4415 [rm -f conftest.data; > conftest.data
4417 /* In case stat has been defined to rpl_stat, undef it here. */
4419 #include <sys/types.h>
4420 #include <sys/stat.h>
4423 exit(!(stat ("conftest.data", &s) == 0
4424 && utimes("conftest.data", (long *)0) == 0
4425 && stat("conftest.data", &t) == 0
4426 && t.st_mtime >= s.st_mtime
4427 && t.st_mtime - s.st_mtime < 120));
4429 ac_cv_func_utimes_null=yes,
4430 ac_cv_func_utimes_null=no,
4431 ac_cv_func_utimes_null=no)
4432 rm -f core core.* *.core])
4434 if test $ac_cv_func_utimes_null = yes; then
4435 AC_DEFINE(HAVE_UTIMES_NULL, 1,
4436 [Define if utimes accepts a null argument])
4441 # vasprintf.m4 serial 1
4442 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4443 dnl This file is free software, distributed under the terms of the GNU
4444 dnl General Public License. As a special exception to the GNU General
4445 dnl Public License, this file may be distributed as part of a program
4446 dnl that contains a configuration script generated by Autoconf, under
4447 dnl the same distribution terms as the rest of that program.
4449 AC_DEFUN([gl_FUNC_VASPRINTF],
4451 AC_REPLACE_FUNCS(vasprintf)
4452 if test $ac_cv_func_vasprintf = no; then
4459 # Prerequisites of lib/vasprintf.c.
4460 AC_DEFUN([gl_PREREQ_VASPRINTF],
4464 # Prerequisites of lib/asprintf.c.
4465 AC_DEFUN([gl_PREREQ_ASPRINTF],
4469 # vasnprintf.m4 serial 1
4470 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4471 dnl This file is free software, distributed under the terms of the GNU
4472 dnl General Public License. As a special exception to the GNU General
4473 dnl Public License, this file may be distributed as part of a program
4474 dnl that contains a configuration script generated by Autoconf, under
4475 dnl the same distribution terms as the rest of that program.
4477 AC_DEFUN([gl_FUNC_VASNPRINTF],
4479 AC_REPLACE_FUNCS(vasnprintf)
4480 if test $ac_cv_func_vasnprintf = no; then
4481 AC_LIBOBJ(printf-args)
4482 AC_LIBOBJ(printf-parse)
4483 AC_LIBOBJ(asnprintf)
4484 gl_PREREQ_PRINTF_ARGS
4485 gl_PREREQ_PRINTF_PARSE
4486 gl_PREREQ_VASNPRINTF
4491 # Prequisites of lib/printf-args.h, lib/printf-args.c.
4492 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
4494 AC_REQUIRE([bh_C_SIGNED])
4495 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4496 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4497 AC_REQUIRE([gt_TYPE_WCHAR_T])
4498 AC_REQUIRE([gt_TYPE_WINT_T])
4501 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
4502 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
4504 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4505 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4506 AC_REQUIRE([gt_TYPE_WCHAR_T])
4507 AC_REQUIRE([gt_TYPE_WINT_T])
4508 AC_REQUIRE([AC_TYPE_SIZE_T])
4509 AC_CHECK_TYPES(ptrdiff_t)
4510 AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
4513 # Prerequisites of lib/vasnprintf.c.
4514 AC_DEFUN([gl_PREREQ_VASNPRINTF],
4516 AC_REQUIRE([AC_FUNC_ALLOCA])
4517 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4518 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4519 AC_REQUIRE([gt_TYPE_WCHAR_T])
4520 AC_REQUIRE([gt_TYPE_WINT_T])
4521 AC_CHECK_FUNCS(snprintf)
4523 # Solaris 2.5.1 needs -lw to get the wcslen function.
4524 AC_SEARCH_LIBS(wcslen, [w])
4527 # Prerequisites of lib/asnprintf.c.
4528 AC_DEFUN([gl_PREREQ_ASNPRINTF],
4532 # signed.m4 serial 1 (gettext-0.10.40)
4533 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4534 dnl This file is free software, distributed under the terms of the GNU
4535 dnl General Public License. As a special exception to the GNU General
4536 dnl Public License, this file may be distributed as part of a program
4537 dnl that contains a configuration script generated by Autoconf, under
4538 dnl the same distribution terms as the rest of that program.
4540 dnl From Bruno Haible.
4542 AC_DEFUN([bh_C_SIGNED],
4544 AC_CACHE_CHECK([for signed], bh_cv_c_signed,
4545 [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
4546 if test $bh_cv_c_signed = no; then
4548 [Define to empty if the C compiler doesn't support this keyword.])
4552 # longdouble.m4 serial 1 (gettext-0.12)
4553 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4554 dnl This file is free software, distributed under the terms of the GNU
4555 dnl General Public License. As a special exception to the GNU General
4556 dnl Public License, this file may be distributed as part of a program
4557 dnl that contains a configuration script generated by Autoconf, under
4558 dnl the same distribution terms as the rest of that program.
4560 dnl From Bruno Haible.
4561 dnl Test whether the compiler supports the 'long double' type.
4562 dnl Prerequisite: AC_PROG_CC
4564 AC_DEFUN([gt_TYPE_LONGDOUBLE],
4566 AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
4567 [if test "$GCC" = yes; then
4568 gt_cv_c_long_double=yes
4571 /* The Stardent Vistra knows sizeof(long double), but does not support it. */
4572 long double foo = 0.0;
4573 /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
4574 int array [2*(sizeof(long double) >= sizeof(double)) - 1];
4576 gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
4578 if test $gt_cv_c_long_double = yes; then
4579 AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
4583 # wchar_t.m4 serial 1 (gettext-0.12)
4584 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4585 dnl This file is free software, distributed under the terms of the GNU
4586 dnl General Public License. As a special exception to the GNU General
4587 dnl Public License, this file may be distributed as part of a program
4588 dnl that contains a configuration script generated by Autoconf, under
4589 dnl the same distribution terms as the rest of that program.
4591 dnl From Bruno Haible.
4592 dnl Test whether <stddef.h> has the 'wchar_t' type.
4593 dnl Prerequisite: AC_PROG_CC
4595 AC_DEFUN([gt_TYPE_WCHAR_T],
4597 AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
4598 [AC_TRY_COMPILE([#include <stddef.h>
4599 wchar_t foo = (wchar_t)'\0';], ,
4600 gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
4601 if test $gt_cv_c_wchar_t = yes; then
4602 AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
4606 # wint_t.m4 serial 1 (gettext-0.12)
4607 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4608 dnl This file is free software, distributed under the terms of the GNU
4609 dnl General Public License. As a special exception to the GNU General
4610 dnl Public License, this file may be distributed as part of a program
4611 dnl that contains a configuration script generated by Autoconf, under
4612 dnl the same distribution terms as the rest of that program.
4614 dnl From Bruno Haible.
4615 dnl Test whether <wchar.h> has the 'wint_t' type.
4616 dnl Prerequisite: AC_PROG_CC
4618 AC_DEFUN([gt_TYPE_WINT_T],
4620 AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
4621 [AC_TRY_COMPILE([#include <wchar.h>
4622 wint_t foo = (wchar_t)'\0';], ,
4623 gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
4624 if test $gt_cv_c_wint_t = yes; then
4625 AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
4629 # getline.m4 serial 9
4631 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
4632 dnl Foundation, Inc.
4634 dnl This file is free software, distributed under the terms of the GNU
4635 dnl General Public License. As a special exception to the GNU General
4636 dnl Public License, this file may be distributed as part of a program
4637 dnl that contains a configuration script generated by Autoconf, under
4638 dnl the same distribution terms as the rest of that program.
4642 dnl See if there's a working, system-supplied version of the getline function.
4643 dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
4644 dnl have a function by that name in -linet that doesn't have anything
4645 dnl to do with the function we need.
4646 AC_DEFUN([AM_FUNC_GETLINE],
4648 dnl Persuade glibc <stdio.h> to declare getline() and getdelim().
4649 AC_REQUIRE([AC_GNU_SOURCE])
4651 am_getline_needs_run_time_check=no
4652 AC_CHECK_FUNC(getline,
4653 dnl Found it in some library. Verify that it works.
4654 am_getline_needs_run_time_check=yes,
4655 am_cv_func_working_getline=no)
4656 if test $am_getline_needs_run_time_check = yes; then
4657 AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
4658 [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
4661 # include <stdlib.h>
4662 # include <string.h>
4664 { /* Based on a test program from Karl Heuer. */
4668 FILE *in = fopen ("./conftest.data", "r");
4671 len = getline (&line, &siz, in);
4672 exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
4674 ], am_cv_func_working_getline=yes dnl The library version works.
4675 , am_cv_func_working_getline=no dnl The library version does NOT work.
4676 , am_cv_func_working_getline=no dnl We're cross compiling.
4680 if test $am_cv_func_working_getline = no; then
4681 dnl We must choose a different name for our function, since on ELF systems
4682 dnl a broken getline() in libc.so would override our getline() in
4683 dnl libgettextlib.so.
4684 AC_DEFINE([getline], [gnu_getline],
4685 [Define to a replacement function name for getline().])
4688 gl_PREREQ_GETNDELIM2
4692 # Prerequisites of lib/getline.c.
4693 AC_DEFUN([gl_PREREQ_GETLINE],
4695 AC_CHECK_FUNCS(getdelim)
4698 # getndelim2.m4 serial 1
4699 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4700 dnl This file is free software, distributed under the terms of the GNU
4701 dnl General Public License. As a special exception to the GNU General
4702 dnl Public License, this file may be distributed as part of a program
4703 dnl that contains a configuration script generated by Autoconf, under
4704 dnl the same distribution terms as the rest of that program.
4706 AC_DEFUN([gl_GETNDELIM2],
4708 gl_PREREQ_GETNDELIM2
4711 # Prerequisites of lib/getndelim2.h and lib/getndelim2.c.
4712 AC_DEFUN([gl_PREREQ_GETNDELIM2],
4714 dnl Prerequisites of lib/getndelim2.h.
4715 AC_REQUIRE([gt_TYPE_SSIZE_T])
4716 dnl Prerequisites of lib/getndelim2.c.
4717 AC_REQUIRE([AC_HEADER_STDC])
4720 # ssize_t.m4 serial 3 (gettext-0.12.2)
4721 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
4722 dnl This file is free software, distributed under the terms of the GNU
4723 dnl General Public License. As a special exception to the GNU General
4724 dnl Public License, this file may be distributed as part of a program
4725 dnl that contains a configuration script generated by Autoconf, under
4726 dnl the same distribution terms as the rest of that program.
4728 dnl From Bruno Haible.
4729 dnl Test whether ssize_t is defined.
4731 AC_DEFUN([gt_TYPE_SSIZE_T],
4733 AC_CACHE_CHECK([for ssize_t], gt_cv_ssize_t,
4734 [AC_TRY_COMPILE([#include <sys/types.h>],
4735 [int x = sizeof (ssize_t *) + sizeof (ssize_t);],
4736 gt_cv_ssize_t=yes, gt_cv_ssize_t=no)])
4737 if test $gt_cv_ssize_t = no; then
4738 AC_DEFINE(ssize_t, int,
4739 [Define as a signed type of the same size as size_t.])
4744 # Determine approximately how many files may be open simultaneously
4745 # in one process. This is approximate, since while running this test,
4746 # the configure script already has a few files open.
4749 AC_DEFUN([UTILS_SYS_OPEN_MAX],
4751 AC_CACHE_CHECK([determine how many files may be open simultaneously],
4752 utils_cv_sys_open_max,
4754 AC_RUN_IFELSE([AC_LANG_SOURCE([[
4761 FILE *result = fopen ("conftest.omax", "w");
4763 /* Impose an arbitrary limit, in case some system has no
4764 effective limit on the number of simultaneously open files. */
4767 FILE *s = fopen ("conftest.op", "w");
4772 fprintf (result, "%d\n", i);
4773 exit (fclose (result) == EOF);
4776 [utils_cv_sys_open_max=`cat conftest.omax`],
4777 [utils_cv_sys_open_max='internal error in open-max.m4'],
4778 [utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
4780 AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
4781 $utils_cv_sys_open_max,
4782 [the maximum number of simultaneously open files per process])
4786 # Check whether getcwd has the bug that it succeeds for a working directory
4787 # longer than PATH_MAX, yet returns a truncated directory name.
4788 # If so, arrange to compile the wrapper function.
4790 # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
4791 # I've heard that this is due to a Linux kernel bug, and that it has
4792 # been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
4796 AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
4798 AC_CHECK_DECLS([getcwd])
4799 AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
4800 gl_cv_func_getcwd_vs_path_max,
4802 # Arrange for deletion of the temporary directory this test creates.
4803 ac_clean_files="$ac_clean_files confdir3"
4804 AC_RUN_IFELSE([AC_LANG_SOURCE([[
4809 #include <sys/stat.h>
4810 #include <sys/types.h>
4812 /* Don't get link errors because mkdir is redefined to rpl_mkdir. */
4819 /* The extra casts work around common compiler bugs. */
4820 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
4821 /* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
4822 It is necessary at least when t == time_t. */
4823 #define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
4824 ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
4825 #define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
4828 # define INT_MAX TYPE_MAXIMUM (int)
4831 /* The length of this name must be 8. */
4832 #define DIR_NAME "confdir3"
4838 /* The Hurd doesn't define this, so getcwd can't exhibit the bug --
4839 at least not on a local file system. And if we were to start worrying
4840 about remote file systems, we'd have to enable the wrapper function
4841 all of the time, just to be safe. That's not worth the cost. */
4843 #elif INT_MAX - 9 <= PATH_MAX
4844 /* The '9', above, comes from strlen (DIR_NAME) + 1. */
4845 /* FIXME: Assuming there's a system for which this is true,
4846 this should be done in a compile test. */
4849 char buf[PATH_MAX + 20];
4850 char *cwd = getcwd (buf, PATH_MAX);
4853 size_t n_chdirs = 0;
4858 cwd_len = strlen (cwd);
4865 cwd_len += 1 + strlen (DIR_NAME);
4866 /* If mkdir or chdir fails, be pessimistic and consider that
4867 as a failure, too. */
4868 if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
4873 if ((c = getcwd (buf, PATH_MAX)) == NULL)
4875 /* This allows any failure to indicate there is no bug.
4876 FIXME: check errno? */
4879 if ((len = strlen (c)) != cwd_len)
4889 /* Leaving behind such a deep directory is not polite.
4890 So clean up here, right away, even though the driving
4891 shell script would also clean up. */
4895 /* Unlink first, in case the chdir failed. */
4897 for (i = 0; i <= n_chdirs; i++)
4899 if (chdir ("..") < 0)
4909 [gl_cv_func_getcwd_vs_path_max=yes],
4910 [gl_cv_func_getcwd_vs_path_max=no],
4911 [gl_cv_func_getcwd_vs_path_max=no])])
4913 if test $gl_cv_func_getcwd_vs_path_max = yes; then
4915 AC_DEFINE(getcwd, rpl_getcwd,
4916 [Define to rpl_getcwd if the wrapper function should be used.])
4922 dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
4923 dnl to test whether a NULL return value really means there are no more files
4924 dnl in the directory.
4926 dnl And the rm from coreutils-5.0 exposes a similar problem when there
4927 dnl are 338 or more files in a directory on a Darwin-6.5 system
4929 dnl Detect the problem by creating a directory containing 500 files (254 not
4930 dnl counting . and .. is the minimum for SunOS, 338 for Darwin) and see
4931 dnl if a loop doing `readdir; unlink' removes all of them.
4933 dnl Define HAVE_WORKING_READDIR if readdir does *not* have this problem.
4935 dnl Written by Jim Meyering.
4937 AC_DEFUN([GL_FUNC_READDIR],
4939 AC_REQUIRE([AC_HEADER_DIRENT])
4940 AC_CHECK_HEADERS(string.h)
4941 AC_CACHE_CHECK([for working readdir], gl_cv_func_working_readdir,
4943 # Arrange for deletion of the temporary directory this test creates, in
4944 # case the test itself fails to delete everything -- as happens on Sunos.
4945 ac_clean_files="$ac_clean_files conf-dir"
4948 [# include <stdio.h>
4949 # include <sys/types.h>
4951 # include <string.h>
4954 # ifdef HAVE_DIRENT_H
4955 # include <dirent.h>
4956 # define NLENGTH(direct) (strlen((direct)->d_name))
4957 # else /* not HAVE_DIRENT_H */
4958 # define dirent direct
4959 # define NLENGTH(direct) ((direct)->d_namlen)
4960 # ifdef HAVE_SYS_NDIR_H
4961 # include <sys/ndir.h>
4962 # endif /* HAVE_SYS_NDIR_H */
4963 # ifdef HAVE_SYS_DIR_H
4964 # include <sys/dir.h>
4965 # endif /* HAVE_SYS_DIR_H */
4968 # endif /* HAVE_NDIR_H */
4969 # endif /* HAVE_DIRENT_H */
4971 # define DOT_OR_DOTDOT(Basename) \
4972 (Basename[0] == '.' && (Basename[1] == '\0' \
4973 || (Basename[1] == '.' && Basename[2] == '\0')))
4975 /* Don't try to use replacement mkdir; it wouldn't resolve at link time. */
4979 create_N_file_dir (const char *dir, size_t n_files)
4983 if (mkdir (dir, 0700))
4988 for (i = 0; i < n_files; i++)
4993 sprintf (file_name, "%03d", i);
4994 out = fopen (file_name, "w");
4997 if (fclose (out) == EOF)
5006 remove_dir (const char *dir)
5013 dirp = opendir (".");
5019 struct dirent *dp = readdir (dirp);
5023 if (DOT_OR_DOTDOT (dp->d_name))
5026 if (unlink (dp->d_name))
5041 const char *dir = "conf-dir";
5042 create_N_file_dir (dir, 500);
5046 gl_cv_func_working_readdir=yes,
5047 gl_cv_func_working_readdir=no,
5048 gl_cv_func_working_readdir=no)])
5050 if test $gl_cv_func_working_readdir = yes; then
5051 AC_DEFINE(HAVE_WORKING_READDIR, 1,
5052 [Define if readdir is found to work properly in some unusual cases. ])
5056 # codeset.m4 serial AM1 (gettext-0.10.40)
5057 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5058 dnl This file is free software, distributed under the terms of the GNU
5059 dnl General Public License. As a special exception to the GNU General
5060 dnl Public License, this file may be distributed as part of a program
5061 dnl that contains a configuration script generated by Autoconf, under
5062 dnl the same distribution terms as the rest of that program.
5064 dnl From Bruno Haible.
5066 AC_DEFUN([AM_LANGINFO_CODESET],
5068 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
5069 [AC_TRY_LINK([#include <langinfo.h>],
5070 [char* cs = nl_langinfo(CODESET);],
5071 am_cv_langinfo_codeset=yes,
5072 am_cv_langinfo_codeset=no)
5074 if test $am_cv_langinfo_codeset = yes; then
5075 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
5076 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
5080 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
5081 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5082 dnl This file is free software, distributed under the terms of the GNU
5083 dnl General Public License. As a special exception to the GNU General
5084 dnl Public License, this file may be distributed as part of a program
5085 dnl that contains a configuration script generated by Autoconf, under
5086 dnl the same distribution terms as the rest of that program.
5088 # Test for the GNU C Library, version 2.1 or newer.
5089 # From Bruno Haible.
5091 AC_DEFUN([jm_GLIBC21],
5093 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
5094 ac_cv_gnu_library_2_1,
5095 [AC_EGREP_CPP([Lucky GNU user],
5097 #include <features.h>
5098 #ifdef __GNU_LIBRARY__
5099 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
5104 ac_cv_gnu_library_2_1=yes,
5105 ac_cv_gnu_library_2_1=no)
5109 GLIBC21="$ac_cv_gnu_library_2_1"
5113 # iconv.m4 serial AM4 (gettext-0.11.3)
5114 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5115 dnl This file is free software, distributed under the terms of the GNU
5116 dnl General Public License. As a special exception to the GNU General
5117 dnl Public License, this file may be distributed as part of a program
5118 dnl that contains a configuration script generated by Autoconf, under
5119 dnl the same distribution terms as the rest of that program.
5121 dnl From Bruno Haible.
5123 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
5125 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
5126 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5127 AC_REQUIRE([AC_LIB_RPATH])
5129 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5131 AC_LIB_LINKFLAGS_BODY([iconv])
5134 AC_DEFUN([AM_ICONV_LINK],
5136 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
5137 dnl those with the standalone portable GNU libiconv installed).
5139 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5141 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
5143 dnl Add $INCICONV to CPPFLAGS before performing the following checks,
5144 dnl because if the user has installed libiconv and not disabled its use
5145 dnl via --without-libiconv-prefix, he wants to use it. The first
5146 dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
5147 am_save_CPPFLAGS="$CPPFLAGS"
5148 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
5150 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
5151 am_cv_func_iconv="no, consider installing GNU libiconv"
5153 AC_TRY_LINK([#include <stdlib.h>
5154 #include <iconv.h>],
5155 [iconv_t cd = iconv_open("","");
5156 iconv(cd,NULL,NULL,NULL,NULL);
5158 am_cv_func_iconv=yes)
5159 if test "$am_cv_func_iconv" != yes; then
5160 am_save_LIBS="$LIBS"
5161 LIBS="$LIBS $LIBICONV"
5162 AC_TRY_LINK([#include <stdlib.h>
5163 #include <iconv.h>],
5164 [iconv_t cd = iconv_open("","");
5165 iconv(cd,NULL,NULL,NULL,NULL);
5168 am_cv_func_iconv=yes)
5169 LIBS="$am_save_LIBS"
5172 if test "$am_cv_func_iconv" = yes; then
5173 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
5175 if test "$am_cv_lib_iconv" = yes; then
5176 AC_MSG_CHECKING([how to link with libiconv])
5177 AC_MSG_RESULT([$LIBICONV])
5179 dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
5181 CPPFLAGS="$am_save_CPPFLAGS"
5186 AC_SUBST(LTLIBICONV)
5189 AC_DEFUN([AM_ICONV],
5192 if test "$am_cv_func_iconv" = yes; then
5193 AC_MSG_CHECKING([for iconv declaration])
5194 AC_CACHE_VAL(am_cv_proto_iconv, [
5202 #if defined(__STDC__) || defined(__cplusplus)
5203 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
5207 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
5208 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
5209 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
5210 AC_MSG_RESULT([$]{ac_t:-
5211 }[$]am_cv_proto_iconv)
5212 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
5213 [Define as const if the declaration of iconv() needs const.])
5217 # lib-prefix.m4 serial 1 (gettext-0.11)
5218 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5219 dnl This file is free software, distributed under the terms of the GNU
5220 dnl General Public License. As a special exception to the GNU General
5221 dnl Public License, this file may be distributed as part of a program
5222 dnl that contains a configuration script generated by Autoconf, under
5223 dnl the same distribution terms as the rest of that program.
5225 dnl From Bruno Haible.
5227 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
5228 dnl to access previously installed libraries. The basic assumption is that
5229 dnl a user will want packages to use other packages he previously installed
5230 dnl with the same --prefix option.
5231 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
5232 dnl libraries, but is otherwise very convenient.
5233 AC_DEFUN([AC_LIB_PREFIX],
5235 AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
5236 AC_REQUIRE([AC_PROG_CC])
5237 AC_REQUIRE([AC_CANONICAL_HOST])
5238 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5239 dnl By default, look in $includedir and $libdir.
5241 AC_LIB_WITH_FINAL_PREFIX([
5242 eval additional_includedir=\"$includedir\"
5243 eval additional_libdir=\"$libdir\"
5245 AC_ARG_WITH([lib-prefix],
5246 [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
5247 --without-lib-prefix don't search for libraries in includedir and libdir],
5249 if test "X$withval" = "Xno"; then
5252 if test "X$withval" = "X"; then
5253 AC_LIB_WITH_FINAL_PREFIX([
5254 eval additional_includedir=\"$includedir\"
5255 eval additional_libdir=\"$libdir\"
5258 additional_includedir="$withval/include"
5259 additional_libdir="$withval/lib"
5263 if test $use_additional = yes; then
5264 dnl Potentially add $additional_includedir to $CPPFLAGS.
5265 dnl But don't add it
5266 dnl 1. if it's the standard /usr/include,
5267 dnl 2. if it's already present in $CPPFLAGS,
5268 dnl 3. if it's /usr/local/include and we are using GCC on Linux,
5269 dnl 4. if it doesn't exist as a directory.
5270 if test "X$additional_includedir" != "X/usr/include"; then
5272 for x in $CPPFLAGS; do
5273 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5274 if test "X$x" = "X-I$additional_includedir"; then
5279 if test -z "$haveit"; then
5280 if test "X$additional_includedir" = "X/usr/local/include"; then
5281 if test -n "$GCC"; then
5283 linux*) haveit=yes;;
5287 if test -z "$haveit"; then
5288 if test -d "$additional_includedir"; then
5289 dnl Really add $additional_includedir to $CPPFLAGS.
5290 CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
5295 dnl Potentially add $additional_libdir to $LDFLAGS.
5296 dnl But don't add it
5297 dnl 1. if it's the standard /usr/lib,
5298 dnl 2. if it's already present in $LDFLAGS,
5299 dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
5300 dnl 4. if it doesn't exist as a directory.
5301 if test "X$additional_libdir" != "X/usr/lib"; then
5303 for x in $LDFLAGS; do
5304 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5305 if test "X$x" = "X-L$additional_libdir"; then
5310 if test -z "$haveit"; then
5311 if test "X$additional_libdir" = "X/usr/local/lib"; then
5312 if test -n "$GCC"; then
5314 linux*) haveit=yes;;
5318 if test -z "$haveit"; then
5319 if test -d "$additional_libdir"; then
5320 dnl Really add $additional_libdir to $LDFLAGS.
5321 LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
5329 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
5330 dnl acl_final_exec_prefix, containing the values to which $prefix and
5331 dnl $exec_prefix will expand at the end of the configure script.
5332 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
5334 dnl Unfortunately, prefix and exec_prefix get only finally determined
5335 dnl at the end of configure.
5336 if test "X$prefix" = "XNONE"; then
5337 acl_final_prefix="$ac_default_prefix"
5339 acl_final_prefix="$prefix"
5341 if test "X$exec_prefix" = "XNONE"; then
5342 acl_final_exec_prefix='${prefix}'
5344 acl_final_exec_prefix="$exec_prefix"
5346 acl_save_prefix="$prefix"
5347 prefix="$acl_final_prefix"
5348 eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
5349 prefix="$acl_save_prefix"
5352 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
5353 dnl variables prefix and exec_prefix bound to the values they will have
5354 dnl at the end of the configure script.
5355 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
5357 acl_save_prefix="$prefix"
5358 prefix="$acl_final_prefix"
5359 acl_save_exec_prefix="$exec_prefix"
5360 exec_prefix="$acl_final_exec_prefix"
5362 exec_prefix="$acl_save_exec_prefix"
5363 prefix="$acl_save_prefix"
5366 # lib-link.m4 serial 3 (gettext-0.11.3)
5367 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5368 dnl This file is free software, distributed under the terms of the GNU
5369 dnl General Public License. As a special exception to the GNU General
5370 dnl Public License, this file may be distributed as part of a program
5371 dnl that contains a configuration script generated by Autoconf, under
5372 dnl the same distribution terms as the rest of that program.
5374 dnl From Bruno Haible.
5376 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
5377 dnl the libraries corresponding to explicit and implicit dependencies.
5378 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
5379 dnl augments the CPPFLAGS variable.
5380 AC_DEFUN([AC_LIB_LINKFLAGS],
5382 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5383 AC_REQUIRE([AC_LIB_RPATH])
5384 define([Name],[translit([$1],[./-], [___])])
5385 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5386 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5387 AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
5388 AC_LIB_LINKFLAGS_BODY([$1], [$2])
5389 ac_cv_lib[]Name[]_libs="$LIB[]NAME"
5390 ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
5391 ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
5393 LIB[]NAME="$ac_cv_lib[]Name[]_libs"
5394 LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
5395 INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
5396 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5398 AC_SUBST([LTLIB]NAME)
5399 dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
5400 dnl results of this search when this library appears as a dependency.
5406 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
5407 dnl searches for libname and the libraries corresponding to explicit and
5408 dnl implicit dependencies, together with the specified include files and
5409 dnl the ability to compile and link the specified testcode. If found, it
5410 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
5411 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
5412 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
5413 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
5414 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
5416 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5417 AC_REQUIRE([AC_LIB_RPATH])
5418 define([Name],[translit([$1],[./-], [___])])
5419 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5420 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5422 dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
5424 AC_LIB_LINKFLAGS_BODY([$1], [$2])
5426 dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
5427 dnl because if the user has installed lib[]Name and not disabled its use
5428 dnl via --without-lib[]Name-prefix, he wants to use it.
5429 ac_save_CPPFLAGS="$CPPFLAGS"
5430 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5432 AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
5433 ac_save_LIBS="$LIBS"
5434 LIBS="$LIBS $LIB[]NAME"
5435 AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
5436 LIBS="$ac_save_LIBS"
5438 if test "$ac_cv_lib[]Name" = yes; then
5440 AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
5441 AC_MSG_CHECKING([how to link with lib[]$1])
5442 AC_MSG_RESULT([$LIB[]NAME])
5445 dnl If $LIB[]NAME didn't lead to a usable library, we don't need
5446 dnl $INC[]NAME either.
5447 CPPFLAGS="$ac_save_CPPFLAGS"
5451 AC_SUBST([HAVE_LIB]NAME)
5453 AC_SUBST([LTLIB]NAME)
5458 dnl Determine the platform dependent parameters needed to use rpath:
5459 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
5460 dnl hardcode_direct, hardcode_minus_L,
5461 dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
5462 AC_DEFUN([AC_LIB_RPATH],
5464 AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
5465 AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
5466 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
5467 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
5468 AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
5469 CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
5470 ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
5476 libext="$acl_cv_libext"
5477 shlibext="$acl_cv_shlibext"
5478 hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
5479 hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
5480 hardcode_direct="$acl_cv_hardcode_direct"
5481 hardcode_minus_L="$acl_cv_hardcode_minus_L"
5482 sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
5483 sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
5484 dnl Determine whether the user wants rpath handling at all.
5485 AC_ARG_ENABLE(rpath,
5486 [ --disable-rpath do not hardcode runtime library paths],
5487 :, enable_rpath=yes)
5490 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
5491 dnl the libraries corresponding to explicit and implicit dependencies.
5492 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
5493 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
5495 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5496 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5497 dnl By default, look in $includedir and $libdir.
5499 AC_LIB_WITH_FINAL_PREFIX([
5500 eval additional_includedir=\"$includedir\"
5501 eval additional_libdir=\"$libdir\"
5503 AC_ARG_WITH([lib$1-prefix],
5504 [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
5505 --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
5507 if test "X$withval" = "Xno"; then
5510 if test "X$withval" = "X"; then
5511 AC_LIB_WITH_FINAL_PREFIX([
5512 eval additional_includedir=\"$includedir\"
5513 eval additional_libdir=\"$libdir\"
5516 additional_includedir="$withval/include"
5517 additional_libdir="$withval/lib"
5521 dnl Search the library and its dependencies in $additional_libdir and
5522 dnl $LDFLAGS. Using breadth-first-seach.
5528 names_already_handled=
5529 names_next_round='$1 $2'
5530 while test -n "$names_next_round"; do
5531 names_this_round="$names_next_round"
5533 for name in $names_this_round; do
5535 for n in $names_already_handled; do
5536 if test "$n" = "$name"; then
5541 if test -z "$already_handled"; then
5542 names_already_handled="$names_already_handled $name"
5543 dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
5544 dnl or AC_LIB_HAVE_LINKFLAGS call.
5545 uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
5546 eval value=\"\$HAVE_LIB$uppername\"
5547 if test -n "$value"; then
5548 if test "$value" = yes; then
5549 eval value=\"\$LIB$uppername\"
5550 test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
5551 eval value=\"\$LTLIB$uppername\"
5552 test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
5554 dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
5555 dnl that this library doesn't exist. So just drop it.
5559 dnl Search the library lib$name in $additional_libdir and $LDFLAGS
5560 dnl and the already constructed $LIBNAME/$LTLIBNAME.
5565 if test $use_additional = yes; then
5566 if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
5567 found_dir="$additional_libdir"
5568 found_so="$additional_libdir/lib$name.$shlibext"
5569 if test -f "$additional_libdir/lib$name.la"; then
5570 found_la="$additional_libdir/lib$name.la"
5573 if test -f "$additional_libdir/lib$name.$libext"; then
5574 found_dir="$additional_libdir"
5575 found_a="$additional_libdir/lib$name.$libext"
5576 if test -f "$additional_libdir/lib$name.la"; then
5577 found_la="$additional_libdir/lib$name.la"
5582 if test "X$found_dir" = "X"; then
5583 for x in $LDFLAGS $LTLIB[]NAME; do
5584 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5587 dir=`echo "X$x" | sed -e 's/^X-L//'`
5588 if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
5590 found_so="$dir/lib$name.$shlibext"
5591 if test -f "$dir/lib$name.la"; then
5592 found_la="$dir/lib$name.la"
5595 if test -f "$dir/lib$name.$libext"; then
5597 found_a="$dir/lib$name.$libext"
5598 if test -f "$dir/lib$name.la"; then
5599 found_la="$dir/lib$name.la"
5605 if test "X$found_dir" != "X"; then
5610 if test "X$found_dir" != "X"; then
5611 dnl Found the library.
5612 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
5613 if test "X$found_so" != "X"; then
5614 dnl Linking with a shared library. We attempt to hardcode its
5615 dnl directory into the executable's runpath, unless it's the
5616 dnl standard /usr/lib.
5617 if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
5618 dnl No hardcoding is needed.
5619 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5621 dnl Use an explicit option to hardcode DIR into the resulting
5623 dnl Potentially add DIR to ltrpathdirs.
5624 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5626 for x in $ltrpathdirs; do
5627 if test "X$x" = "X$found_dir"; then
5632 if test -z "$haveit"; then
5633 ltrpathdirs="$ltrpathdirs $found_dir"
5635 dnl The hardcoding into $LIBNAME is system dependent.
5636 if test "$hardcode_direct" = yes; then
5637 dnl Using DIR/libNAME.so during linking hardcodes DIR into the
5638 dnl resulting binary.
5639 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5641 if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
5642 dnl Use an explicit option to hardcode DIR into the resulting
5644 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5645 dnl Potentially add DIR to rpathdirs.
5646 dnl The rpathdirs will be appended to $LIBNAME at the end.
5648 for x in $rpathdirs; do
5649 if test "X$x" = "X$found_dir"; then
5654 if test -z "$haveit"; then
5655 rpathdirs="$rpathdirs $found_dir"
5658 dnl Rely on "-L$found_dir".
5659 dnl But don't add it if it's already contained in the LDFLAGS
5660 dnl or the already constructed $LIBNAME
5662 for x in $LDFLAGS $LIB[]NAME; do
5663 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5664 if test "X$x" = "X-L$found_dir"; then
5669 if test -z "$haveit"; then
5670 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
5672 if test "$hardcode_minus_L" != no; then
5673 dnl FIXME: Not sure whether we should use
5674 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5676 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5678 dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
5679 dnl here, because this doesn't fit in flags passed to the
5680 dnl compiler. So give up. No hardcoding. This affects only
5681 dnl very old systems.
5682 dnl FIXME: Not sure whether we should use
5683 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5685 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5691 if test "X$found_a" != "X"; then
5692 dnl Linking with a static library.
5693 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
5695 dnl We shouldn't come here, but anyway it's good to have a
5697 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
5700 dnl Assume the include files are nearby.
5701 additional_includedir=
5702 case "$found_dir" in
5704 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
5705 additional_includedir="$basedir/include"
5708 if test "X$additional_includedir" != "X"; then
5709 dnl Potentially add $additional_includedir to $INCNAME.
5710 dnl But don't add it
5711 dnl 1. if it's the standard /usr/include,
5712 dnl 2. if it's /usr/local/include and we are using GCC on Linux,
5713 dnl 3. if it's already present in $CPPFLAGS or the already
5714 dnl constructed $INCNAME,
5715 dnl 4. if it doesn't exist as a directory.
5716 if test "X$additional_includedir" != "X/usr/include"; then
5718 if test "X$additional_includedir" = "X/usr/local/include"; then
5719 if test -n "$GCC"; then
5721 linux*) haveit=yes;;
5725 if test -z "$haveit"; then
5726 for x in $CPPFLAGS $INC[]NAME; do
5727 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5728 if test "X$x" = "X-I$additional_includedir"; then
5733 if test -z "$haveit"; then
5734 if test -d "$additional_includedir"; then
5735 dnl Really add $additional_includedir to $INCNAME.
5736 INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
5742 dnl Look for dependencies.
5743 if test -n "$found_la"; then
5744 dnl Read the .la file. It defines the variables
5745 dnl dlname, library_names, old_library, dependency_libs, current,
5746 dnl age, revision, installed, dlopen, dlpreopen, libdir.
5747 save_libdir="$libdir"
5749 */* | *\\*) . "$found_la" ;;
5750 *) . "./$found_la" ;;
5752 libdir="$save_libdir"
5753 dnl We use only dependency_libs.
5754 for dep in $dependency_libs; do
5757 additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
5758 dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
5759 dnl But don't add it
5760 dnl 1. if it's the standard /usr/lib,
5761 dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
5762 dnl 3. if it's already present in $LDFLAGS or the already
5763 dnl constructed $LIBNAME,
5764 dnl 4. if it doesn't exist as a directory.
5765 if test "X$additional_libdir" != "X/usr/lib"; then
5767 if test "X$additional_libdir" = "X/usr/local/lib"; then
5768 if test -n "$GCC"; then
5770 linux*) haveit=yes;;
5774 if test -z "$haveit"; then
5776 for x in $LDFLAGS $LIB[]NAME; do
5777 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5778 if test "X$x" = "X-L$additional_libdir"; then
5783 if test -z "$haveit"; then
5784 if test -d "$additional_libdir"; then
5785 dnl Really add $additional_libdir to $LIBNAME.
5786 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
5790 for x in $LDFLAGS $LTLIB[]NAME; do
5791 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5792 if test "X$x" = "X-L$additional_libdir"; then
5797 if test -z "$haveit"; then
5798 if test -d "$additional_libdir"; then
5799 dnl Really add $additional_libdir to $LTLIBNAME.
5800 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
5807 dir=`echo "X$dep" | sed -e 's/^X-R//'`
5808 if test "$enable_rpath" != no; then
5809 dnl Potentially add DIR to rpathdirs.
5810 dnl The rpathdirs will be appended to $LIBNAME at the end.
5812 for x in $rpathdirs; do
5813 if test "X$x" = "X$dir"; then
5818 if test -z "$haveit"; then
5819 rpathdirs="$rpathdirs $dir"
5821 dnl Potentially add DIR to ltrpathdirs.
5822 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5824 for x in $ltrpathdirs; do
5825 if test "X$x" = "X$dir"; then
5830 if test -z "$haveit"; then
5831 ltrpathdirs="$ltrpathdirs $dir"
5836 dnl Handle this in the next round.
5837 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
5840 dnl Handle this in the next round. Throw away the .la's
5841 dnl directory; it is already contained in a preceding -L
5843 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
5846 dnl Most likely an immediate library name.
5847 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
5848 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
5854 dnl Didn't find the library; assume it is in the system directories
5855 dnl known to the linker and runtime loader. (All the system
5856 dnl directories known to the linker should also be known to the
5857 dnl runtime loader, otherwise the system is severely misconfigured.)
5858 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5859 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
5865 if test "X$rpathdirs" != "X"; then
5866 if test -n "$hardcode_libdir_separator"; then
5867 dnl Weird platform: only the last -rpath option counts, the user must
5868 dnl pass all path elements in one option. We can arrange that for a
5869 dnl single library, but not when more than one $LIBNAMEs are used.
5871 for found_dir in $rpathdirs; do
5872 alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
5874 dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
5875 acl_save_libdir="$libdir"
5877 eval flag=\"$hardcode_libdir_flag_spec\"
5878 libdir="$acl_save_libdir"
5879 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5881 dnl The -rpath options are cumulative.
5882 for found_dir in $rpathdirs; do
5883 acl_save_libdir="$libdir"
5885 eval flag=\"$hardcode_libdir_flag_spec\"
5886 libdir="$acl_save_libdir"
5887 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5891 if test "X$ltrpathdirs" != "X"; then
5892 dnl When using libtool, the option that works for both libraries and
5893 dnl executables is -R. The -R options are cumulative.
5894 for found_dir in $ltrpathdirs; do
5895 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
5900 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
5901 dnl unless already present in VAR.
5902 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
5903 dnl contains two or three consecutive elements that belong together.
5904 AC_DEFUN([AC_LIB_APPENDTOVAR],
5906 for element in [$2]; do
5909 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5910 if test "X$x" = "X$element"; then
5915 if test -z "$haveit"; then
5916 [$1]="${[$1]}${[$1]:+ }$element"
5921 # lib-ld.m4 serial 2
5922 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
5923 dnl This file is free software, distributed under the terms of the GNU
5924 dnl General Public License. As a special exception to the GNU General
5925 dnl Public License, this file may be distributed as part of a program
5926 dnl that contains a configuration script generated by Autoconf, under
5927 dnl the same distribution terms as the rest of that program.
5929 dnl Subroutines of libtool.m4,
5930 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
5931 dnl with libtool.m4.
5933 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
5934 AC_DEFUN([AC_LIB_PROG_LD_GNU],
5935 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
5936 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
5937 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
5938 acl_cv_prog_gnu_ld=yes
5940 acl_cv_prog_gnu_ld=no
5942 with_gnu_ld=$acl_cv_prog_gnu_ld
5945 dnl From libtool-1.4. Sets the variable LD.
5946 AC_DEFUN([AC_LIB_PROG_LD],
5947 [AC_ARG_WITH(gnu-ld,
5948 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
5949 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
5950 AC_REQUIRE([AC_PROG_CC])dnl
5951 AC_REQUIRE([AC_CANONICAL_HOST])dnl
5953 if test "$GCC" = yes; then
5954 # Check if gcc -print-prog-name=ld gives a path.
5955 AC_MSG_CHECKING([for ld used by GCC])
5958 # gcc leaves a trailing carriage return which upsets mingw
5959 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
5961 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
5964 # Accept absolute paths.
5965 [[\\/]* | [A-Za-z]:[\\/]*)]
5966 [re_direlt='/[^/][^/]*/\.\./']
5967 # Canonicalize the path of ld
5968 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
5969 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
5970 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
5972 test -z "$LD" && LD="$ac_prog"
5975 # If it fails, then pretend we aren't using GCC.
5979 # If it is relative, then search for the first ld in PATH.
5983 elif test "$with_gnu_ld" = yes; then
5984 AC_MSG_CHECKING([for GNU ld])
5986 AC_MSG_CHECKING([for non-GNU ld])
5988 AC_CACHE_VAL(acl_cv_path_LD,
5989 [if test -z "$LD"; then
5990 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
5991 for ac_dir in $PATH; do
5992 test -z "$ac_dir" && ac_dir=.
5993 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5994 acl_cv_path_LD="$ac_dir/$ac_prog"
5995 # Check to see if the program is GNU ld. I'd rather use --version,
5996 # but apparently some GNU ld's only accept -v.
5997 # Break only if it was the GNU/non-GNU ld that we prefer.
5998 if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
5999 test "$with_gnu_ld" != no && break
6001 test "$with_gnu_ld" != yes && break
6007 acl_cv_path_LD="$LD" # Let the user override the test with a path.
6009 LD="$acl_cv_path_LD"
6010 if test -n "$LD"; then
6015 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
6021 dnl From J. David Anglin.
6023 dnl HPUX and other systems can't unlink shared text that is being executed.
6025 AC_DEFUN([jm_FUNC_UNLINK_BUSY_TEXT],
6027 AC_CACHE_CHECK([whether a running program can be unlinked],
6028 jm_cv_func_unlink_busy_text,
6037 exit (unlink (argv[0]));
6040 jm_cv_func_unlink_busy_text=yes,
6041 jm_cv_func_unlink_busy_text=no,
6042 jm_cv_func_unlink_busy_text=no
6047 if test $jm_cv_func_unlink_busy_text = no; then
6048 INSTALL=$ac_install_sh
6054 dnl From Jim Meyering.
6056 dnl This is not pretty. I've just taken the autoconf code and wrapped
6057 dnl it in an AC_DEFUN.
6060 # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6061 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
6063 AC_CHECK_FUNCS(listmntent getmntinfo)
6064 AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
6065 getfsstat_includes="\
6066 $ac_includes_default
6067 #if HAVE_SYS_PARAM_H
6068 # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
6070 #if HAVE_SYS_UCRED_H
6071 # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
6073 #if HAVE_SYS_MOUNT_H
6074 # include <sys/mount.h>
6076 #if HAVE_SYS_FS_TYPES_H
6077 # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
6080 AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
6082 # Determine how to get the list of mounted filesystems.
6085 # If the getmntent function is available but not in the standard library,
6086 # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
6089 # This test must precede the ones for getmntent because Unicos-9 is
6090 # reported to have the getmntent function, but its support is incompatible
6091 # with other getmntent implementations.
6093 # NOTE: Normally, I wouldn't use a check for system type as I've done for
6094 # `CRAY' below since that goes against the whole autoconf philosophy. But
6095 # I think there is too great a chance that some non-Cray system has a
6096 # function named listmntent to risk the false positive.
6098 if test -z "$ac_list_mounted_fs"; then
6100 AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
6101 AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
6102 [fu_cv_sys_mounted_cray_listmntent=no
6107 ], [test $ac_cv_func_listmntent = yes \
6108 && fu_cv_sys_mounted_cray_listmntent=yes]
6112 AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
6113 if test $fu_cv_sys_mounted_cray_listmntent = yes; then
6114 ac_list_mounted_fs=found
6115 AC_DEFINE(MOUNTED_LISTMNTENT, 1,
6116 [Define if there is a function named listmntent that can be used to
6117 list all mounted filesystems. (UNICOS)])
6121 if test -z "$ac_list_mounted_fs"; then
6123 AC_MSG_CHECKING([for mntctl function and struct vmount])
6124 AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
6125 [AC_TRY_CPP([#include <fshelp.h>],
6126 fu_cv_sys_mounted_vmount=yes,
6127 fu_cv_sys_mounted_vmount=no)])
6128 AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
6129 if test $fu_cv_sys_mounted_vmount = yes; then
6130 ac_list_mounted_fs=found
6131 AC_DEFINE(MOUNTED_VMOUNT, 1,
6132 [Define if there is a function named mntctl that can be used to read
6133 the list of mounted filesystems, and there is a system header file
6134 that declares `struct vmount.' (AIX)])
6138 if test $ac_cv_func_getmntent = yes; then
6140 # This system has the getmntent function.
6141 # Determine whether it's the one-argument variant or the two-argument one.
6143 if test -z "$ac_list_mounted_fs"; then
6144 # 4.3BSD, SunOS, HP-UX, Dynix, Irix
6145 AC_MSG_CHECKING([for one-argument getmntent function])
6146 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
6148 /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
6152 #if !defined MOUNTED
6153 # if defined _PATH_MOUNTED /* GNU libc */
6154 # define MOUNTED _PATH_MOUNTED
6156 # if defined MNT_MNTTAB /* HP-UX. */
6157 # define MOUNTED MNT_MNTTAB
6159 # if defined MNTTABNAME /* Dynix. */
6160 # define MOUNTED MNTTABNAME
6164 [ struct mntent *mnt = 0; char *table = MOUNTED; ],
6165 fu_cv_sys_mounted_getmntent1=yes,
6166 fu_cv_sys_mounted_getmntent1=no)])
6167 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
6168 if test $fu_cv_sys_mounted_getmntent1 = yes; then
6169 ac_list_mounted_fs=found
6170 AC_DEFINE(MOUNTED_GETMNTENT1, 1,
6171 [Define if there is a function named getmntent for reading the list
6172 of mounted filesystems, and that function takes a single argument.
6173 (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
6177 if test -z "$ac_list_mounted_fs"; then
6179 AC_MSG_CHECKING([for two-argument getmntent function])
6180 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
6181 [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
6182 fu_cv_sys_mounted_getmntent2=yes,
6183 fu_cv_sys_mounted_getmntent2=no)])
6184 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
6185 if test $fu_cv_sys_mounted_getmntent2 = yes; then
6186 ac_list_mounted_fs=found
6187 AC_DEFINE(MOUNTED_GETMNTENT2, 1,
6188 [Define if there is a function named getmntent for reading the list of
6189 mounted filesystems, and that function takes two arguments. (SVR4)])
6195 if test -z "$ac_list_mounted_fs"; then
6196 # DEC Alpha running OSF/1, and Apple Darwin 1.3.
6197 # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
6199 AC_MSG_CHECKING([for getfsstat function])
6200 AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
6202 #include <sys/types.h>
6203 #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
6204 # define FS_TYPE(Ent) ((Ent).f_fstypename)
6206 # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
6208 ]$getfsstat_includes
6210 [struct statfs *stats;
6211 int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
6212 char *t = FS_TYPE (*stats); ],
6213 fu_cv_sys_mounted_getfsstat=yes,
6214 fu_cv_sys_mounted_getfsstat=no)])
6215 AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
6216 if test $fu_cv_sys_mounted_getfsstat = yes; then
6217 ac_list_mounted_fs=found
6218 AC_DEFINE(MOUNTED_GETFSSTAT, 1,
6219 [Define if there is a function named getfsstat for reading the
6220 list of mounted filesystems. (DEC Alpha running OSF/1)])
6224 if test -z "$ac_list_mounted_fs"; then
6226 AC_MSG_CHECKING([for FIXME existence of three headers])
6227 AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
6229 #include <sys/statfs.h>
6230 #include <sys/fstyp.h>
6231 #include <mnttab.h>],
6232 fu_cv_sys_mounted_fread_fstyp=yes,
6233 fu_cv_sys_mounted_fread_fstyp=no)])
6234 AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
6235 if test $fu_cv_sys_mounted_fread_fstyp = yes; then
6236 ac_list_mounted_fs=found
6237 AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
6238 [Define if (like SVR2) there is no specific function for reading the
6239 list of mounted filesystems, and your system has these header files:
6240 <sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
6244 if test -z "$ac_list_mounted_fs"; then
6245 # 4.4BSD and DEC OSF/1.
6246 AC_MSG_CHECKING([for getmntinfo function])
6247 AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
6249 test "$ac_cv_func_getmntinfo" = yes \
6250 && fu_cv_sys_mounted_getmntinfo=yes \
6251 || fu_cv_sys_mounted_getmntinfo=no
6253 AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
6254 if test $fu_cv_sys_mounted_getmntinfo = yes; then
6255 ac_list_mounted_fs=found
6256 AC_DEFINE(MOUNTED_GETMNTINFO, 1,
6257 [Define if there is a function named getmntinfo for reading the
6258 list of mounted filesystems. (4.4BSD, Darwin)])
6262 if test -z "$ac_list_mounted_fs"; then
6264 AC_MSG_CHECKING([for getmnt function])
6265 AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
6267 #include <sys/fs_types.h>
6268 #include <sys/mount.h>],
6269 fu_cv_sys_mounted_getmnt=yes,
6270 fu_cv_sys_mounted_getmnt=no)])
6271 AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
6272 if test $fu_cv_sys_mounted_getmnt = yes; then
6273 ac_list_mounted_fs=found
6274 AC_DEFINE(MOUNTED_GETMNT, 1,
6275 [Define if there is a function named getmnt for reading the list of
6276 mounted filesystems. (Ultrix)])
6280 if test -z "$ac_list_mounted_fs"; then
6282 AC_CHECK_FUNCS(next_dev fs_stat_dev)
6283 AC_CHECK_HEADERS(fs_info.h)
6284 AC_MSG_CHECKING([for BEOS mounted file system support functions])
6285 if test $ac_cv_header_fs_info_h = yes \
6286 && test $ac_cv_func_next_dev = yes \
6287 && test $ac_cv_func_fs_stat_dev = yes; then
6292 AC_MSG_RESULT($fu_result)
6293 if test $fu_result = yes; then
6294 ac_list_mounted_fs=found
6295 AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
6296 [Define if there are functions named next_dev and fs_stat_dev for
6297 reading the list of mounted filesystems. (BeOS)])
6301 if test -z "$ac_list_mounted_fs"; then
6303 AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
6304 AC_CACHE_VAL(fu_cv_sys_mounted_fread,
6305 [AC_TRY_CPP([#include <mnttab.h>],
6306 fu_cv_sys_mounted_fread=yes,
6307 fu_cv_sys_mounted_fread=no)])
6308 AC_MSG_RESULT($fu_cv_sys_mounted_fread)
6309 if test $fu_cv_sys_mounted_fread = yes; then
6310 ac_list_mounted_fs=found
6311 AC_DEFINE(MOUNTED_FREAD, 1,
6312 [Define if there is no specific function for reading the list of
6313 mounted filesystems. fread will be used to read /etc/mnttab. (SVR2) ])
6317 if test -z "$ac_list_mounted_fs"; then
6318 AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
6319 # FIXME -- no need to abort building the whole package
6320 # Can't build mountlist.c or anything that needs its functions
6323 AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
6329 dnl From Jim Meyering.
6331 dnl See if struct statfs has the f_fstypename member.
6332 dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
6335 AC_DEFUN([jm_FSTYPENAME],
6337 AC_CACHE_CHECK([for f_fstypename in struct statfs],
6338 fu_cv_sys_f_fstypename_in_statfs,
6342 #include <sys/param.h>
6343 #include <sys/types.h>
6344 #include <sys/mount.h>
6346 [struct statfs s; int i = sizeof s.f_fstypename;],
6347 fu_cv_sys_f_fstypename_in_statfs=yes,
6348 fu_cv_sys_f_fstypename_in_statfs=no
6353 if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
6354 AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
6355 [Define if struct statfs has the f_fstypename member.])
6362 # From fileutils/configure.in
6364 # Try to determine how a program can obtain filesystem usage information.
6365 # If successful, define the appropriate symbol (see fsusage.c) and
6366 # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND.
6368 # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6370 AC_DEFUN([jm_FILE_SYSTEM_USAGE],
6373 echo "checking how to get filesystem space usage..."
6376 # Perform only the link test since it seems there are no variants of the
6377 # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
6378 # because that got a false positive on SCO OSR5. Adding the declaration
6379 # of a `struct statvfs' causes this test to fail (as it should) on such
6380 # systems. That system is reported to work fine with STAT_STATFS4 which
6381 # is what it gets when this test fails.
6382 if test $ac_fsusage_space = no; then
6384 AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
6385 [AC_TRY_LINK([#include <sys/types.h>
6387 Do not use statvfs on systems with GNU libc, because that function stats
6388 all preceding entries in /proc/mounts, and that makes df hang if even
6389 one of the corresponding file systems is hard-mounted, but not available.
6391 #include <sys/statvfs.h>],
6392 [struct statvfs fsd; statvfs (0, &fsd);],
6393 fu_cv_sys_stat_statvfs=yes,
6394 fu_cv_sys_stat_statvfs=no)])
6395 if test $fu_cv_sys_stat_statvfs = yes; then
6396 ac_fsusage_space=yes
6397 AC_DEFINE(STAT_STATVFS, 1,
6398 [ Define if there is a function named statvfs. (SVR4)])
6402 if test $ac_fsusage_space = no; then
6403 # DEC Alpha running OSF/1
6404 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
6405 AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
6407 #include <sys/param.h>
6408 #include <sys/types.h>
6409 #include <sys/mount.h>
6414 exit (statfs (".", &fsd, sizeof (struct statfs)));
6416 fu_cv_sys_stat_statfs3_osf1=yes,
6417 fu_cv_sys_stat_statfs3_osf1=no,
6418 fu_cv_sys_stat_statfs3_osf1=no)])
6419 AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
6420 if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
6421 ac_fsusage_space=yes
6422 AC_DEFINE(STAT_STATFS3_OSF1, 1,
6423 [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
6427 if test $ac_fsusage_space = no; then
6429 AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
6430 member (AIX, 4.3BSD)])
6431 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
6433 #ifdef HAVE_SYS_PARAM_H
6434 #include <sys/param.h>
6436 #ifdef HAVE_SYS_MOUNT_H
6437 #include <sys/mount.h>
6439 #ifdef HAVE_SYS_VFS_H
6440 #include <sys/vfs.h>
6446 exit (statfs (".", &fsd));
6448 fu_cv_sys_stat_statfs2_bsize=yes,
6449 fu_cv_sys_stat_statfs2_bsize=no,
6450 fu_cv_sys_stat_statfs2_bsize=no)])
6451 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
6452 if test $fu_cv_sys_stat_statfs2_bsize = yes; then
6453 ac_fsusage_space=yes
6454 AC_DEFINE(STAT_STATFS2_BSIZE, 1,
6455 [ Define if statfs takes 2 args and struct statfs has a field named f_bsize.
6456 (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
6460 if test $ac_fsusage_space = no; then
6462 AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
6463 AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
6464 [AC_TRY_RUN([#include <sys/types.h>
6465 #include <sys/statfs.h>
6469 exit (statfs (".", &fsd, sizeof fsd, 0));
6471 fu_cv_sys_stat_statfs4=yes,
6472 fu_cv_sys_stat_statfs4=no,
6473 fu_cv_sys_stat_statfs4=no)])
6474 AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
6475 if test $fu_cv_sys_stat_statfs4 = yes; then
6476 ac_fsusage_space=yes
6477 AC_DEFINE(STAT_STATFS4, 1,
6478 [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)])
6482 if test $ac_fsusage_space = no; then
6484 AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
6485 member (4.4BSD and NetBSD)])
6486 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
6487 [AC_TRY_RUN([#include <sys/types.h>
6488 #ifdef HAVE_SYS_PARAM_H
6489 #include <sys/param.h>
6491 #ifdef HAVE_SYS_MOUNT_H
6492 #include <sys/mount.h>
6498 exit (statfs (".", &fsd));
6500 fu_cv_sys_stat_statfs2_fsize=yes,
6501 fu_cv_sys_stat_statfs2_fsize=no,
6502 fu_cv_sys_stat_statfs2_fsize=no)])
6503 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
6504 if test $fu_cv_sys_stat_statfs2_fsize = yes; then
6505 ac_fsusage_space=yes
6506 AC_DEFINE(STAT_STATFS2_FSIZE, 1,
6507 [ Define if statfs takes 2 args and struct statfs has a field named f_fsize.
6512 if test $ac_fsusage_space = no; then
6514 AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
6515 AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
6516 [AC_TRY_RUN([#include <sys/types.h>
6517 #ifdef HAVE_SYS_PARAM_H
6518 #include <sys/param.h>
6520 #ifdef HAVE_SYS_MOUNT_H
6521 #include <sys/mount.h>
6523 #ifdef HAVE_SYS_FS_TYPES_H
6524 #include <sys/fs_types.h>
6529 /* Ultrix's statfs returns 1 for success,
6530 0 for not mounted, -1 for failure. */
6531 exit (statfs (".", &fsd) != 1);
6533 fu_cv_sys_stat_fs_data=yes,
6534 fu_cv_sys_stat_fs_data=no,
6535 fu_cv_sys_stat_fs_data=no)])
6536 AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
6537 if test $fu_cv_sys_stat_fs_data = yes; then
6538 ac_fsusage_space=yes
6539 AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
6540 [ Define if statfs takes 2 args and the second argument has
6541 type struct fs_data. (Ultrix)])
6545 if test $ac_fsusage_space = no; then
6547 AC_TRY_CPP([#include <sys/filsys.h>
6549 AC_DEFINE(STAT_READ_FILSYS, 1,
6550 [Define if there is no specific function for reading filesystems usage
6551 information and you have the <sys/filsys.h> header file. (SVR2)])
6552 ac_fsusage_space=yes)
6555 AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
6561 # Define some macros required for proper operation of code in lib/*.c
6562 # on MSDOS/Windows systems.
6564 # From Jim Meyering.
6566 AC_DEFUN([jm_AC_DOS],
6568 AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
6571 [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
6572 neither MSDOS nor Windows
6574 [ac_cv_win_or_dos=yes],
6575 [ac_cv_win_or_dos=no])
6578 if test x"$ac_cv_win_or_dos" = xyes; then
6579 ac_fs_accepts_drive_letter_prefix=1
6580 ac_fs_backslash_is_file_name_separator=1
6582 ac_fs_accepts_drive_letter_prefix=0
6583 ac_fs_backslash_is_file_name_separator=0
6586 AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
6587 [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
6588 # define FILESYSTEM_PREFIX_LEN(Filename) \
6589 ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
6591 # define FILESYSTEM_PREFIX_LEN(Filename) 0
6594 AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
6595 $ac_fs_accepts_drive_letter_prefix,
6596 [Define on systems for which file names may have a so-called
6597 `drive letter' prefix, define this to compute the length of that
6598 prefix, including the colon.])
6600 AH_VERBATIM(ISSLASH,
6601 [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
6602 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
6604 # define ISSLASH(C) ((C) == '/')
6607 AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
6608 $ac_fs_backslash_is_file_name_separator,
6609 [Define if the backslash character may also serve as a file name
6610 component separator.])
6614 AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
6616 AC_REQUIRE([AC_HEADER_STDC])
6617 AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
6618 AC_CHECK_FUNCS(resolvepath)
6619 AC_REQUIRE([AC_HEADER_STAT])
6621 # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
6622 # if the function name weren't so long. Besides, I would rather
6623 # not have underscores in file names.
6624 AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
6629 # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
6631 AC_DEFUN([AC_STRUCT_ST_DM_MODE],
6632 [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
6633 [AC_TRY_COMPILE([#include <sys/types.h>
6634 #include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
6635 ac_cv_struct_st_dm_mode=yes,
6636 ac_cv_struct_st_dm_mode=no)])
6638 if test $ac_cv_struct_st_dm_mode = yes; then
6639 AC_DEFINE(HAVE_ST_DM_MODE, 1,
6640 [Define if struct stat has an st_dm_mode member. ])
6646 dnl From Jim Meyering and Paul Eggert.
6647 AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
6648 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6649 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
6650 jm_cv_sys_tiocgwinsz_needs_termios_h,
6651 [jm_cv_sys_tiocgwinsz_needs_termios_h=no
6653 if test $ac_cv_sys_posix_termios = yes; then
6655 [#include <sys/types.h>
6656 # include <termios.h>
6660 ], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
6665 AC_DEFUN([jm_WINSIZE_IN_PTEM],
6666 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6667 AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
6668 jm_cv_sys_struct_winsize_needs_sys_ptem_h,
6669 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
6670 if test $ac_cv_sys_posix_termios = yes; then
6671 AC_TRY_COMPILE([#include <termios.h>]
6672 [struct winsize x;],
6673 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6675 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6676 AC_TRY_COMPILE([#include <sys/ptem.h>],
6677 [struct winsize x;],
6678 [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6680 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6681 AC_DEFINE([WINSIZE_IN_PTEM], 1,
6682 [Define if sys/ptem.h is required for struct winsize.])
6685 # Determine whether this system has infrastructure for obtaining the boot time.
6687 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6688 * ----------------------------------------------------------
6689 AC_DEFUN([GNULIB_BOOT_TIME],
6691 AC_CHECK_FUNCS(sysctl)
6692 AC_CHECK_HEADERS(sys/sysctl.h)
6694 [whether we can get the system boot time],
6695 [gnulib_cv_have_boot_time],
6699 [AC_INCLUDES_DEFAULT
6700 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
6701 # include <sys/param.h> /* needed for OpenBSD 3.0 */
6702 # include <sys/sysctl.h>
6711 #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
6712 /* your system *does* have the infrastructure to determine boot time */
6714 please_tell_us_how_to_determine_boot_time_on_your_system
6717 gnulib_cv_have_boot_time=yes,
6718 gnulib_cv_have_boot_time=no)
6720 AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
6725 AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
6726 [AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
6727 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
6728 jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
6729 [jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
6731 if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
6733 [#include <sys/types.h>
6734 # include <sys/ioctl.h>
6738 ], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
6741 if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
6742 AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
6743 [Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
6749 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
6751 AC_DEFUN([jm_LIB_CHECK],
6754 # Check for libypsec.a on Dolphin M88K machines.
6755 AC_CHECK_LIB(ypsec, main)
6757 # m88k running dgux 5.4 needs this
6758 AC_CHECK_LIB(ldgc, main)
6760 # Some programs need to link with -lm. printf does if it uses
6761 # lib/strtod.c which uses pow. And seq uses the math functions,
6762 # floor, modf, rint. And factor uses sqrt. And sleep uses fesetround.
6764 # Save a copy of $LIBS and add $FLOOR_LIBM before these tests
6765 # Check for these math functions used by seq.
6766 ac_su_saved_lib="$LIBS"
6768 AC_CHECK_FUNCS(floor modf rint)
6769 LIBS="$ac_su_saved_lib"
6772 AC_CHECK_FUNCS(sqrt)
6773 if test $ac_cv_func_sqrt = no; then
6774 AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
6777 AC_SUBST(FESETROUND_LIBM)
6778 AC_CHECK_FUNCS(fesetround)
6779 if test $ac_cv_func_fesetround = no; then
6780 AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
6783 # The -lsun library is required for YP support on Irix-4.0.5 systems.
6784 # m88k/svr3 DolphinOS systems using YP need -lypsec for id.
6785 AC_SEARCH_LIBS(yp_match, [sun ypsec])
6787 # SysV needs -lsec, older versions of Linux need -lshadow for
6788 # shadow passwords. UnixWare 7 needs -lgen.
6789 AC_SEARCH_LIBS(getspnam, [shadow sec gen])
6791 AC_CHECK_HEADERS(shadow.h)
6793 # Requirements for su.c.
6795 $ac_includes_default
6797 # include <shadow.h>
6800 AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
6801 AC_CHECK_FUNCS(getspnam)
6803 # SCO-ODT-3.0 is reported to need -lufc for crypt.
6804 # NetBSD needs -lcrypt for crypt.
6805 ac_su_saved_lib="$LIBS"
6806 AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
6807 LIBS="$ac_su_saved_lib"
6811 # gettext.m4 serial 17 (gettext-0.11.5)
6812 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
6813 dnl This file is free software, distributed under the terms of the GNU
6814 dnl General Public License. As a special exception to the GNU General
6815 dnl Public License, this file may be distributed as part of a program
6816 dnl that contains a configuration script generated by Autoconf, under
6817 dnl the same distribution terms as the rest of that program.
6819 dnl This file can can be used in projects which are not available under
6820 dnl the GNU General Public License or the GNU Library General Public
6821 dnl License but which still want to provide support for the GNU gettext
6823 dnl Please note that the actual code of the GNU gettext library is covered
6824 dnl by the GNU Library General Public License, and the rest of the GNU
6825 dnl gettext package package is covered by the GNU General Public License.
6826 dnl They are *not* in the public domain.
6829 dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
6830 dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
6832 dnl Macro to add for using GNU gettext.
6834 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
6835 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
6836 dnl default (if it is not specified or empty) is 'no-libtool'.
6837 dnl INTLSYMBOL should be 'external' for packages with no intl directory,
6838 dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
6839 dnl If INTLSYMBOL is 'use-libtool', then a libtool library
6840 dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
6841 dnl depending on --{enable,disable}-{shared,static} and on the presence of
6842 dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
6843 dnl $(top_builddir)/intl/libintl.a will be created.
6844 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
6845 dnl implementations (in libc or libintl) without the ngettext() function
6846 dnl will be ignored. If NEEDSYMBOL is specified and is
6847 dnl 'need-formatstring-macros', then GNU gettext implementations that don't
6848 dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
6849 dnl INTLDIR is used to find the intl libraries. If empty,
6850 dnl the value `$(top_builddir)/intl/' is used.
6852 dnl The result of the configuration is one of three cases:
6853 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
6855 dnl Catalog format: GNU --> install in $(datadir)
6856 dnl Catalog extension: .mo after installation, .gmo in source tree
6857 dnl 2) GNU gettext has been found in the system's C library.
6858 dnl Catalog format: GNU --> install in $(datadir)
6859 dnl Catalog extension: .mo after installation, .gmo in source tree
6860 dnl 3) No internationalization, always use English msgid.
6861 dnl Catalog format: none
6862 dnl Catalog extension: none
6863 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
6864 dnl The use of .gmo is historical (it was needed to avoid overwriting the
6865 dnl GNU format catalogs when building on a platform with an X/Open gettext),
6866 dnl but we keep it in order not to force irrelevant filename changes on the
6869 AC_DEFUN([AM_GNU_GETTEXT],
6871 dnl Argument checking.
6872 ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
6873 [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
6875 ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
6876 [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
6878 define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
6879 define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
6881 AC_REQUIRE([AM_PO_SUBDIRS])dnl
6882 ifelse(gt_included_intl, yes, [
6883 AC_REQUIRE([AM_INTL_SUBDIR])dnl
6886 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
6887 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
6888 AC_REQUIRE([AC_LIB_RPATH])
6890 dnl Sometimes libintl requires libiconv, so first search for libiconv.
6891 dnl Ideally we would do this search only after the
6892 dnl if test "$USE_NLS" = "yes"; then
6893 dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6894 dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
6895 dnl the configure script would need to contain the same shell code
6896 dnl again, outside any 'if'. There are two solutions:
6897 dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
6898 dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
6899 dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
6900 dnl documented, we avoid it.
6901 ifelse(gt_included_intl, yes, , [
6902 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
6905 AC_MSG_CHECKING([whether NLS is requested])
6906 dnl Default is enabled NLS
6908 [ --disable-nls do not use Native Language Support],
6909 USE_NLS=$enableval, USE_NLS=yes)
6910 AC_MSG_RESULT($USE_NLS)
6913 ifelse(gt_included_intl, yes, [
6914 BUILD_INCLUDED_LIBINTL=no
6915 USE_INCLUDED_LIBINTL=no
6921 dnl If we use NLS figure out what method
6922 if test "$USE_NLS" = "yes"; then
6923 gt_use_preinstalled_gnugettext=no
6924 ifelse(gt_included_intl, yes, [
6925 AC_MSG_CHECKING([whether included gettext is requested])
6926 AC_ARG_WITH(included-gettext,
6927 [ --with-included-gettext use the GNU gettext library included here],
6928 nls_cv_force_use_gnu_gettext=$withval,
6929 nls_cv_force_use_gnu_gettext=no)
6930 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
6932 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
6933 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
6935 dnl User does not insist on using GNU NLS library. Figure out what
6936 dnl to use. If GNU gettext is available we use this. Else we have
6937 dnl to fall back to GNU NLS library.
6939 dnl Add a version number to the cache macros.
6940 define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
6941 define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
6942 define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
6944 AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
6945 [AC_TRY_LINK([#include <libintl.h>
6946 ]ifelse([$2], [need-formatstring-macros],
6947 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6948 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6951 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6953 ], [])[extern int _nl_msg_cat_cntr;
6954 extern int *_nl_domain_bindings;],
6955 [bindtextdomain ("", "");
6956 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
6957 gt_cv_func_gnugettext_libc=yes,
6958 gt_cv_func_gnugettext_libc=no)])
6960 if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6961 dnl Sometimes libintl requires libiconv, so first search for libiconv.
6962 ifelse(gt_included_intl, yes, , [
6965 dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
6966 dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
6967 dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
6968 dnl even if libiconv doesn't exist.
6969 AC_LIB_LINKFLAGS_BODY([intl])
6970 AC_CACHE_CHECK([for GNU gettext in libintl],
6971 gt_cv_func_gnugettext_libintl,
6972 [gt_save_CPPFLAGS="$CPPFLAGS"
6973 CPPFLAGS="$CPPFLAGS $INCINTL"
6974 gt_save_LIBS="$LIBS"
6975 LIBS="$LIBS $LIBINTL"
6976 dnl Now see whether libintl exists and does not depend on libiconv.
6977 AC_TRY_LINK([#include <libintl.h>
6978 ]ifelse([$2], [need-formatstring-macros],
6979 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6980 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6983 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6985 ], [])[extern int _nl_msg_cat_cntr;
6990 const char *_nl_expand_alias ();],
6991 [bindtextdomain ("", "");
6992 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
6993 gt_cv_func_gnugettext_libintl=yes,
6994 gt_cv_func_gnugettext_libintl=no)
6995 dnl Now see whether libintl exists and depends on libiconv.
6996 if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
6997 LIBS="$LIBS $LIBICONV"
6998 AC_TRY_LINK([#include <libintl.h>
6999 ]ifelse([$2], [need-formatstring-macros],
7000 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
7001 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
7004 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
7006 ], [])[extern int _nl_msg_cat_cntr;
7011 const char *_nl_expand_alias ();],
7012 [bindtextdomain ("", "");
7013 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
7014 [LIBINTL="$LIBINTL $LIBICONV"
7015 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
7016 gt_cv_func_gnugettext_libintl=yes
7019 CPPFLAGS="$gt_save_CPPFLAGS"
7020 LIBS="$gt_save_LIBS"])
7023 dnl If an already present or preinstalled GNU gettext() is found,
7024 dnl use it. But if this macro is used in GNU gettext, and GNU
7025 dnl gettext is already preinstalled in libintl, we update this
7026 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
7027 if test "$gt_cv_func_gnugettext_libc" = "yes" \
7028 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
7029 && test "$PACKAGE" != gettext; }; then
7030 gt_use_preinstalled_gnugettext=yes
7032 dnl Reset the values set by searching for libintl.
7038 ifelse(gt_included_intl, yes, [
7039 if test "$gt_use_preinstalled_gnugettext" != "yes"; then
7040 dnl GNU gettext is not found in the C library.
7041 dnl Fall back on included GNU gettext library.
7042 nls_cv_use_gnu_gettext=yes
7046 if test "$nls_cv_use_gnu_gettext" = "yes"; then
7047 dnl Mark actions used to generate GNU NLS library.
7048 INTLOBJS="\$(GETTOBJS)"
7049 BUILD_INCLUDED_LIBINTL=yes
7050 USE_INCLUDED_LIBINTL=yes
7051 LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
7052 LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
7053 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
7056 if test "$gt_use_preinstalled_gnugettext" = "yes" \
7057 || test "$nls_cv_use_gnu_gettext" = "yes"; then
7058 dnl Mark actions to use GNU gettext tools.
7063 if test "$gt_use_preinstalled_gnugettext" = "yes" \
7064 || test "$nls_cv_use_gnu_gettext" = "yes"; then
7065 AC_DEFINE(ENABLE_NLS, 1,
7066 [Define to 1 if translation of program messages to the user's native language
7073 if test "$USE_NLS" = "yes"; then
7075 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
7076 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
7077 AC_MSG_CHECKING([how to link with libintl])
7078 AC_MSG_RESULT([$LIBINTL])
7079 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
7082 dnl For backward compatibility. Some packages may be using this.
7083 AC_DEFINE(HAVE_GETTEXT, 1,
7084 [Define if the GNU gettext() function is already present or preinstalled.])
7085 AC_DEFINE(HAVE_DCGETTEXT, 1,
7086 [Define if the GNU dcgettext() function is already present or preinstalled.])
7089 dnl We need to process the po/ directory.
7093 ifelse(gt_included_intl, yes, [
7094 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
7095 dnl to 'yes' because some of the testsuite requires it.
7096 if test "$PACKAGE" = gettext; then
7097 BUILD_INCLUDED_LIBINTL=yes
7100 dnl Make all variables we use known to autoconf.
7101 AC_SUBST(BUILD_INCLUDED_LIBINTL)
7102 AC_SUBST(USE_INCLUDED_LIBINTL)
7106 dnl For backward compatibility. Some configure.ins may be using this.
7108 nls_cv_header_libgt=
7110 dnl For backward compatibility. Some Makefiles may be using this.
7112 AC_SUBST(DATADIRNAME)
7114 dnl For backward compatibility. Some Makefiles may be using this.
7116 AC_SUBST(INSTOBJEXT)
7118 dnl For backward compatibility. Some Makefiles may be using this.
7122 dnl Enable libtool support if the surrounding package wishes it.
7123 INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
7124 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
7127 dnl For backward compatibility. Some Makefiles may be using this.
7131 dnl Make all documented variables known to autoconf.
7138 dnl Checks for all prerequisites of the po subdirectory,
7139 dnl except for USE_NLS.
7140 AC_DEFUN([AM_PO_SUBDIRS],
7142 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
7143 AC_REQUIRE([AC_PROG_INSTALL])dnl
7144 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7146 dnl Perform the following tests also if --disable-nls has been given,
7147 dnl because they are needed for "make dist" to work.
7149 dnl Search for GNU msgfmt in the PATH.
7150 dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
7151 dnl The second test excludes FreeBSD msgfmt.
7152 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
7153 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
7154 (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
7156 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
7158 dnl Search for GNU xgettext 0.11 or newer in the PATH.
7159 dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
7160 dnl The second test excludes FreeBSD xgettext.
7161 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
7162 [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7163 (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
7165 dnl Remove leftover from FreeBSD xgettext call.
7168 dnl Search for GNU msgmerge 0.11 or newer in the PATH.
7169 AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
7170 [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
7172 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7173 dnl Test whether we really found GNU msgfmt.
7174 if test "$GMSGFMT" != ":"; then
7175 dnl If it is no GNU msgfmt we define it as : so that the
7176 dnl Makefiles still can work.
7177 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
7178 (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7181 GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
7183 [found $GMSGFMT program is not GNU msgfmt; ignore it])
7188 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7189 dnl Test whether we really found GNU xgettext.
7190 if test "$XGETTEXT" != ":"; then
7191 dnl If it is no GNU xgettext we define it as : so that the
7192 dnl Makefiles still can work.
7193 if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7194 (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7198 [found xgettext program is not GNU xgettext; ignore it])
7201 dnl Remove leftover from FreeBSD xgettext call.
7205 AC_OUTPUT_COMMANDS([
7206 for ac_file in $CONFIG_FILES; do
7207 # Support "outfile[:infile[:infile...]]"
7209 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
7211 # PO directories have a Makefile.in generated from Makefile.in.in.
7212 case "$ac_file" in */Makefile.in)
7213 # Adjust a relative srcdir.
7214 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
7215 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
7216 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
7217 # In autoconf-2.13 it is called $ac_given_srcdir.
7218 # In autoconf-2.50 it is called $srcdir.
7219 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
7220 case "$ac_given_srcdir" in
7221 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
7222 /*) top_srcdir="$ac_given_srcdir" ;;
7223 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
7225 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
7226 rm -f "$ac_dir/POTFILES"
7227 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
7228 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
7229 # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
7230 # on $ac_dir but don't depend on user-specified configuration
7232 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
7233 # The LINGUAS file contains the set of available languages.
7234 if test -n "$ALL_LINGUAS"; then
7235 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
7237 ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
7238 # Hide the ALL_LINGUAS assigment from automake.
7239 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
7241 case "$ac_given_srcdir" in
7243 *) srcdirpre='$(srcdir)/' ;;
7249 for lang in $ALL_LINGUAS; do
7250 POFILES="$POFILES $srcdirpre$lang.po"
7251 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
7252 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
7253 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
7255 # CATALOGS depends on both $ac_dir and the user's LINGUAS
7256 # environment variable.
7258 if test -n "$ALL_LINGUAS"; then
7259 for presentlang in $ALL_LINGUAS; do
7261 if test "%UNSET%" != "$LINGUAS"; then
7262 desiredlanguages="$LINGUAS"
7264 desiredlanguages="$ALL_LINGUAS"
7266 for desiredlang in $desiredlanguages; do
7267 # Use the presentlang catalog if desiredlang is
7268 # a. equal to presentlang, or
7269 # b. a variant of presentlang (because in this case,
7270 # presentlang can be used as a fallback for messages
7271 # which are not translated in the desiredlang catalog).
7272 case "$desiredlang" in
7273 "$presentlang"*) useit=yes;;
7276 if test $useit = yes; then
7277 INST_LINGUAS="$INST_LINGUAS $presentlang"
7282 if test -n "$INST_LINGUAS"; then
7283 for lang in $INST_LINGUAS; do
7284 CATALOGS="$CATALOGS $lang.gmo"
7287 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
7288 sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
7289 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
7290 if test -f "$f"; then
7292 *.orig | *.bak | *~) ;;
7293 *) cat "$f" >> "$ac_dir/Makefile" ;;
7301 [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
7302 # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
7304 eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
7305 # Capture the value of LINGUAS because we need it to compute CATALOGS.
7306 LINGUAS="${LINGUAS-%UNSET%}"
7311 dnl Checks for all prerequisites of the intl subdirectory,
7312 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
7313 dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
7314 AC_DEFUN([AM_INTL_SUBDIR],
7316 AC_REQUIRE([AC_PROG_INSTALL])dnl
7317 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7318 AC_REQUIRE([AC_PROG_CC])dnl
7319 AC_REQUIRE([AC_CANONICAL_HOST])dnl
7320 AC_REQUIRE([AC_PROG_RANLIB])dnl
7321 AC_REQUIRE([AC_ISC_POSIX])dnl
7322 AC_REQUIRE([AC_HEADER_STDC])dnl
7323 AC_REQUIRE([AC_C_CONST])dnl
7324 AC_REQUIRE([AC_C_INLINE])dnl
7325 AC_REQUIRE([AC_TYPE_OFF_T])dnl
7326 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
7327 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
7328 AC_REQUIRE([AC_FUNC_MMAP])dnl
7329 AC_REQUIRE([jm_GLIBC21])dnl
7330 AC_REQUIRE([gt_INTDIV0])dnl
7331 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
7332 AC_REQUIRE([gt_INTTYPES_PRI])dnl
7334 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
7335 stdlib.h string.h unistd.h sys/param.h])
7336 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
7337 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
7338 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
7342 if test $ac_cv_header_locale_h = yes; then
7346 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
7347 dnl because plural.y uses bison specific features. It requires at least
7348 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
7350 dnl bison is only needed for the maintainer (who touches plural.y). But in
7351 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
7352 dnl the rule in general Makefile. Now, some people carelessly touch the
7353 dnl files or have a broken "make" program, hence the plural.c rule will
7354 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
7355 dnl present or too old.
7356 AC_CHECK_PROGS([INTLBISON], [bison])
7357 if test -z "$INTLBISON"; then
7360 dnl Found it, now check the version.
7361 AC_MSG_CHECKING([version of bison])
7362 changequote(<<,>>)dnl
7363 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
7364 case $ac_prog_version in
7365 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
7366 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
7368 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
7369 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
7371 AC_MSG_RESULT([$ac_prog_version])
7373 if test $ac_verc_fail = yes; then
7379 AC_DEFUN([AM_MKINSTALLDIRS],
7381 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
7382 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
7383 dnl Try to locate is.
7385 if test -n "$ac_aux_dir"; then
7386 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
7388 if test -z "$MKINSTALLDIRS"; then
7389 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
7391 AC_SUBST(MKINSTALLDIRS)
7395 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
7396 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
7398 # progtest.m4 serial 3
7399 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
7400 dnl This file is free software, distributed under the terms of the GNU
7401 dnl General Public License. As a special exception to the GNU General
7402 dnl Public License, this file may be distributed as part of a program
7403 dnl that contains a configuration script generated by Autoconf, under
7404 dnl the same distribution terms as the rest of that program.
7406 dnl This file can can be used in projects which are not available under
7407 dnl the GNU General Public License or the GNU Library General Public
7408 dnl License but which still want to provide support for the GNU gettext
7410 dnl Please note that the actual code of the GNU gettext library is covered
7411 dnl by the GNU Library General Public License, and the rest of the GNU
7412 dnl gettext package package is covered by the GNU General Public License.
7413 dnl They are *not* in the public domain.
7416 dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
7418 # Search path for a program which passes the given test.
7420 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
7421 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
7422 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
7423 [# Extract the first word of "$2", so it can be a program name with args.
7424 set dummy $2; ac_word=[$]2
7425 AC_MSG_CHECKING([for $ac_word])
7426 AC_CACHE_VAL(ac_cv_path_$1,
7429 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
7432 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
7433 for ac_dir in ifelse([$5], , $PATH, [$5]); do
7434 test -z "$ac_dir" && ac_dir=.
7435 if test -f $ac_dir/$ac_word; then
7437 ac_cv_path_$1="$ac_dir/$ac_word"
7443 dnl If no 4th arg is given, leave the cache variable unset,
7444 dnl so AC_PATH_PROGS will keep looking.
7445 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
7450 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
7451 AC_MSG_RESULT([$]$1)
7458 # intdiv0.m4 serial 1 (gettext-0.11.3)
7459 dnl Copyright (C) 2002 Free Software Foundation, Inc.
7460 dnl This file is free software, distributed under the terms of the GNU
7461 dnl General Public License. As a special exception to the GNU General
7462 dnl Public License, this file may be distributed as part of a program
7463 dnl that contains a configuration script generated by Autoconf, under
7464 dnl the same distribution terms as the rest of that program.
7466 dnl From Bruno Haible.
7468 AC_DEFUN([gt_INTDIV0],
7470 AC_REQUIRE([AC_PROG_CC])dnl
7471 AC_REQUIRE([AC_CANONICAL_HOST])dnl
7473 AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
7474 gt_cv_int_divbyzero_sigfpe,
7482 sigfpe_handler (int sig)
7484 sigfpe_handler (sig) int sig;
7487 /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
7488 exit (sig != SIGFPE);
7498 signal (SIGFPE, sigfpe_handler);
7499 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
7500 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
7501 signal (SIGTRAP, sigfpe_handler);
7503 /* Linux/SPARC yields signal SIGILL. */
7504 #if defined (__sparc__) && defined (__linux__)
7505 signal (SIGILL, sigfpe_handler);
7512 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
7514 # Guess based on the CPU.
7516 alpha* | i[34567]86 | m68k | s390*)
7517 gt_cv_int_divbyzero_sigfpe="guessing yes";;
7519 gt_cv_int_divbyzero_sigfpe="guessing no";;
7523 case "$gt_cv_int_divbyzero_sigfpe" in
7527 AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
7528 [Define if integer division by zero raises signal SIGFPE.])
7531 # lcmessage.m4 serial 3 (gettext-0.11.3)
7532 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
7533 dnl This file is free software, distributed under the terms of the GNU
7534 dnl General Public License. As a special exception to the GNU General
7535 dnl Public License, this file may be distributed as part of a program
7536 dnl that contains a configuration script generated by Autoconf, under
7537 dnl the same distribution terms as the rest of that program.
7539 dnl This file can can be used in projects which are not available under
7540 dnl the GNU General Public License or the GNU Library General Public
7541 dnl License but which still want to provide support for the GNU gettext
7543 dnl Please note that the actual code of the GNU gettext library is covered
7544 dnl by the GNU Library General Public License, and the rest of the GNU
7545 dnl gettext package package is covered by the GNU General Public License.
7546 dnl They are *not* in the public domain.
7549 dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
7551 # Check whether LC_MESSAGES is available in <locale.h>.
7553 AC_DEFUN([AM_LC_MESSAGES],
7555 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
7556 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
7557 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
7558 if test $am_cv_val_LC_MESSAGES = yes; then
7559 AC_DEFINE(HAVE_LC_MESSAGES, 1,
7560 [Define if your <locale.h> file defines LC_MESSAGES.])