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])
2440 dnl From Jim Meyering
2442 AC_DEFUN([gl_TIMESPEC],
2444 dnl Prerequisites of lib/timespec.h.
2445 AC_REQUIRE([AC_HEADER_TIME])
2446 AC_CHECK_HEADERS_ONCE(sys/time.h)
2447 jm_CHECK_TYPE_STRUCT_TIMESPEC
2448 AC_STRUCT_ST_MTIM_NSEC
2450 dnl Persuade glibc <time.h> to declare nanosleep().
2451 AC_REQUIRE([AC_GNU_SOURCE])
2453 AC_CHECK_DECLS(nanosleep, , , [#include <time.h>])
2456 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
2457 dnl in time.h or sys/time.h.
2459 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
2461 dnl Persuade pedantic Solaris to declare struct timespec.
2462 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
2464 AC_REQUIRE([AC_HEADER_TIME])
2465 AC_CHECK_HEADERS_ONCE(sys/time.h)
2466 AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
2469 # if TIME_WITH_SYS_TIME
2470 # include <sys/time.h>
2473 # if HAVE_SYS_TIME_H
2474 # include <sys/time.h>
2480 [static struct timespec x; x.tv_sec = x.tv_nsec;],
2481 fu_cv_sys_struct_timespec=yes,
2482 fu_cv_sys_struct_timespec=no)
2485 if test $fu_cv_sys_struct_timespec = yes; then
2486 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
2487 [Define if struct timespec is declared in <time.h>. ])
2493 dnl From Paul Eggert.
2495 # Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
2498 AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
2499 [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
2500 ac_cv_struct_st_mtim_nsec,
2501 [ac_save_CPPFLAGS="$CPPFLAGS"
2502 ac_cv_struct_st_mtim_nsec=no
2503 # tv_nsec -- the usual case
2504 # _tv_nsec -- Solaris 2.6, if
2505 # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
2506 # && !defined __EXTENSIONS__)
2507 # st__tim.tv_nsec -- UnixWare 2.1.2
2508 for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
2509 CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
2510 AC_TRY_COMPILE([#include <sys/types.h>
2511 #include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
2512 [ac_cv_struct_st_mtim_nsec=$ac_val; break])
2514 CPPFLAGS="$ac_save_CPPFLAGS"])
2516 if test $ac_cv_struct_st_mtim_nsec != no; then
2517 AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
2518 [Define to be the nanoseconds member of struct stat's st_mtim,
2524 # See if we need to work around bugs in glibc's implementation of
2525 # utimes from around July/August 2003.
2526 # First, there was a bug that would make utimes set mtime
2527 # and atime to zero (1970-01-01) unconditionally.
2528 # Then, there is/was code to round rather than truncate.
2530 # From Jim Meyering, with suggestions from Paul Eggert.
2532 AC_DEFUN([gl_FUNC_UTIMES],
2534 AC_CACHE_CHECK([determine whether the utimes function works],
2535 gl_cv_func_working_utimes,
2537 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2538 #include <sys/types.h>
2539 #include <sys/stat.h>
2540 #include <sys/time.h>
2549 static struct timeval timeval[2] = {{9, 10}, {999999, 999999}};
2551 char const *file = "conftest.utimes";
2554 exit ( ! ((f = fopen (file, "w"))
2556 && utimes (file, timeval) == 0
2557 && lstat (file, &sbuf) == 0
2558 && sbuf.st_atime == timeval[0].tv_sec
2559 && sbuf.st_mtime == timeval[1].tv_sec) );
2562 [gl_cv_func_working_utimes=yes],
2563 [gl_cv_func_working_utimes=no],
2564 [gl_cv_func_working_utimes=no])])
2566 if test $gl_cv_func_working_utimes = yes; then
2567 AC_DEFINE([HAVE_WORKING_UTIMES], 1, [Define if utimes works properly. ])
2573 dnl A replacement for autoconf's macro by the same name. This version
2574 dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
2575 dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
2576 dnl run only if one of the listed libraries ends up being used (and not in
2577 dnl the `none required' case.
2578 dnl I hope it's only temporary while we wait for that version to be fixed.
2579 undefine([AC_SEARCH_LIBS])
2581 # AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
2582 # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
2583 # [OTHER-LIBRARIES])
2584 # --------------------------------------------------------
2585 # Search for a library defining FUNC, if it's not already available.
2586 AC_DEFUN([AC_SEARCH_LIBS],
2588 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
2590 ac_func_search_save_LIBS=$LIBS
2592 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
2593 if test "$ac_cv_search_$1" = no; then
2594 for ac_lib in $2; do
2595 LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
2596 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
2599 LIBS=$ac_func_search_save_LIBS
2602 if test "$ac_cv_search_$1" = no; then :
2605 if test "$ac_cv_search_$1" = 'none required'; then :
2608 LIBS="$ac_cv_search_$1 $LIBS"
2615 # Copyright 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
2617 # This program is free software; you can redistribute it and/or modify
2618 # it under the terms of the GNU General Public License as published by
2619 # the Free Software Foundation; either version 2, or (at your option)
2620 # any later version.
2622 # This program is distributed in the hope that it will be useful,
2623 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2624 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2625 # GNU General Public License for more details.
2627 # You should have received a copy of the GNU General Public License
2628 # along with this program; if not, write to the Free Software
2629 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2634 AC_DEFUN([AM_C_PROTOTYPES],
2635 [AC_REQUIRE([AM_PROG_CC_STDC])
2636 AC_REQUIRE([AC_PROG_CPP])
2637 AC_MSG_CHECKING([for function prototypes])
2638 if test "$am_cv_prog_cc_stdc" != no; then
2640 AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
2644 U=_ ANSI2KNR=./ansi2knr
2646 # Ensure some checks needed by ansi2knr itself.
2648 AC_CHECK_HEADERS(string.h)
2650 AC_SUBST(ANSI2KNR)dnl
2653 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
2656 # Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
2658 # This program is free software; you can redistribute it and/or modify
2659 # it under the terms of the GNU General Public License as published by
2660 # the Free Software Foundation; either version 2, or (at your option)
2661 # any later version.
2663 # This program is distributed in the hope that it will be useful,
2664 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2665 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2666 # GNU General Public License for more details.
2668 # You should have received a copy of the GNU General Public License
2669 # along with this program; if not, write to the Free Software
2670 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2675 # @defmac AC_PROG_CC_STDC
2676 # @maindex PROG_CC_STDC
2678 # If the C compiler in not in ANSI C mode by default, try to add an option
2679 # to output variable @code{CC} to make it so. This macro tries various
2680 # options that select ANSI C on some system or another. It considers the
2681 # compiler to be in ANSI C mode if it handles function prototypes correctly.
2683 # If you use this macro, you should check after calling it whether the C
2684 # compiler has been set to accept ANSI C; if not, the shell variable
2685 # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
2686 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
2687 # program @code{ansi2knr}, which comes with Ghostscript.
2690 AC_DEFUN([AM_PROG_CC_STDC],
2691 [AC_REQUIRE([AC_PROG_CC])
2692 AC_BEFORE([$0], [AC_C_INLINE])
2693 AC_BEFORE([$0], [AC_C_CONST])
2694 dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
2695 dnl a magic option to avoid problems with ANSI preprocessor commands
2697 dnl FIXME: can't do this because then AC_AIX won't work due to a
2698 dnl circular dependency.
2699 dnl AC_BEFORE([$0], [AC_PROG_CPP])
2700 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
2701 AC_CACHE_VAL(am_cv_prog_cc_stdc,
2702 [am_cv_prog_cc_stdc=no
2704 # Don't try gcc -ansi; that turns off useful extensions and
2705 # breaks some systems' header files.
2706 # AIX -qlanglvl=ansi
2707 # Ultrix and OSF/1 -std1
2708 # HP-UX 10.20 and later -Ae
2709 # HP-UX older versions -Aa -D_HPUX_SOURCE
2710 # SVR4 -Xc -D__EXTENSIONS__
2711 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
2713 CC="$ac_save_CC $ac_arg"
2715 [#include <stdarg.h>
2717 #include <sys/types.h>
2718 #include <sys/stat.h>
2719 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
2720 struct buf { int x; };
2721 FILE * (*rcsopen) (struct buf *, struct stat *, int);
2722 static char *e (p, i)
2728 static char *f (char * (*g) (char **, int), char **p, ...)
2733 s = g (p, va_arg (v,int));
2737 int test (int i, double x);
2738 struct s1 {int (*f) (int a);};
2739 struct s2 {int (*f) (double a);};
2740 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
2744 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
2746 [am_cv_prog_cc_stdc="$ac_arg"; break])
2750 if test -z "$am_cv_prog_cc_stdc"; then
2751 AC_MSG_RESULT([none needed])
2753 AC_MSG_RESULT([$am_cv_prog_cc_stdc])
2755 case "x$am_cv_prog_cc_stdc" in
2757 *) CC="$CC $am_cv_prog_cc_stdc" ;;
2761 AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
2765 AC_DEFUN([jm_FUNC_MEMCMP],
2766 [AC_REQUIRE([AC_FUNC_MEMCMP])dnl
2767 if test $ac_cv_func_memcmp_working = no; then
2768 AC_DEFINE(memcmp, rpl_memcmp,
2769 [Define to rpl_memcmp if the replacement function should be used.])
2773 # getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
2775 # Copyright 2001 Free Software Foundation, Inc.
2777 # This program is free software; you can redistribute it and/or modify
2778 # it under the terms of the GNU General Public License as published by
2779 # the Free Software Foundation; either version 2, or (at your option)
2780 # any later version.
2782 # This program is distributed in the hope that it will be useful,
2783 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2784 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2785 # GNU General Public License for more details.
2787 # You should have received a copy of the GNU General Public License
2788 # along with this program; if not, write to the Free Software Foundation,
2789 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2791 # Written by Paul Eggert.
2793 AC_DEFUN([AC_FUNC_GETCWD_NULL],
2794 [AC_CHECK_HEADERS(stdlib.h unistd.h)
2795 AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
2796 [ac_cv_func_getcwd_null],
2799 # ifdef HAVE_STDLIB_H
2800 # include <stdlib.h>
2802 # ifdef HAVE_UNISTD_H
2803 # include <unistd.h>
2811 if (chdir ("/") != 0)
2815 char *f = getcwd (NULL, 0);
2816 exit (! (f && f[0] == '/' && !f[1]));
2819 [ac_cv_func_getcwd_null=yes],
2820 [ac_cv_func_getcwd_null=no],
2821 [ac_cv_func_getcwd_null=no])])
2822 if test $ac_cv_func_getcwd_null = yes; then
2823 AC_DEFINE(HAVE_GETCWD_NULL, 1,
2824 [Define if getcwd (NULL, 0) allocates memory for result.])
2829 dnl Find out how to get the file descriptor associated with an open DIR*.
2830 dnl From Jim Meyering
2832 AC_DEFUN([UTILS_FUNC_DIRFD],
2834 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
2835 AC_REQUIRE([AC_PROG_CPP])
2836 AC_REQUIRE([AC_PROG_EGREP])
2841 # include <dirent.h>
2842 #else /* not HAVE_DIRENT_H */
2843 # define dirent direct
2844 # if HAVE_SYS_NDIR_H
2845 # include <sys/ndir.h>
2846 # endif /* HAVE_SYS_NDIR_H */
2848 # include <sys/dir.h>
2849 # endif /* HAVE_SYS_DIR_H */
2852 # endif /* HAVE_NDIR_H */
2853 #endif /* HAVE_DIRENT_H */
2855 AC_CHECK_FUNCS(dirfd)
2856 AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
2858 AC_CACHE_CHECK([whether dirfd is a macro],
2859 jm_cv_func_dirfd_macro,
2860 [AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
2862 dirent_header_defines_dirfd
2864 jm_cv_func_dirfd_macro=yes,
2865 jm_cv_func_dirfd_macro=no)])
2867 # Use the replacement only if we have no function, macro,
2868 # or declaration with that name.
2869 if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
2871 AC_REPLACE_FUNCS([dirfd])
2873 [how to get the file descriptor associated with an open DIR*],
2874 gl_cv_sys_dir_fd_member_name,
2876 dirfd_save_CFLAGS=$CFLAGS
2877 for ac_expr in d_fd dd_fd; do
2879 CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
2883 [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
2886 CFLAGS=$dirfd_save_CFLAGS
2887 test "$dir_fd_found" = yes && break
2889 test "$dir_fd_found" = yes || ac_expr=no_such_member
2891 gl_cv_sys_dir_fd_member_name=$ac_expr
2894 if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
2895 AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
2896 $gl_cv_sys_dir_fd_member_name,
2897 [the name of the file descriptor member of DIR])
2899 AH_VERBATIM(DIR_TO_FD,
2900 [#ifdef DIR_FD_MEMBER_NAME
2901 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
2903 # define DIR_TO_FD(Dir_p) -1
2910 # acl.m4 - check for access control list (ACL) primitives
2912 # Copyright (C) 2002 Free Software Foundation, Inc.
2914 # This program is free software; you can redistribute it and/or modify
2915 # it under the terms of the GNU General Public License as published by
2916 # the Free Software Foundation; either version 2, or (at your option)
2917 # any later version.
2919 # This program is distributed in the hope that it will be useful,
2920 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2921 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2922 # GNU General Public License for more details.
2924 # You should have received a copy of the GNU General Public License
2925 # along with this program; if not, write to the Free Software Foundation,
2926 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2928 # Written by Paul Eggert.
2930 AC_DEFUN([AC_FUNC_ACL],
2931 [AC_CHECK_HEADERS(sys/acl.h)
2932 AC_CHECK_FUNCS(acl)])
2935 # Use the replacement ftw.c if the one in the C library is inadequate or buggy.
2936 # For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
2937 # or FTW_DCHP that we need. Arrange to use lib/ftw.h. And since that
2938 # implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
2939 # objects and arrange to use lib/search.h if necessary.
2942 AC_DEFUN([AC_FUNC_FTW],
2945 AC_REQUIRE([AC_HEADER_STAT])
2946 AC_REQUIRE([jm_FUNC_LSTAT])
2947 AC_REQUIRE([AC_HEADER_DIRENT])
2948 AC_CHECK_HEADERS(sys/param.h)
2949 AC_CHECK_DECLS([stpcpy])
2951 # In the event that we have to use the replacement ftw.c,
2952 # see if we'll also need the replacement tsearch.c.
2953 AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
2955 AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
2956 ac_cv_func_ftw_working,
2958 # The following test would fail prior to glibc-2.3.2, because `depth'
2959 # would be 2 rather than 4. Of course, now that we require FTW_DCH
2960 # and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
2961 mkdir -p conftest.dir/a/b/c
2962 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2967 static char *_f[] = { "conftest.dir", "conftest.dir/a",
2968 "conftest.dir/a/b", "conftest.dir/a/b/c" };
2969 static char **p = _f;
2973 cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
2975 if (strcmp (file, *p++) != 0)
2984 /* Require these symbols, too. */
2988 int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
2989 exit ((err == 0 && depth == 4) ? 0 : 1);
2992 [ac_cv_func_ftw_working=yes],
2993 [ac_cv_func_ftw_working=no],
2994 [ac_cv_func_ftw_working=no])])
2996 if test $ac_cv_func_ftw_working = no; then
2998 AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
2999 # Add tsearch.o IFF we have to use the replacement ftw.c.
3000 if test -n "$need_tdestroy"; then
3001 AC_LIBOBJ([tsearch])
3002 # Link search.h to search_.h if we use the replacement tsearch.c.
3004 [$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
3011 dnl From Jim Meyering.
3012 dnl Determine whether lstat has the bug that it succeeds when given the
3013 dnl zero-length file name argument. The lstat from SunOS 4.1.4 and the Hurd
3014 dnl (as of 1998-11-01) do this.
3016 dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
3017 dnl compile the wrapper function.
3020 AC_DEFUN([jm_FUNC_LSTAT],
3022 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3023 AC_CACHE_CHECK([whether lstat accepts an empty string],
3024 jm_cv_func_lstat_empty_string_bug,
3026 # include <sys/types.h>
3027 # include <sys/stat.h>
3033 exit (lstat ("", &sbuf) ? 1 : 0);
3036 jm_cv_func_lstat_empty_string_bug=yes,
3037 jm_cv_func_lstat_empty_string_bug=no,
3038 dnl When crosscompiling, assume lstat is broken.
3039 jm_cv_func_lstat_empty_string_bug=yes)
3041 if test $jm_cv_func_lstat_empty_string_bug = yes; then
3043 AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
3044 [Define if lstat has the bug that it succeeds when given the zero-length
3045 file name argument. The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3052 dnl From Jim Meyering.
3053 dnl Provide lchown on systems that lack it.
3055 AC_DEFUN([jm_FUNC_LCHOWN],
3057 AC_REQUIRE([AC_TYPE_UID_T])
3058 AC_REPLACE_FUNCS(lchown)
3063 # When rmdir fails because the specified directory is not empty, it sets
3064 # errno to some value, usually ENOTEMPTY. However, on some AIX systems,
3065 # ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and
3066 # in general, to avoid depending on the use of any particular symbol, this
3067 # test runs a test to determine the actual numeric value.
3068 AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
3070 AC_CACHE_CHECK([for rmdir-not-empty errno value],
3071 fetish_cv_func_rmdir_errno_not_empty,
3073 # Arrange for deletion of the temporary directory this test creates.
3074 ac_clean_files="$ac_clean_files confdir2"
3075 mkdir confdir2; : > confdir2/file
3088 s = fopen ("confdir2/errno", "w");
3089 fprintf (s, "%d\n", val);
3093 fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
3094 fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
3095 fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
3100 AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
3101 $fetish_cv_func_rmdir_errno_not_empty,
3102 [the value to which errno is set when rmdir fails on a nonempty directory])
3107 dnl From Jim Meyering.
3108 dnl Determine whether chown accepts arguments of -1 for uid and gid.
3109 dnl If it doesn't, arrange to use the replacement function.
3112 AC_DEFUN([jm_FUNC_CHOWN],
3113 [AC_REQUIRE([AC_TYPE_UID_T])dnl
3114 test -z "$ac_cv_header_unistd_h" \
3115 && AC_CHECK_HEADERS(unistd.h)
3116 AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown,
3118 # include <sys/types.h>
3119 # include <sys/stat.h>
3121 # ifdef HAVE_UNISTD_H
3122 # include <unistd.h>
3128 char *f = "conftest.chown";
3129 struct stat before, after;
3131 if (creat (f, 0600) < 0)
3133 if (stat (f, &before) < 0)
3135 if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
3137 if (stat (f, &after) < 0)
3139 exit ((before.st_uid == after.st_uid
3140 && before.st_gid == after.st_gid) ? 0 : 1);
3143 jm_cv_func_working_chown=yes,
3144 jm_cv_func_working_chown=no,
3145 dnl When crosscompiling, assume chown is broken.
3146 jm_cv_func_working_chown=no)
3148 if test $jm_cv_func_working_chown = no; then
3150 AC_DEFINE(chown, rpl_chown,
3151 [Define to rpl_chown if the replacement function should be used.])
3155 # mktime.m4 serial 2
3156 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3157 dnl This file is free software, distributed under the terms of the GNU
3158 dnl General Public License. As a special exception to the GNU General
3159 dnl Public License, this file may be distributed as part of a program
3160 dnl that contains a configuration script generated by Autoconf, under
3161 dnl the same distribution terms as the rest of that program.
3163 dnl From Jim Meyering.
3165 # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.57 and earlier.
3166 # This redefinition can be removed once a new version of Autoconf comes out.
3167 # The redefinition is taken from
3168 # <http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.78>.
3171 AC_DEFUN([AC_FUNC_MKTIME],
3172 [AC_REQUIRE([AC_HEADER_TIME])dnl
3173 AC_CHECK_HEADERS(stdlib.h sys/time.h unistd.h)
3174 AC_CHECK_FUNCS(alarm)
3175 AC_CACHE_CHECK([for working mktime], ac_cv_func_working_mktime,
3176 [AC_RUN_IFELSE([AC_LANG_SOURCE(
3177 [[/* Test program from Paul Eggert and Tony Leneis. */
3178 #if TIME_WITH_SYS_TIME
3179 # include <sys/time.h>
3182 # if HAVE_SYS_TIME_H
3183 # include <sys/time.h>
3190 # include <stdlib.h>
3194 # include <unistd.h>
3198 # define alarm(X) /* empty */
3201 /* Work around redefinition to rpl_putenv by other config tests. */
3204 static time_t time_t_max;
3205 static time_t time_t_min;
3207 /* Values we'll use to set the TZ environment variable. */
3208 static char *tz_strings[] = {
3209 (char *) 0, "TZ=GMT0", "TZ=JST-9",
3210 "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
3212 #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
3214 /* Fail if mktime fails to convert a date in the spring-forward gap.
3215 Based on a problem report from Andreas Jaeger. */
3217 spring_forward_gap ()
3219 /* glibc (up to about 1998-10-07) failed this test. */
3222 /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
3223 instead of "TZ=America/Vancouver" in order to detect the bug even
3224 on systems that don't support the Olson extension, or don't have the
3225 full zoneinfo tables installed. */
3226 putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
3235 if (mktime (&tm) == (time_t)-1)
3244 if ((lt = localtime (&now)) && mktime (lt) != now)
3253 mktime_test1 ((time_t) (time_t_max - now));
3254 mktime_test1 ((time_t) (time_t_min + now));
3260 /* Based on code from Ariel Faigon. */
3270 if (tm.tm_mon != 2 || tm.tm_mday != 31)
3280 tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
3282 if (now != (time_t) -1)
3284 struct tm *lt = localtime (&now);
3286 && lt->tm_year == tm.tm_year
3287 && lt->tm_mon == tm.tm_mon
3288 && lt->tm_mday == tm.tm_mday
3289 && lt->tm_hour == tm.tm_hour
3290 && lt->tm_min == tm.tm_min
3291 && lt->tm_sec == tm.tm_sec
3292 && lt->tm_yday == tm.tm_yday
3293 && lt->tm_wday == tm.tm_wday
3294 && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
3295 == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
3306 /* This test makes some buggy mktime implementations loop.
3307 Give up after 60 seconds; a mktime slower than that
3308 isn't worth using anyway. */
3311 for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
3314 if ((time_t) -1 < 0)
3315 for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
3317 delta = time_t_max / 997; /* a suitable prime number */
3318 for (i = 0; i < N_STRINGS; i++)
3321 putenv (tz_strings[i]);
3323 for (t = 0; t <= time_t_max - delta; t += delta)
3325 mktime_test ((time_t) 1);
3326 mktime_test ((time_t) (60 * 60));
3327 mktime_test ((time_t) (60 * 60 * 24));
3329 for (j = 1; 0 < j; j *= 2)
3331 bigtime_test (j - 1);
3334 spring_forward_gap ();
3337 [ac_cv_func_working_mktime=yes],
3338 [ac_cv_func_working_mktime=no],
3339 [ac_cv_func_working_mktime=no])])
3340 if test $ac_cv_func_working_mktime = no; then
3345 AC_DEFUN([gl_FUNC_MKTIME],
3347 AC_REQUIRE([AC_FUNC_MKTIME])
3348 if test $ac_cv_func_working_mktime = no; then
3349 AC_DEFINE(mktime, rpl_mktime,
3350 [Define to rpl_mktime if the replacement function should be used.])
3355 # Prerequisites of lib/mktime.c.
3356 AC_DEFUN([gl_PREREQ_MKTIME], [
3357 AC_REQUIRE([AC_HEADER_STDC])
3358 AC_CHECK_HEADERS_ONCE(limits.h)
3363 dnl From Jim Meyering.
3364 dnl Determine whether stat has the bug that it succeeds when given the
3365 dnl zero-length file name argument. The stat from SunOS 4.1.4 and the Hurd
3366 dnl (as of 1998-11-01) do this.
3368 dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
3369 dnl compile the wrapper function.
3372 AC_DEFUN([jm_FUNC_STAT],
3374 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
3375 AC_CACHE_CHECK([whether stat accepts an empty string],
3376 jm_cv_func_stat_empty_string_bug,
3378 # include <sys/types.h>
3379 # include <sys/stat.h>
3385 exit (stat ("", &sbuf) ? 1 : 0);
3388 jm_cv_func_stat_empty_string_bug=yes,
3389 jm_cv_func_stat_empty_string_bug=no,
3390 dnl When crosscompiling, assume stat is broken.
3391 jm_cv_func_stat_empty_string_bug=yes)
3393 if test $jm_cv_func_stat_empty_string_bug = yes; then
3395 AC_DEFINE(HAVE_STAT_EMPTY_STRING_BUG, 1,
3396 [Define if stat has the bug that it succeeds when given the zero-length
3397 file name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
3404 dnl From Jim Meyering.
3405 dnl Check for the nanosleep function.
3406 dnl If not found, use the supplied replacement.
3409 AC_DEFUN([jm_FUNC_NANOSLEEP],
3411 nanosleep_save_libs=$LIBS
3413 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
3414 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
3415 AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
3416 AC_SUBST(LIB_NANOSLEEP)
3418 AC_CACHE_CHECK([whether nanosleep works],
3419 jm_cv_func_nanosleep_works,
3421 AC_REQUIRE([AC_HEADER_TIME])
3423 # if TIME_WITH_SYS_TIME
3424 # include <sys/time.h>
3427 # if HAVE_SYS_TIME_H
3428 # include <sys/time.h>
3437 struct timespec ts_sleep, ts_remaining;
3438 ts_sleep.tv_sec = 0;
3439 ts_sleep.tv_nsec = 1;
3440 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
3443 jm_cv_func_nanosleep_works=yes,
3444 jm_cv_func_nanosleep_works=no,
3445 dnl When crosscompiling, assume the worst.
3446 jm_cv_func_nanosleep_works=no)
3448 if test $jm_cv_func_nanosleep_works = no; then
3449 AC_LIBOBJ(nanosleep)
3450 AC_DEFINE(nanosleep, rpl_nanosleep,
3451 [Define to rpl_nanosleep if the replacement function should be used.])
3454 LIBS=$nanosleep_save_libs
3457 # memcoll.m4 serial 2
3458 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3459 dnl This file is free software, distributed under the terms of the GNU
3460 dnl General Public License. As a special exception to the GNU General
3461 dnl Public License, this file may be distributed as part of a program
3462 dnl that contains a configuration script generated by Autoconf, under
3463 dnl the same distribution terms as the rest of that program.
3465 AC_DEFUN([gl_MEMCOLL],
3467 dnl Prerequisites of lib/memcoll.c.
3468 AC_REQUIRE([AC_FUNC_MEMCMP])
3469 AC_CHECK_HEADERS_ONCE(string.h)
3473 #serial 8 -*- autoconf -*-
3475 dnl From Jim Meyering.
3477 dnl See if the glibc *_unlocked I/O macros or functions are available.
3478 dnl Use only those *_unlocked macros or functions that are declared
3479 dnl (because some of them were declared in Solaris 2.5.1 but were removed
3480 dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
3481 dnl on Solaris 2.6).
3483 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
3485 dnl Persuade glibc and Solaris <stdio.h> to declare
3486 dnl fgets_unlocked(), fputs_unlocked() etc.
3487 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
3489 AC_CHECK_DECLS_ONCE(
3490 [clearerr_unlocked feof_unlocked ferror_unlocked
3491 fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
3492 fread_unlocked fwrite_unlocked getc_unlocked
3493 getchar_unlocked putc_unlocked putchar_unlocked])
3498 dnl Written by Jim Meyering
3500 AC_DEFUN([jm_FUNC_GROUP_MEMBER],
3502 dnl Do this replacement check manually because I want the hyphen
3503 dnl (not the underscore) in the filename.
3504 AC_CHECK_FUNC(group_member, , [AC_LIBOBJ(group-member)])
3510 dnl From Jim Meyering.
3512 dnl Check whether putenv ("FOO") removes FOO from the environment.
3513 dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
3516 AC_DEFUN([jm_FUNC_PUTENV],
3517 [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
3522 /* Put it in env. */
3523 if (putenv ("CONFTEST_putenv=val"))
3526 /* Try to remove it. */
3527 if (putenv ("CONFTEST_putenv"))
3530 /* Make sure it was deleted. */
3531 if (getenv ("CONFTEST_putenv") != 0)
3537 jm_cv_func_svid_putenv=yes,
3538 jm_cv_func_svid_putenv=no,
3539 dnl When crosscompiling, assume putenv is broken.
3540 jm_cv_func_svid_putenv=no)
3542 if test $jm_cv_func_svid_putenv = no; then
3544 AC_DEFINE(putenv, rpl_putenv,
3545 [Define to rpl_putenv if the replacement function should be used.])
3553 AC_MSG_CHECKING(for AFS)
3554 if test -d /afs; then
3555 AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
3560 AC_MSG_RESULT($ac_result)
3565 # autoconf tests required for use of xstrtoumax.c
3567 AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX],
3569 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3570 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3571 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3572 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3573 AC_CHECK_DECLS([strtol, strtoul, strtoull, strtoimax, strtoumax])
3574 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3576 AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
3577 jm_cv_func_strtoumax_macro,
3578 AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
3580 inttypes_h_defines_strtoumax
3582 jm_cv_func_strtoumax_macro=yes,
3583 jm_cv_func_strtoumax_macro=no))
3585 if test "$jm_cv_func_strtoumax_macro" != yes; then
3586 AC_REPLACE_FUNCS(strtoumax)
3589 dnl Only the replacement strtoumax invokes strtoul and strtoull,
3590 dnl so we need the replacements only if strtoumax does not exist.
3591 case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
3593 AC_REPLACE_FUNCS(strtoul)
3595 dnl We don't need (and can't compile) the replacement strtoull
3596 dnl unless the type `unsigned long long' exists.
3597 if test "$ac_cv_type_unsigned_long_long" = yes; then
3598 AC_REPLACE_FUNCS(strtoull)
3604 # intmax_t.m4 serial 1
3605 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
3606 dnl This file is free software, distributed under the terms of the GNU
3607 dnl General Public License. As a special exception to the GNU General
3608 dnl Public License, this file may be distributed as part of a program
3609 dnl that contains a configuration script generated by Autoconf, under
3610 dnl the same distribution terms as the rest of that program.
3612 dnl From Paul Eggert.
3616 # Define intmax_t to 'long' or 'long long'
3617 # if it is not already defined in <stdint.h> or <inttypes.h>.
3619 AC_DEFUN([jm_AC_TYPE_INTMAX_T],
3621 dnl For simplicity, we assume that a header file defines 'intmax_t' if and
3622 dnl only if it defines 'uintmax_t'.
3623 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3624 AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3625 if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
3626 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3627 test $ac_cv_type_long_long = yes \
3628 && ac_type='long long' \
3630 AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3631 [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
3633 AC_DEFINE(HAVE_INTMAX_T, 1,
3634 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3638 dnl An alternative would be to explicitly test for 'intmax_t'.
3640 AC_DEFUN([gt_AC_TYPE_INTMAX_T],
3642 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
3643 AC_REQUIRE([jm_AC_HEADER_STDINT_H])
3644 AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
3648 #if HAVE_STDINT_H_WITH_UINTMAX
3651 #if HAVE_INTTYPES_H_WITH_UINTMAX
3652 #include <inttypes.h>
3654 ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
3655 if test $gt_cv_c_intmax_t = yes; then
3656 AC_DEFINE(HAVE_INTMAX_T, 1,
3657 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
3659 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3660 test $ac_cv_type_long_long = yes \
3661 && ac_type='long long' \
3663 AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
3664 [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
3669 dnl Cloned from xstrtoumax.m4. Keep these files in sync.
3671 # autoconf tests required for use of xstrtoimax.c
3673 AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX],
3675 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3676 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3677 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3678 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3679 AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoimax, strtoumax])
3680 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3682 AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
3683 jm_cv_func_strtoimax_macro,
3684 AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
3686 inttypes_h_defines_strtoimax
3688 jm_cv_func_strtoimax_macro=yes,
3689 jm_cv_func_strtoimax_macro=no))
3691 if test "$jm_cv_func_strtoimax_macro" != yes; then
3692 AC_REPLACE_FUNCS(strtoimax)
3695 dnl Only the replacement strtoimax invokes strtol and strtoll,
3696 dnl so we need the replacements only if strtoimax does not exist.
3697 case "$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" in
3699 AC_REPLACE_FUNCS(strtol)
3701 dnl We don't need (and can't compile) the replacement strtoll
3702 dnl unless the type `long long' exists.
3703 if test "$ac_cv_type_long_long" = yes; then
3704 AC_REPLACE_FUNCS(strtoll)
3711 dnl Run a program to determine whether whether link(2) follows symlinks.
3712 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
3714 AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
3717 [whether link(2) dereferences a symlink specified with a trailing slash],
3718 jm_ac_cv_func_link_follows_symlink,
3720 dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
3721 dnl the appropriate framework.
3722 test -z "$ac_cv_header_unistd_h" \
3723 && AC_CHECK_HEADERS(unistd.h)
3725 # Create a regular file.
3726 echo > conftest.file
3729 # include <sys/types.h>
3730 # include <sys/stat.h>
3731 # ifdef HAVE_UNISTD_H
3732 # include <unistd.h>
3735 # define SAME_INODE(Stat_buf_1, Stat_buf_2) \
3736 ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
3737 && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
3742 const char *file = "conftest.file";
3743 const char *sym = "conftest.sym";
3744 const char *hard = "conftest.hard";
3745 struct stat sb_file, sb_hard;
3747 /* Create a symlink to the regular file. */
3748 if (symlink (file, sym))
3751 /* Create a hard link to that symlink. */
3752 if (link (sym, hard))
3755 if (lstat (hard, &sb_hard))
3757 if (lstat (file, &sb_file))
3760 /* If the dev/inode of hard and file are the same, then
3761 the link call followed the symlink. */
3762 return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
3765 jm_ac_cv_func_link_follows_symlink=yes,
3766 jm_ac_cv_func_link_follows_symlink=no,
3767 jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
3770 if test $jm_ac_cv_func_link_follows_symlink = yes; then
3771 AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
3772 [Define if `link(2)' dereferences symbolic links.])
3776 # Check for fnmatch.
3778 # This is a modified version of autoconf's AC_FUNC_FNMATCH.
3779 # This file should be simplified after Autoconf 2.57 is required.
3781 # Copyright (C) 2000-2003 Free Software Foundation, Inc.
3783 # This program is free software; you can redistribute it and/or modify
3784 # it under the terms of the GNU General Public License as published by
3785 # the Free Software Foundation; either version 2, or (at your option)
3786 # any later version.
3788 # This program is distributed in the hope that it will be useful,
3789 # but WITHOUT ANY WARRANTY; without even the implied warranty of
3790 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3791 # GNU General Public License for more details.
3793 # You should have received a copy of the GNU General Public License
3794 # along with this program; if not, write to the Free Software
3795 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3798 # _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE)
3799 # -------------------------------------------------------------------------
3800 # If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise
3801 # IF-FALSE. Use CACHE_VAR.
3802 AC_DEFUN([_AC_FUNC_FNMATCH_IF],
3804 [for working $1 fnmatch],
3806 [# Some versions of Solaris, SCO, and the GNU C Library
3807 # have a broken or incompatible fnmatch.
3808 # So we run a test program. If we are cross-compiling, take no chance.
3809 # Thanks to John Oleynick, Franc,ois Pinard, and Paul Eggert for this test.
3813 # include <stdlib.h>
3814 # include <fnmatch.h>
3815 # define y(a, b, c) (fnmatch (a, b, c) == 0)
3816 # define n(a, b, c) (fnmatch (a, b, c) == FNM_NOMATCH)
3819 (!(y ("a*", "abc", 0)
3820 && n ("d*/*1", "d/s/1", FNM_PATHNAME)
3821 && y ("a\\\\bc", "abc", 0)
3822 && n ("a\\\\bc", "abc", FNM_NOESCAPE)
3823 && y ("*x", ".x", 0)
3824 && n ("*x", ".x", FNM_PERIOD)
3825 && m4_if([$1], [GNU],
3826 [y ("xxXX", "xXxX", FNM_CASEFOLD)
3827 && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
3828 && n ("d*/*1", "d/s/1", FNM_FILE_NAME)
3829 && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
3830 && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
3831 && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)],
3836 AS_IF([test $$2 = yes], [$3], [$4])
3837 ])# _AC_FUNC_FNMATCH_IF
3840 # _AC_LIBOBJ_FNMATCH
3841 # ------------------
3842 # Prepare the replacement of fnmatch.
3843 AC_DEFUN([_AC_LIBOBJ_FNMATCH],
3844 [AC_REQUIRE([AC_C_CONST])dnl
3845 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
3846 AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
3847 AC_CHECK_DECLS([getenv])
3848 AC_CHECK_FUNCS([btowc mbsrtowcs mempcpy wmempcpy])
3849 AC_CHECK_HEADERS([wchar.h wctype.h])
3850 AC_LIBOBJ([fnmatch])
3852 AC_DEFINE(fnmatch, rpl_fnmatch,
3853 [Define to rpl_fnmatch if the replacement function should be used.])
3854 ])# _AC_LIBOBJ_FNMATCH
3857 # Additional prerequisites of lib/fnmatch.c, not part of _AC_LIBOBJ_FNMATCH.
3858 AC_DEFUN([gl_PREREQ_FNMATCH_EXTRA],
3860 AC_REQUIRE([AC_HEADER_STDC])
3861 AC_CHECK_HEADERS_ONCE(string.h strings.h)
3865 AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
3868 _AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_posix],
3869 [rm -f lib/fnmatch.h],
3870 [_AC_LIBOBJ_FNMATCH])
3871 if test $ac_cv_func_fnmatch_posix != yes; then
3872 gl_PREREQ_FNMATCH_EXTRA
3873 dnl We must choose a different name for our function, since on ELF systems
3874 dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3875 dnl compiled into a shared library.
3876 AC_DEFINE([fnmatch], [posix_fnmatch],
3877 [Define to a replacement function name for fnmatch().])
3879 AC_SUBST([FNMATCH_H])
3883 AC_DEFUN([gl_FUNC_FNMATCH_GNU],
3885 dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
3886 AC_REQUIRE([AC_GNU_SOURCE])
3889 _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu],
3890 [rm -f lib/fnmatch.h],
3891 [_AC_LIBOBJ_FNMATCH])
3892 if test $ac_cv_func_fnmatch_gnu != yes; then
3893 gl_PREREQ_FNMATCH_EXTRA
3894 dnl We must choose a different name for our function, since on ELF systems
3895 dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
3896 dnl compiled into a shared library.
3897 AC_DEFINE([fnmatch], [gnu_fnmatch],
3898 [Define to a replacement function name for fnmatch().])
3900 AC_SUBST([FNMATCH_H])
3905 dnl This macro is intended to be used solely in this file.
3906 dnl These are the prerequisite macros for GNU's strftime.c replacement.
3907 AC_DEFUN([_jm_STRFTIME_PREREQS],
3909 dnl strftime.c uses the underyling system strftime if it exists.
3912 AC_CHECK_HEADERS_ONCE(limits.h)
3913 AC_CHECK_FUNCS_ONCE(memcpy mempcpy)
3914 AC_CHECK_FUNCS(tzset memset)
3916 # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
3919 AC_CHECK_FUNCS(mblen mbrlen)
3922 AC_REQUIRE([gl_TM_GMTOFF])
3923 AC_REQUIRE([gl_FUNC_TZSET_CLOBBER])
3926 dnl From Jim Meyering.
3928 AC_DEFUN([jm_FUNC_GNU_STRFTIME],
3929 [AC_REQUIRE([AC_HEADER_TIME])dnl
3931 _jm_STRFTIME_PREREQS
3933 AC_REQUIRE([AC_C_CONST])dnl
3934 AC_REQUIRE([AC_HEADER_STDC])dnl
3935 AC_CHECK_HEADERS_ONCE(sys/time.h)
3936 AC_DEFINE([my_strftime], [nstrftime],
3937 [Define to the name of the strftime replacement function.])
3940 AC_DEFUN([jm_FUNC_STRFTIME],
3942 _jm_STRFTIME_PREREQS
3945 # tm_gmtoff.m4 serial 1
3946 dnl Copyright (C) 2002 Free Software Foundation, Inc.
3947 dnl This file is free software, distributed under the terms of the GNU
3948 dnl General Public License. As a special exception to the GNU General
3949 dnl Public License, this file may be distributed as part of a program
3950 dnl that contains a configuration script generated by Autoconf, under
3951 dnl the same distribution terms as the rest of that program.
3953 AC_DEFUN([gl_TM_GMTOFF],
3955 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
3956 [AC_DEFINE(HAVE_TM_GMTOFF, 1,
3957 [Define if struct tm has the tm_gmtoff member.])],
3959 [#include <time.h>])
3963 # See if we have a working tzset function.
3964 # If so, arrange to compile the wrapper function.
3965 # For at least Solaris 2.5.1 and 2.6, this is necessary
3966 # because tzset can clobber the contents of the buffer
3967 # used by localtime.
3969 # Written by Paul Eggert and Jim Meyering.
3971 AC_DEFUN([gl_FUNC_TZSET_CLOBBER],
3973 AC_REQUIRE([AC_HEADER_TIME])
3974 AC_CACHE_CHECK([whether tzset clobbers localtime buffer],
3975 gl_cv_func_tzset_clobber,
3977 AC_RUN_IFELSE([AC_LANG_SOURCE([[
3978 #if TIME_WITH_SYS_TIME
3979 # include <sys/time.h>
3982 # if HAVE_SYS_TIME_H
3983 # include <sys/time.h>
3993 time_t t1 = 853958121;
3996 p = localtime (&t1);
3998 putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00");
4000 exit (p->tm_year != s.tm_year
4001 || p->tm_mon != s.tm_mon
4002 || p->tm_mday != s.tm_mday
4003 || p->tm_hour != s.tm_hour
4004 || p->tm_min != s.tm_min
4005 || p->tm_sec != s.tm_sec);
4008 [gl_cv_func_tzset_clobber=no],
4009 [gl_cv_func_tzset_clobber=yes],
4010 [gl_cv_func_tzset_clobber=yes])])
4012 AC_DEFINE(HAVE_RUN_TZSET_TEST, 1,
4013 [Define to 1 if you have run the test for working tzset.])
4015 if test $gl_cv_func_tzset_clobber = yes; then
4016 # Caution: the following few lines should be the same
4017 # as those in gettimeofday.m4.
4018 AC_LIBOBJ(gettimeofday)
4019 AC_DEFINE(gmtime, rpl_gmtime,
4020 [Define to rpl_gmtime if the replacement function should be used.])
4021 AC_DEFINE(localtime, rpl_localtime,
4022 [Define to rpl_localtime if the replacement function should be used.])
4024 AC_DEFINE(tzset, rpl_tzset,
4025 [Define to rpl_tzset if the wrapper function should be used.])
4026 AC_DEFINE(TZSET_CLOBBERS_LOCALTIME_BUFFER, 1,
4027 [Define if tzset clobbers localtime's static buffer.])
4033 dnl From Jim Meyering
4034 dnl Using code from emacs, based on suggestions from Paul Eggert
4035 dnl and Ulrich Drepper.
4037 dnl Find out how to determine the number of pending output bytes on a stream.
4038 dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
4039 dnl we have to grub around in the FILE struct.
4041 AC_DEFUN([jm_FUNC_FPENDING],
4043 AC_CHECK_HEADERS(stdio_ext.h)
4044 AC_REPLACE_FUNCS([__fpending])
4046 # if HAVE_STDIO_EXT_H
4047 # include <stdio_ext.h>
4050 AC_CHECK_DECLS([__fpending], , , $fp_headers)
4051 if test $ac_cv_func___fpending = no; then
4053 [how to determine the number of pending output bytes on a stream],
4054 ac_cv_sys_pending_output_n_bytes,
4059 'fp->_IO_write_ptr - fp->_IO_write_base' \
4061 '# traditional Unix' \
4062 'fp->_ptr - fp->_base' \
4065 'fp->_p - fp->_bf._base' \
4068 'fp->__ptr - fp->__base' \
4071 'fp->__bufp - fp->__buffer' \
4073 '# old glibc iostream?' \
4074 'fp->_pptr - fp->_pbase' \
4077 '(*fp)->_ptr - (*fp)->_base' \
4079 '# e.g., DGUX R4.11; the info is not available' \
4083 # Skip each embedded comment.
4084 case "$ac_expr" in '#'*) continue;; esac
4089 [FILE *fp = stdin; (void) ($ac_expr);],
4092 test "$fp_done" = yes && break
4095 ac_cv_sys_pending_output_n_bytes=$ac_expr
4098 AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
4099 $ac_cv_sys_pending_output_n_bytes,
4100 [the number of pending output bytes on stream `fp'])
4104 # inttypes-pri.m4 serial 1001 (based on gettext-0.11.4's `serial 1')
4105 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
4106 dnl This file is free software, distributed under the terms of the GNU
4107 dnl General Public License. As a special exception to the GNU General
4108 dnl Public License, this file may be distributed as part of a program
4109 dnl that contains a configuration script generated by Autoconf, under
4110 dnl the same distribution terms as the rest of that program.
4112 dnl From Bruno Haible.
4114 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
4115 # macros to non-string values. This is the case on AIX 4.3.3.
4117 AC_DEFUN([gt_INTTYPES_PRI],
4119 # autoconf-2.52 has a proper check for inttypes.h.
4122 if test $ac_cv_header_inttypes_h = yes; then
4123 AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
4124 gt_cv_inttypes_pri_broken,
4126 AC_TRY_COMPILE([#include <inttypes.h>
4130 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
4133 if test "$gt_cv_inttypes_pri_broken" = yes; then
4134 AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
4135 [Define if <inttypes.h> exists and defines unusable PRI* macros.])
4141 dnl From Jim Meyering.
4142 dnl A wrapper around AC_FUNC_GETGROUPS.
4144 AC_DEFUN([jm_FUNC_GETGROUPS],
4145 [AC_REQUIRE([AC_FUNC_GETGROUPS])dnl
4146 if test $ac_cv_func_getgroups_works = no; then
4147 AC_LIBOBJ(getgroups)
4148 AC_DEFINE(getgroups, rpl_getgroups,
4149 [Define as rpl_getgroups if getgroups doesn't work right.])
4151 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
4154 # alloca.m4 serial 2 (gettext-0.12)
4155 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4156 dnl This file is free software, distributed under the terms of the GNU
4157 dnl General Public License. As a special exception to the GNU General
4158 dnl Public License, this file may be distributed as part of a program
4159 dnl that contains a configuration script generated by Autoconf, under
4160 dnl the same distribution terms as the rest of that program.
4162 AC_DEFUN([gl_FUNC_ALLOCA],
4164 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
4165 AC_REQUIRE([AC_PROG_CPP])
4166 AC_REQUIRE([AC_PROG_EGREP])
4168 AC_REQUIRE([AC_FUNC_ALLOCA])
4169 if test $ac_cv_func_alloca_works = no; then
4173 # Define an additional variable used in the Makefile substitution.
4175 AC_EGREP_CPP([Need own alloca], [
4176 #if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
4182 AC_SUBST([ALLOCA_H])
4185 # Prerequisites of lib/alloca.c.
4186 # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
4187 AC_DEFUN([gl_PREREQ_ALLOCA], [
4188 AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
4195 AC_DEFUN([jm_SYS_PROC_UPTIME],
4196 [ dnl Require AC_PROG_CC to see if we're cross compiling.
4197 AC_REQUIRE([AC_PROG_CC])
4198 AC_CACHE_CHECK([for /proc/uptime], jm_cv_have_proc_uptime,
4199 [jm_cv_have_proc_uptime=no
4200 test -f /proc/uptime \
4201 && test "$cross_compiling" = no \
4202 && cat < /proc/uptime >/dev/null 2>/dev/null \
4203 && jm_cv_have_proc_uptime=yes])
4204 if test $jm_cv_have_proc_uptime = yes; then
4205 AC_DEFINE(HAVE_PROC_UPTIME, 1,
4206 [ Define if your system has the /proc/uptime special file.])
4212 # See if we need to emulate a missing ftruncate function using fcntl or chsize.
4214 AC_DEFUN([jm_FUNC_FTRUNCATE],
4216 AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
4218 if test "$ftruncate_missing" = yes; then
4219 AC_CHECK_HEADERS([unistd.h])
4220 AC_CHECK_FUNCS([chsize])
4221 AC_LIBOBJ(ftruncate)
4227 dnl From Volker Borchert.
4228 dnl Determine whether rename works for source paths with a trailing slash.
4229 dnl The rename from SunOS 4.1.1_U1 doesn't.
4231 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
4232 dnl to compile the wrapper function.
4235 AC_DEFUN([vb_FUNC_RENAME],
4237 AC_CACHE_CHECK([whether rename is broken],
4238 vb_cv_func_rename_trailing_slash_bug,
4240 rm -rf conftest.d1 conftest.d2
4241 mkdir conftest.d1 ||
4242 AC_MSG_ERROR([cannot create temporary directory])
4248 exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
4251 vb_cv_func_rename_trailing_slash_bug=no,
4252 vb_cv_func_rename_trailing_slash_bug=yes,
4253 dnl When crosscompiling, assume rename is broken.
4254 vb_cv_func_rename_trailing_slash_bug=yes)
4256 rm -rf conftest.d1 conftest.d2
4258 if test $vb_cv_func_rename_trailing_slash_bug = yes; then
4260 AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
4261 [Define if rename does not work for source paths with a trailing slash,
4262 like the one from SunOS 4.1.1_U1.])
4268 # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
4269 # silly limit that it can create no more than 26 files from a given template.
4270 # Other systems lack mkstemp altogether. On either type of system, arrange
4271 # to use the replacement function.
4272 AC_DEFUN([UTILS_FUNC_MKSTEMP],
4274 AC_REPLACE_FUNCS(mkstemp)
4275 if test $ac_cv_func_mkstemp = no; then
4276 utils_cv_func_mkstemp_limitations=yes
4278 AC_CACHE_CHECK([for mkstemp limitations],
4279 utils_cv_func_mkstemp_limitations,
4282 # include <stdlib.h>
4286 for (i = 0; i < 30; i++)
4288 char template[] = "conftestXXXXXX";
4289 int fd = mkstemp (template);
4297 utils_cv_func_mkstemp_limitations=no,
4298 utils_cv_func_mkstemp_limitations=yes,
4299 utils_cv_func_mkstemp_limitations=yes
4305 if test $utils_cv_func_mkstemp_limitations = yes; then
4308 AC_DEFINE(mkstemp, rpl_mkstemp,
4309 [Define to rpl_mkstemp if the replacement function should be used.])
4315 dnl From Jim Meyering.
4317 dnl See if gettimeofday clobbers the static buffer that localtime uses
4318 dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
4319 dnl i.e. Darwin 1.3.7 has this problem.
4321 dnl If it does, then arrange to use gettimeofday and localtime only via
4322 dnl the wrapper functions that work around the problem.
4324 AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
4326 AC_REQUIRE([AC_HEADER_TIME])
4327 AC_CHECK_HEADERS(string.h stdlib.h)
4328 AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
4329 jm_cv_func_gettimeofday_clobber,
4333 # include <string.h>
4336 #if TIME_WITH_SYS_TIME
4337 # include <sys/time.h>
4340 # if HAVE_SYS_TIME_H
4341 # include <sys/time.h>
4348 # include <stdlib.h>
4358 lt = localtime (&t);
4360 gettimeofday (&tv, NULL);
4361 if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
4367 jm_cv_func_gettimeofday_clobber=no,
4368 jm_cv_func_gettimeofday_clobber=yes,
4369 dnl When crosscompiling, assume it is broken.
4370 jm_cv_func_gettimeofday_clobber=yes)
4372 if test $jm_cv_func_gettimeofday_clobber = yes; then
4373 # Caution: the following few lines should be the same
4374 # as those in gettimeofday.m4.
4375 AC_LIBOBJ(gettimeofday)
4376 AC_DEFINE(gmtime, rpl_gmtime,
4377 [Define to rpl_gmtime if the replacement function should be used.])
4378 AC_DEFINE(localtime, rpl_localtime,
4379 [Define to rpl_localtime if the replacement function should be used.])
4381 AC_DEFINE(gettimeofday, rpl_gettimeofday,
4382 [Define to rpl_gettimeofday if the replacement function should be used.])
4383 AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
4384 [Define if gettimeofday clobbers localtime's static buffer.])
4390 dnl From Jim Meyering
4391 dnl Replace the utime function on systems that need it.
4395 AC_DEFUN([jm_FUNC_UTIME],
4397 AC_CHECK_HEADERS(utime.h)
4398 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
4399 AC_REQUIRE([AC_FUNC_UTIME_NULL])
4401 if test $ac_cv_func_utime_null = no; then
4403 AC_REPLACE_FUNCS(utime)
4409 dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL,
4410 dnl then do case-insensitive s/utime/utimes/.
4412 AC_DEFUN([jm_FUNC_UTIMES_NULL],
4413 [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
4414 [rm -f conftest.data; > conftest.data
4416 /* In case stat has been defined to rpl_stat, undef it here. */
4418 #include <sys/types.h>
4419 #include <sys/stat.h>
4422 exit(!(stat ("conftest.data", &s) == 0
4423 && utimes("conftest.data", (long *)0) == 0
4424 && stat("conftest.data", &t) == 0
4425 && t.st_mtime >= s.st_mtime
4426 && t.st_mtime - s.st_mtime < 120));
4428 ac_cv_func_utimes_null=yes,
4429 ac_cv_func_utimes_null=no,
4430 ac_cv_func_utimes_null=no)
4431 rm -f core core.* *.core])
4433 if test $ac_cv_func_utimes_null = yes; then
4434 AC_DEFINE(HAVE_UTIMES_NULL, 1,
4435 [Define if utimes accepts a null argument])
4440 # vasprintf.m4 serial 1
4441 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4442 dnl This file is free software, distributed under the terms of the GNU
4443 dnl General Public License. As a special exception to the GNU General
4444 dnl Public License, this file may be distributed as part of a program
4445 dnl that contains a configuration script generated by Autoconf, under
4446 dnl the same distribution terms as the rest of that program.
4448 AC_DEFUN([gl_FUNC_VASPRINTF],
4450 AC_REPLACE_FUNCS(vasprintf)
4451 if test $ac_cv_func_vasprintf = no; then
4458 # Prerequisites of lib/vasprintf.c.
4459 AC_DEFUN([gl_PREREQ_VASPRINTF],
4463 # Prerequisites of lib/asprintf.c.
4464 AC_DEFUN([gl_PREREQ_ASPRINTF],
4468 # vasnprintf.m4 serial 1
4469 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4470 dnl This file is free software, distributed under the terms of the GNU
4471 dnl General Public License. As a special exception to the GNU General
4472 dnl Public License, this file may be distributed as part of a program
4473 dnl that contains a configuration script generated by Autoconf, under
4474 dnl the same distribution terms as the rest of that program.
4476 AC_DEFUN([gl_FUNC_VASNPRINTF],
4478 AC_REPLACE_FUNCS(vasnprintf)
4479 if test $ac_cv_func_vasnprintf = no; then
4480 AC_LIBOBJ(printf-args)
4481 AC_LIBOBJ(printf-parse)
4482 AC_LIBOBJ(asnprintf)
4483 gl_PREREQ_PRINTF_ARGS
4484 gl_PREREQ_PRINTF_PARSE
4485 gl_PREREQ_VASNPRINTF
4490 # Prequisites of lib/printf-args.h, lib/printf-args.c.
4491 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
4493 AC_REQUIRE([bh_C_SIGNED])
4494 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4495 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4496 AC_REQUIRE([gt_TYPE_WCHAR_T])
4497 AC_REQUIRE([gt_TYPE_WINT_T])
4500 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
4501 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
4503 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4504 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4505 AC_REQUIRE([gt_TYPE_WCHAR_T])
4506 AC_REQUIRE([gt_TYPE_WINT_T])
4507 AC_REQUIRE([AC_TYPE_SIZE_T])
4508 AC_CHECK_TYPES(ptrdiff_t)
4509 AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
4512 # Prerequisites of lib/vasnprintf.c.
4513 AC_DEFUN([gl_PREREQ_VASNPRINTF],
4515 AC_REQUIRE([AC_FUNC_ALLOCA])
4516 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
4517 AC_REQUIRE([gt_TYPE_LONGDOUBLE])
4518 AC_REQUIRE([gt_TYPE_WCHAR_T])
4519 AC_REQUIRE([gt_TYPE_WINT_T])
4520 AC_CHECK_FUNCS(snprintf)
4522 # Solaris 2.5.1 needs -lw to get the wcslen function.
4523 AC_SEARCH_LIBS(wcslen, [w])
4526 # Prerequisites of lib/asnprintf.c.
4527 AC_DEFUN([gl_PREREQ_ASNPRINTF],
4531 # signed.m4 serial 1 (gettext-0.10.40)
4532 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4533 dnl This file is free software, distributed under the terms of the GNU
4534 dnl General Public License. As a special exception to the GNU General
4535 dnl Public License, this file may be distributed as part of a program
4536 dnl that contains a configuration script generated by Autoconf, under
4537 dnl the same distribution terms as the rest of that program.
4539 dnl From Bruno Haible.
4541 AC_DEFUN([bh_C_SIGNED],
4543 AC_CACHE_CHECK([for signed], bh_cv_c_signed,
4544 [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
4545 if test $bh_cv_c_signed = no; then
4547 [Define to empty if the C compiler doesn't support this keyword.])
4551 # longdouble.m4 serial 1 (gettext-0.12)
4552 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4553 dnl This file is free software, distributed under the terms of the GNU
4554 dnl General Public License. As a special exception to the GNU General
4555 dnl Public License, this file may be distributed as part of a program
4556 dnl that contains a configuration script generated by Autoconf, under
4557 dnl the same distribution terms as the rest of that program.
4559 dnl From Bruno Haible.
4560 dnl Test whether the compiler supports the 'long double' type.
4561 dnl Prerequisite: AC_PROG_CC
4563 AC_DEFUN([gt_TYPE_LONGDOUBLE],
4565 AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
4566 [if test "$GCC" = yes; then
4567 gt_cv_c_long_double=yes
4570 /* The Stardent Vistra knows sizeof(long double), but does not support it. */
4571 long double foo = 0.0;
4572 /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
4573 int array [2*(sizeof(long double) >= sizeof(double)) - 1];
4575 gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
4577 if test $gt_cv_c_long_double = yes; then
4578 AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
4582 # wchar_t.m4 serial 1 (gettext-0.12)
4583 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
4584 dnl This file is free software, distributed under the terms of the GNU
4585 dnl General Public License. As a special exception to the GNU General
4586 dnl Public License, this file may be distributed as part of a program
4587 dnl that contains a configuration script generated by Autoconf, under
4588 dnl the same distribution terms as the rest of that program.
4590 dnl From Bruno Haible.
4591 dnl Test whether <stddef.h> has the 'wchar_t' type.
4592 dnl Prerequisite: AC_PROG_CC
4594 AC_DEFUN([gt_TYPE_WCHAR_T],
4596 AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
4597 [AC_TRY_COMPILE([#include <stddef.h>
4598 wchar_t foo = (wchar_t)'\0';], ,
4599 gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
4600 if test $gt_cv_c_wchar_t = yes; then
4601 AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
4605 # wint_t.m4 serial 1 (gettext-0.12)
4606 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4607 dnl This file is free software, distributed under the terms of the GNU
4608 dnl General Public License. As a special exception to the GNU General
4609 dnl Public License, this file may be distributed as part of a program
4610 dnl that contains a configuration script generated by Autoconf, under
4611 dnl the same distribution terms as the rest of that program.
4613 dnl From Bruno Haible.
4614 dnl Test whether <wchar.h> has the 'wint_t' type.
4615 dnl Prerequisite: AC_PROG_CC
4617 AC_DEFUN([gt_TYPE_WINT_T],
4619 AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
4620 [AC_TRY_COMPILE([#include <wchar.h>
4621 wint_t foo = (wchar_t)'\0';], ,
4622 gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
4623 if test $gt_cv_c_wint_t = yes; then
4624 AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
4628 # getline.m4 serial 9
4630 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
4631 dnl Foundation, Inc.
4633 dnl This file is free software, distributed under the terms of the GNU
4634 dnl General Public License. As a special exception to the GNU General
4635 dnl Public License, this file may be distributed as part of a program
4636 dnl that contains a configuration script generated by Autoconf, under
4637 dnl the same distribution terms as the rest of that program.
4641 dnl See if there's a working, system-supplied version of the getline function.
4642 dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
4643 dnl have a function by that name in -linet that doesn't have anything
4644 dnl to do with the function we need.
4645 AC_DEFUN([AM_FUNC_GETLINE],
4647 dnl Persuade glibc <stdio.h> to declare getline() and getdelim().
4648 AC_REQUIRE([AC_GNU_SOURCE])
4650 am_getline_needs_run_time_check=no
4651 AC_CHECK_FUNC(getline,
4652 dnl Found it in some library. Verify that it works.
4653 am_getline_needs_run_time_check=yes,
4654 am_cv_func_working_getline=no)
4655 if test $am_getline_needs_run_time_check = yes; then
4656 AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
4657 [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
4660 # include <stdlib.h>
4661 # include <string.h>
4663 { /* Based on a test program from Karl Heuer. */
4667 FILE *in = fopen ("./conftest.data", "r");
4670 len = getline (&line, &siz, in);
4671 exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
4673 ], am_cv_func_working_getline=yes dnl The library version works.
4674 , am_cv_func_working_getline=no dnl The library version does NOT work.
4675 , am_cv_func_working_getline=no dnl We're cross compiling.
4679 if test $am_cv_func_working_getline = no; then
4680 dnl We must choose a different name for our function, since on ELF systems
4681 dnl a broken getline() in libc.so would override our getline() in
4682 dnl libgettextlib.so.
4683 AC_DEFINE([getline], [gnu_getline],
4684 [Define to a replacement function name for getline().])
4687 gl_PREREQ_GETNDELIM2
4691 # Prerequisites of lib/getline.c.
4692 AC_DEFUN([gl_PREREQ_GETLINE],
4694 AC_CHECK_FUNCS(getdelim)
4697 # getndelim2.m4 serial 1
4698 dnl Copyright (C) 2003 Free Software Foundation, Inc.
4699 dnl This file is free software, distributed under the terms of the GNU
4700 dnl General Public License. As a special exception to the GNU General
4701 dnl Public License, this file may be distributed as part of a program
4702 dnl that contains a configuration script generated by Autoconf, under
4703 dnl the same distribution terms as the rest of that program.
4705 AC_DEFUN([gl_GETNDELIM2],
4707 gl_PREREQ_GETNDELIM2
4710 # Prerequisites of lib/getndelim2.h and lib/getndelim2.c.
4711 AC_DEFUN([gl_PREREQ_GETNDELIM2],
4713 dnl Prerequisites of lib/getndelim2.h.
4714 AC_REQUIRE([gt_TYPE_SSIZE_T])
4715 dnl Prerequisites of lib/getndelim2.c.
4716 AC_REQUIRE([AC_HEADER_STDC])
4719 # ssize_t.m4 serial 3 (gettext-0.12.2)
4720 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
4721 dnl This file is free software, distributed under the terms of the GNU
4722 dnl General Public License. As a special exception to the GNU General
4723 dnl Public License, this file may be distributed as part of a program
4724 dnl that contains a configuration script generated by Autoconf, under
4725 dnl the same distribution terms as the rest of that program.
4727 dnl From Bruno Haible.
4728 dnl Test whether ssize_t is defined.
4730 AC_DEFUN([gt_TYPE_SSIZE_T],
4732 AC_CACHE_CHECK([for ssize_t], gt_cv_ssize_t,
4733 [AC_TRY_COMPILE([#include <sys/types.h>],
4734 [int x = sizeof (ssize_t *) + sizeof (ssize_t);],
4735 gt_cv_ssize_t=yes, gt_cv_ssize_t=no)])
4736 if test $gt_cv_ssize_t = no; then
4737 AC_DEFINE(ssize_t, int,
4738 [Define as a signed type of the same size as size_t.])
4743 # Determine approximately how many files may be open simultaneously
4744 # in one process. This is approximate, since while running this test,
4745 # the configure script already has a few files open.
4748 AC_DEFUN([UTILS_SYS_OPEN_MAX],
4750 AC_CACHE_CHECK([determine how many files may be open simultaneously],
4751 utils_cv_sys_open_max,
4753 AC_RUN_IFELSE([AC_LANG_SOURCE([[
4760 FILE *result = fopen ("conftest.omax", "w");
4762 /* Impose an arbitrary limit, in case some system has no
4763 effective limit on the number of simultaneously open files. */
4766 FILE *s = fopen ("conftest.op", "w");
4771 fprintf (result, "%d\n", i);
4772 exit (fclose (result) == EOF);
4775 [utils_cv_sys_open_max=`cat conftest.omax`],
4776 [utils_cv_sys_open_max='internal error in open-max.m4'],
4777 [utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
4779 AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
4780 $utils_cv_sys_open_max,
4781 [the maximum number of simultaneously open files per process])
4785 # Check whether getcwd has the bug that it succeeds for a working directory
4786 # longer than PATH_MAX, yet returns a truncated directory name.
4787 # If so, arrange to compile the wrapper function.
4789 # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
4790 # I've heard that this is due to a Linux kernel bug, and that it has
4791 # been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
4795 AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
4797 AC_CHECK_DECLS([getcwd])
4798 AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
4799 gl_cv_func_getcwd_vs_path_max,
4801 # Arrange for deletion of the temporary directory this test creates.
4802 ac_clean_files="$ac_clean_files confdir3"
4803 AC_RUN_IFELSE([AC_LANG_SOURCE([[
4808 #include <sys/stat.h>
4809 #include <sys/types.h>
4811 /* Don't get link errors because mkdir is redefined to rpl_mkdir. */
4818 /* The extra casts work around common compiler bugs. */
4819 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
4820 /* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
4821 It is necessary at least when t == time_t. */
4822 #define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
4823 ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
4824 #define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
4827 # define INT_MAX TYPE_MAXIMUM (int)
4830 /* The length of this name must be 8. */
4831 #define DIR_NAME "confdir3"
4837 /* The Hurd doesn't define this, so getcwd can't exhibit the bug --
4838 at least not on a local file system. And if we were to start worrying
4839 about remote file systems, we'd have to enable the wrapper function
4840 all of the time, just to be safe. That's not worth the cost. */
4842 #elif INT_MAX - 9 <= PATH_MAX
4843 /* The '9', above, comes from strlen (DIR_NAME) + 1. */
4844 /* FIXME: Assuming there's a system for which this is true,
4845 this should be done in a compile test. */
4848 char buf[PATH_MAX + 20];
4849 char *cwd = getcwd (buf, PATH_MAX);
4852 size_t n_chdirs = 0;
4857 cwd_len = strlen (cwd);
4864 cwd_len += 1 + strlen (DIR_NAME);
4865 /* If mkdir or chdir fails, be pessimistic and consider that
4866 as a failure, too. */
4867 if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
4872 if ((c = getcwd (buf, PATH_MAX)) == NULL)
4874 /* This allows any failure to indicate there is no bug.
4875 FIXME: check errno? */
4878 if ((len = strlen (c)) != cwd_len)
4888 /* Leaving behind such a deep directory is not polite.
4889 So clean up here, right away, even though the driving
4890 shell script would also clean up. */
4894 /* Unlink first, in case the chdir failed. */
4896 for (i = 0; i <= n_chdirs; i++)
4898 if (chdir ("..") < 0)
4908 [gl_cv_func_getcwd_vs_path_max=yes],
4909 [gl_cv_func_getcwd_vs_path_max=no],
4910 [gl_cv_func_getcwd_vs_path_max=no])])
4912 if test $gl_cv_func_getcwd_vs_path_max = yes; then
4914 AC_DEFINE(getcwd, rpl_getcwd,
4915 [Define to rpl_getcwd if the wrapper function should be used.])
4921 dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
4922 dnl to test whether a NULL return value really means there are no more files
4923 dnl in the directory.
4925 dnl And the rm from coreutils-5.0 exposes a similar problem when there
4926 dnl are 338 or more files in a directory on a Darwin-6.5 system
4928 dnl Detect the problem by creating a directory containing 500 files (254 not
4929 dnl counting . and .. is the minimum for SunOS, 338 for Darwin) and see
4930 dnl if a loop doing `readdir; unlink' removes all of them.
4932 dnl Define HAVE_WORKING_READDIR if readdir does *not* have this problem.
4934 dnl Written by Jim Meyering.
4936 AC_DEFUN([GL_FUNC_READDIR],
4938 AC_REQUIRE([AC_HEADER_DIRENT])
4939 AC_CHECK_HEADERS(string.h)
4940 AC_CACHE_CHECK([for working readdir], gl_cv_func_working_readdir,
4942 # Arrange for deletion of the temporary directory this test creates, in
4943 # case the test itself fails to delete everything -- as happens on Sunos.
4944 ac_clean_files="$ac_clean_files conf-dir"
4947 [# include <stdio.h>
4948 # include <sys/types.h>
4950 # include <string.h>
4953 # ifdef HAVE_DIRENT_H
4954 # include <dirent.h>
4955 # define NLENGTH(direct) (strlen((direct)->d_name))
4956 # else /* not HAVE_DIRENT_H */
4957 # define dirent direct
4958 # define NLENGTH(direct) ((direct)->d_namlen)
4959 # ifdef HAVE_SYS_NDIR_H
4960 # include <sys/ndir.h>
4961 # endif /* HAVE_SYS_NDIR_H */
4962 # ifdef HAVE_SYS_DIR_H
4963 # include <sys/dir.h>
4964 # endif /* HAVE_SYS_DIR_H */
4967 # endif /* HAVE_NDIR_H */
4968 # endif /* HAVE_DIRENT_H */
4970 # define DOT_OR_DOTDOT(Basename) \
4971 (Basename[0] == '.' && (Basename[1] == '\0' \
4972 || (Basename[1] == '.' && Basename[2] == '\0')))
4974 /* Don't try to use replacement mkdir; it wouldn't resolve at link time. */
4978 create_N_file_dir (const char *dir, size_t n_files)
4982 if (mkdir (dir, 0700))
4987 for (i = 0; i < n_files; i++)
4992 sprintf (file_name, "%03d", i);
4993 out = fopen (file_name, "w");
4996 if (fclose (out) == EOF)
5005 remove_dir (const char *dir)
5012 dirp = opendir (".");
5018 struct dirent *dp = readdir (dirp);
5022 if (DOT_OR_DOTDOT (dp->d_name))
5025 if (unlink (dp->d_name))
5040 const char *dir = "conf-dir";
5041 create_N_file_dir (dir, 500);
5045 gl_cv_func_working_readdir=yes,
5046 gl_cv_func_working_readdir=no,
5047 gl_cv_func_working_readdir=no)])
5049 if test $gl_cv_func_working_readdir = yes; then
5050 AC_DEFINE(HAVE_WORKING_READDIR, 1,
5051 [Define if readdir is found to work properly in some unusual cases. ])
5055 # codeset.m4 serial AM1 (gettext-0.10.40)
5056 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5057 dnl This file is free software, distributed under the terms of the GNU
5058 dnl General Public License. As a special exception to the GNU General
5059 dnl Public License, this file may be distributed as part of a program
5060 dnl that contains a configuration script generated by Autoconf, under
5061 dnl the same distribution terms as the rest of that program.
5063 dnl From Bruno Haible.
5065 AC_DEFUN([AM_LANGINFO_CODESET],
5067 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
5068 [AC_TRY_LINK([#include <langinfo.h>],
5069 [char* cs = nl_langinfo(CODESET);],
5070 am_cv_langinfo_codeset=yes,
5071 am_cv_langinfo_codeset=no)
5073 if test $am_cv_langinfo_codeset = yes; then
5074 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
5075 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
5079 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
5080 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5081 dnl This file is free software, distributed under the terms of the GNU
5082 dnl General Public License. As a special exception to the GNU General
5083 dnl Public License, this file may be distributed as part of a program
5084 dnl that contains a configuration script generated by Autoconf, under
5085 dnl the same distribution terms as the rest of that program.
5087 # Test for the GNU C Library, version 2.1 or newer.
5088 # From Bruno Haible.
5090 AC_DEFUN([jm_GLIBC21],
5092 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
5093 ac_cv_gnu_library_2_1,
5094 [AC_EGREP_CPP([Lucky GNU user],
5096 #include <features.h>
5097 #ifdef __GNU_LIBRARY__
5098 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
5103 ac_cv_gnu_library_2_1=yes,
5104 ac_cv_gnu_library_2_1=no)
5108 GLIBC21="$ac_cv_gnu_library_2_1"
5112 # iconv.m4 serial AM4 (gettext-0.11.3)
5113 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
5114 dnl This file is free software, distributed under the terms of the GNU
5115 dnl General Public License. As a special exception to the GNU General
5116 dnl Public License, this file may be distributed as part of a program
5117 dnl that contains a configuration script generated by Autoconf, under
5118 dnl the same distribution terms as the rest of that program.
5120 dnl From Bruno Haible.
5122 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
5124 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
5125 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5126 AC_REQUIRE([AC_LIB_RPATH])
5128 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5130 AC_LIB_LINKFLAGS_BODY([iconv])
5133 AC_DEFUN([AM_ICONV_LINK],
5135 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
5136 dnl those with the standalone portable GNU libiconv installed).
5138 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
5140 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
5142 dnl Add $INCICONV to CPPFLAGS before performing the following checks,
5143 dnl because if the user has installed libiconv and not disabled its use
5144 dnl via --without-libiconv-prefix, he wants to use it. The first
5145 dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
5146 am_save_CPPFLAGS="$CPPFLAGS"
5147 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
5149 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
5150 am_cv_func_iconv="no, consider installing GNU libiconv"
5152 AC_TRY_LINK([#include <stdlib.h>
5153 #include <iconv.h>],
5154 [iconv_t cd = iconv_open("","");
5155 iconv(cd,NULL,NULL,NULL,NULL);
5157 am_cv_func_iconv=yes)
5158 if test "$am_cv_func_iconv" != yes; then
5159 am_save_LIBS="$LIBS"
5160 LIBS="$LIBS $LIBICONV"
5161 AC_TRY_LINK([#include <stdlib.h>
5162 #include <iconv.h>],
5163 [iconv_t cd = iconv_open("","");
5164 iconv(cd,NULL,NULL,NULL,NULL);
5167 am_cv_func_iconv=yes)
5168 LIBS="$am_save_LIBS"
5171 if test "$am_cv_func_iconv" = yes; then
5172 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
5174 if test "$am_cv_lib_iconv" = yes; then
5175 AC_MSG_CHECKING([how to link with libiconv])
5176 AC_MSG_RESULT([$LIBICONV])
5178 dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
5180 CPPFLAGS="$am_save_CPPFLAGS"
5185 AC_SUBST(LTLIBICONV)
5188 AC_DEFUN([AM_ICONV],
5191 if test "$am_cv_func_iconv" = yes; then
5192 AC_MSG_CHECKING([for iconv declaration])
5193 AC_CACHE_VAL(am_cv_proto_iconv, [
5201 #if defined(__STDC__) || defined(__cplusplus)
5202 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
5206 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
5207 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);"])
5208 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
5209 AC_MSG_RESULT([$]{ac_t:-
5210 }[$]am_cv_proto_iconv)
5211 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
5212 [Define as const if the declaration of iconv() needs const.])
5216 # lib-prefix.m4 serial 1 (gettext-0.11)
5217 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5218 dnl This file is free software, distributed under the terms of the GNU
5219 dnl General Public License. As a special exception to the GNU General
5220 dnl Public License, this file may be distributed as part of a program
5221 dnl that contains a configuration script generated by Autoconf, under
5222 dnl the same distribution terms as the rest of that program.
5224 dnl From Bruno Haible.
5226 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
5227 dnl to access previously installed libraries. The basic assumption is that
5228 dnl a user will want packages to use other packages he previously installed
5229 dnl with the same --prefix option.
5230 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
5231 dnl libraries, but is otherwise very convenient.
5232 AC_DEFUN([AC_LIB_PREFIX],
5234 AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
5235 AC_REQUIRE([AC_PROG_CC])
5236 AC_REQUIRE([AC_CANONICAL_HOST])
5237 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5238 dnl By default, look in $includedir and $libdir.
5240 AC_LIB_WITH_FINAL_PREFIX([
5241 eval additional_includedir=\"$includedir\"
5242 eval additional_libdir=\"$libdir\"
5244 AC_ARG_WITH([lib-prefix],
5245 [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
5246 --without-lib-prefix don't search for libraries in includedir and libdir],
5248 if test "X$withval" = "Xno"; then
5251 if test "X$withval" = "X"; then
5252 AC_LIB_WITH_FINAL_PREFIX([
5253 eval additional_includedir=\"$includedir\"
5254 eval additional_libdir=\"$libdir\"
5257 additional_includedir="$withval/include"
5258 additional_libdir="$withval/lib"
5262 if test $use_additional = yes; then
5263 dnl Potentially add $additional_includedir to $CPPFLAGS.
5264 dnl But don't add it
5265 dnl 1. if it's the standard /usr/include,
5266 dnl 2. if it's already present in $CPPFLAGS,
5267 dnl 3. if it's /usr/local/include and we are using GCC on Linux,
5268 dnl 4. if it doesn't exist as a directory.
5269 if test "X$additional_includedir" != "X/usr/include"; then
5271 for x in $CPPFLAGS; do
5272 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5273 if test "X$x" = "X-I$additional_includedir"; then
5278 if test -z "$haveit"; then
5279 if test "X$additional_includedir" = "X/usr/local/include"; then
5280 if test -n "$GCC"; then
5282 linux*) haveit=yes;;
5286 if test -z "$haveit"; then
5287 if test -d "$additional_includedir"; then
5288 dnl Really add $additional_includedir to $CPPFLAGS.
5289 CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
5294 dnl Potentially add $additional_libdir to $LDFLAGS.
5295 dnl But don't add it
5296 dnl 1. if it's the standard /usr/lib,
5297 dnl 2. if it's already present in $LDFLAGS,
5298 dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
5299 dnl 4. if it doesn't exist as a directory.
5300 if test "X$additional_libdir" != "X/usr/lib"; then
5302 for x in $LDFLAGS; do
5303 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5304 if test "X$x" = "X-L$additional_libdir"; then
5309 if test -z "$haveit"; then
5310 if test "X$additional_libdir" = "X/usr/local/lib"; then
5311 if test -n "$GCC"; then
5313 linux*) haveit=yes;;
5317 if test -z "$haveit"; then
5318 if test -d "$additional_libdir"; then
5319 dnl Really add $additional_libdir to $LDFLAGS.
5320 LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
5328 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
5329 dnl acl_final_exec_prefix, containing the values to which $prefix and
5330 dnl $exec_prefix will expand at the end of the configure script.
5331 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
5333 dnl Unfortunately, prefix and exec_prefix get only finally determined
5334 dnl at the end of configure.
5335 if test "X$prefix" = "XNONE"; then
5336 acl_final_prefix="$ac_default_prefix"
5338 acl_final_prefix="$prefix"
5340 if test "X$exec_prefix" = "XNONE"; then
5341 acl_final_exec_prefix='${prefix}'
5343 acl_final_exec_prefix="$exec_prefix"
5345 acl_save_prefix="$prefix"
5346 prefix="$acl_final_prefix"
5347 eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
5348 prefix="$acl_save_prefix"
5351 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
5352 dnl variables prefix and exec_prefix bound to the values they will have
5353 dnl at the end of the configure script.
5354 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
5356 acl_save_prefix="$prefix"
5357 prefix="$acl_final_prefix"
5358 acl_save_exec_prefix="$exec_prefix"
5359 exec_prefix="$acl_final_exec_prefix"
5361 exec_prefix="$acl_save_exec_prefix"
5362 prefix="$acl_save_prefix"
5365 # lib-link.m4 serial 3 (gettext-0.11.3)
5366 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
5367 dnl This file is free software, distributed under the terms of the GNU
5368 dnl General Public License. As a special exception to the GNU General
5369 dnl Public License, this file may be distributed as part of a program
5370 dnl that contains a configuration script generated by Autoconf, under
5371 dnl the same distribution terms as the rest of that program.
5373 dnl From Bruno Haible.
5375 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
5376 dnl the libraries corresponding to explicit and implicit dependencies.
5377 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
5378 dnl augments the CPPFLAGS variable.
5379 AC_DEFUN([AC_LIB_LINKFLAGS],
5381 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5382 AC_REQUIRE([AC_LIB_RPATH])
5383 define([Name],[translit([$1],[./-], [___])])
5384 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5385 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5386 AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
5387 AC_LIB_LINKFLAGS_BODY([$1], [$2])
5388 ac_cv_lib[]Name[]_libs="$LIB[]NAME"
5389 ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
5390 ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
5392 LIB[]NAME="$ac_cv_lib[]Name[]_libs"
5393 LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
5394 INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
5395 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5397 AC_SUBST([LTLIB]NAME)
5398 dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
5399 dnl results of this search when this library appears as a dependency.
5405 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
5406 dnl searches for libname and the libraries corresponding to explicit and
5407 dnl implicit dependencies, together with the specified include files and
5408 dnl the ability to compile and link the specified testcode. If found, it
5409 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
5410 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
5411 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
5412 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
5413 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
5415 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5416 AC_REQUIRE([AC_LIB_RPATH])
5417 define([Name],[translit([$1],[./-], [___])])
5418 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5419 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5421 dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
5423 AC_LIB_LINKFLAGS_BODY([$1], [$2])
5425 dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
5426 dnl because if the user has installed lib[]Name and not disabled its use
5427 dnl via --without-lib[]Name-prefix, he wants to use it.
5428 ac_save_CPPFLAGS="$CPPFLAGS"
5429 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
5431 AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
5432 ac_save_LIBS="$LIBS"
5433 LIBS="$LIBS $LIB[]NAME"
5434 AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
5435 LIBS="$ac_save_LIBS"
5437 if test "$ac_cv_lib[]Name" = yes; then
5439 AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
5440 AC_MSG_CHECKING([how to link with lib[]$1])
5441 AC_MSG_RESULT([$LIB[]NAME])
5444 dnl If $LIB[]NAME didn't lead to a usable library, we don't need
5445 dnl $INC[]NAME either.
5446 CPPFLAGS="$ac_save_CPPFLAGS"
5450 AC_SUBST([HAVE_LIB]NAME)
5452 AC_SUBST([LTLIB]NAME)
5457 dnl Determine the platform dependent parameters needed to use rpath:
5458 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
5459 dnl hardcode_direct, hardcode_minus_L,
5460 dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
5461 AC_DEFUN([AC_LIB_RPATH],
5463 AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
5464 AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
5465 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
5466 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
5467 AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
5468 CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
5469 ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
5475 libext="$acl_cv_libext"
5476 shlibext="$acl_cv_shlibext"
5477 hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
5478 hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
5479 hardcode_direct="$acl_cv_hardcode_direct"
5480 hardcode_minus_L="$acl_cv_hardcode_minus_L"
5481 sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
5482 sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
5483 dnl Determine whether the user wants rpath handling at all.
5484 AC_ARG_ENABLE(rpath,
5485 [ --disable-rpath do not hardcode runtime library paths],
5486 :, enable_rpath=yes)
5489 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
5490 dnl the libraries corresponding to explicit and implicit dependencies.
5491 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
5492 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
5494 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
5495 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
5496 dnl By default, look in $includedir and $libdir.
5498 AC_LIB_WITH_FINAL_PREFIX([
5499 eval additional_includedir=\"$includedir\"
5500 eval additional_libdir=\"$libdir\"
5502 AC_ARG_WITH([lib$1-prefix],
5503 [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
5504 --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
5506 if test "X$withval" = "Xno"; then
5509 if test "X$withval" = "X"; then
5510 AC_LIB_WITH_FINAL_PREFIX([
5511 eval additional_includedir=\"$includedir\"
5512 eval additional_libdir=\"$libdir\"
5515 additional_includedir="$withval/include"
5516 additional_libdir="$withval/lib"
5520 dnl Search the library and its dependencies in $additional_libdir and
5521 dnl $LDFLAGS. Using breadth-first-seach.
5527 names_already_handled=
5528 names_next_round='$1 $2'
5529 while test -n "$names_next_round"; do
5530 names_this_round="$names_next_round"
5532 for name in $names_this_round; do
5534 for n in $names_already_handled; do
5535 if test "$n" = "$name"; then
5540 if test -z "$already_handled"; then
5541 names_already_handled="$names_already_handled $name"
5542 dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
5543 dnl or AC_LIB_HAVE_LINKFLAGS call.
5544 uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
5545 eval value=\"\$HAVE_LIB$uppername\"
5546 if test -n "$value"; then
5547 if test "$value" = yes; then
5548 eval value=\"\$LIB$uppername\"
5549 test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
5550 eval value=\"\$LTLIB$uppername\"
5551 test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
5553 dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
5554 dnl that this library doesn't exist. So just drop it.
5558 dnl Search the library lib$name in $additional_libdir and $LDFLAGS
5559 dnl and the already constructed $LIBNAME/$LTLIBNAME.
5564 if test $use_additional = yes; then
5565 if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
5566 found_dir="$additional_libdir"
5567 found_so="$additional_libdir/lib$name.$shlibext"
5568 if test -f "$additional_libdir/lib$name.la"; then
5569 found_la="$additional_libdir/lib$name.la"
5572 if test -f "$additional_libdir/lib$name.$libext"; then
5573 found_dir="$additional_libdir"
5574 found_a="$additional_libdir/lib$name.$libext"
5575 if test -f "$additional_libdir/lib$name.la"; then
5576 found_la="$additional_libdir/lib$name.la"
5581 if test "X$found_dir" = "X"; then
5582 for x in $LDFLAGS $LTLIB[]NAME; do
5583 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5586 dir=`echo "X$x" | sed -e 's/^X-L//'`
5587 if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
5589 found_so="$dir/lib$name.$shlibext"
5590 if test -f "$dir/lib$name.la"; then
5591 found_la="$dir/lib$name.la"
5594 if test -f "$dir/lib$name.$libext"; then
5596 found_a="$dir/lib$name.$libext"
5597 if test -f "$dir/lib$name.la"; then
5598 found_la="$dir/lib$name.la"
5604 if test "X$found_dir" != "X"; then
5609 if test "X$found_dir" != "X"; then
5610 dnl Found the library.
5611 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
5612 if test "X$found_so" != "X"; then
5613 dnl Linking with a shared library. We attempt to hardcode its
5614 dnl directory into the executable's runpath, unless it's the
5615 dnl standard /usr/lib.
5616 if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
5617 dnl No hardcoding is needed.
5618 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5620 dnl Use an explicit option to hardcode DIR into the resulting
5622 dnl Potentially add DIR to ltrpathdirs.
5623 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5625 for x in $ltrpathdirs; do
5626 if test "X$x" = "X$found_dir"; then
5631 if test -z "$haveit"; then
5632 ltrpathdirs="$ltrpathdirs $found_dir"
5634 dnl The hardcoding into $LIBNAME is system dependent.
5635 if test "$hardcode_direct" = yes; then
5636 dnl Using DIR/libNAME.so during linking hardcodes DIR into the
5637 dnl resulting binary.
5638 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5640 if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
5641 dnl Use an explicit option to hardcode DIR into the resulting
5643 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5644 dnl Potentially add DIR to rpathdirs.
5645 dnl The rpathdirs will be appended to $LIBNAME at the end.
5647 for x in $rpathdirs; do
5648 if test "X$x" = "X$found_dir"; then
5653 if test -z "$haveit"; then
5654 rpathdirs="$rpathdirs $found_dir"
5657 dnl Rely on "-L$found_dir".
5658 dnl But don't add it if it's already contained in the LDFLAGS
5659 dnl or the already constructed $LIBNAME
5661 for x in $LDFLAGS $LIB[]NAME; do
5662 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5663 if test "X$x" = "X-L$found_dir"; then
5668 if test -z "$haveit"; then
5669 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
5671 if test "$hardcode_minus_L" != no; then
5672 dnl FIXME: Not sure whether we should use
5673 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5675 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
5677 dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
5678 dnl here, because this doesn't fit in flags passed to the
5679 dnl compiler. So give up. No hardcoding. This affects only
5680 dnl very old systems.
5681 dnl FIXME: Not sure whether we should use
5682 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
5684 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5690 if test "X$found_a" != "X"; then
5691 dnl Linking with a static library.
5692 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
5694 dnl We shouldn't come here, but anyway it's good to have a
5696 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
5699 dnl Assume the include files are nearby.
5700 additional_includedir=
5701 case "$found_dir" in
5703 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
5704 additional_includedir="$basedir/include"
5707 if test "X$additional_includedir" != "X"; then
5708 dnl Potentially add $additional_includedir to $INCNAME.
5709 dnl But don't add it
5710 dnl 1. if it's the standard /usr/include,
5711 dnl 2. if it's /usr/local/include and we are using GCC on Linux,
5712 dnl 3. if it's already present in $CPPFLAGS or the already
5713 dnl constructed $INCNAME,
5714 dnl 4. if it doesn't exist as a directory.
5715 if test "X$additional_includedir" != "X/usr/include"; then
5717 if test "X$additional_includedir" = "X/usr/local/include"; then
5718 if test -n "$GCC"; then
5720 linux*) haveit=yes;;
5724 if test -z "$haveit"; then
5725 for x in $CPPFLAGS $INC[]NAME; do
5726 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5727 if test "X$x" = "X-I$additional_includedir"; then
5732 if test -z "$haveit"; then
5733 if test -d "$additional_includedir"; then
5734 dnl Really add $additional_includedir to $INCNAME.
5735 INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
5741 dnl Look for dependencies.
5742 if test -n "$found_la"; then
5743 dnl Read the .la file. It defines the variables
5744 dnl dlname, library_names, old_library, dependency_libs, current,
5745 dnl age, revision, installed, dlopen, dlpreopen, libdir.
5746 save_libdir="$libdir"
5748 */* | *\\*) . "$found_la" ;;
5749 *) . "./$found_la" ;;
5751 libdir="$save_libdir"
5752 dnl We use only dependency_libs.
5753 for dep in $dependency_libs; do
5756 additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
5757 dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
5758 dnl But don't add it
5759 dnl 1. if it's the standard /usr/lib,
5760 dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
5761 dnl 3. if it's already present in $LDFLAGS or the already
5762 dnl constructed $LIBNAME,
5763 dnl 4. if it doesn't exist as a directory.
5764 if test "X$additional_libdir" != "X/usr/lib"; then
5766 if test "X$additional_libdir" = "X/usr/local/lib"; then
5767 if test -n "$GCC"; then
5769 linux*) haveit=yes;;
5773 if test -z "$haveit"; then
5775 for x in $LDFLAGS $LIB[]NAME; do
5776 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5777 if test "X$x" = "X-L$additional_libdir"; then
5782 if test -z "$haveit"; then
5783 if test -d "$additional_libdir"; then
5784 dnl Really add $additional_libdir to $LIBNAME.
5785 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
5789 for x in $LDFLAGS $LTLIB[]NAME; do
5790 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5791 if test "X$x" = "X-L$additional_libdir"; then
5796 if test -z "$haveit"; then
5797 if test -d "$additional_libdir"; then
5798 dnl Really add $additional_libdir to $LTLIBNAME.
5799 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
5806 dir=`echo "X$dep" | sed -e 's/^X-R//'`
5807 if test "$enable_rpath" != no; then
5808 dnl Potentially add DIR to rpathdirs.
5809 dnl The rpathdirs will be appended to $LIBNAME at the end.
5811 for x in $rpathdirs; do
5812 if test "X$x" = "X$dir"; then
5817 if test -z "$haveit"; then
5818 rpathdirs="$rpathdirs $dir"
5820 dnl Potentially add DIR to ltrpathdirs.
5821 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
5823 for x in $ltrpathdirs; do
5824 if test "X$x" = "X$dir"; then
5829 if test -z "$haveit"; then
5830 ltrpathdirs="$ltrpathdirs $dir"
5835 dnl Handle this in the next round.
5836 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
5839 dnl Handle this in the next round. Throw away the .la's
5840 dnl directory; it is already contained in a preceding -L
5842 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
5845 dnl Most likely an immediate library name.
5846 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
5847 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
5853 dnl Didn't find the library; assume it is in the system directories
5854 dnl known to the linker and runtime loader. (All the system
5855 dnl directories known to the linker should also be known to the
5856 dnl runtime loader, otherwise the system is severely misconfigured.)
5857 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
5858 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
5864 if test "X$rpathdirs" != "X"; then
5865 if test -n "$hardcode_libdir_separator"; then
5866 dnl Weird platform: only the last -rpath option counts, the user must
5867 dnl pass all path elements in one option. We can arrange that for a
5868 dnl single library, but not when more than one $LIBNAMEs are used.
5870 for found_dir in $rpathdirs; do
5871 alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
5873 dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
5874 acl_save_libdir="$libdir"
5876 eval flag=\"$hardcode_libdir_flag_spec\"
5877 libdir="$acl_save_libdir"
5878 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5880 dnl The -rpath options are cumulative.
5881 for found_dir in $rpathdirs; do
5882 acl_save_libdir="$libdir"
5884 eval flag=\"$hardcode_libdir_flag_spec\"
5885 libdir="$acl_save_libdir"
5886 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
5890 if test "X$ltrpathdirs" != "X"; then
5891 dnl When using libtool, the option that works for both libraries and
5892 dnl executables is -R. The -R options are cumulative.
5893 for found_dir in $ltrpathdirs; do
5894 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
5899 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
5900 dnl unless already present in VAR.
5901 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
5902 dnl contains two or three consecutive elements that belong together.
5903 AC_DEFUN([AC_LIB_APPENDTOVAR],
5905 for element in [$2]; do
5908 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
5909 if test "X$x" = "X$element"; then
5914 if test -z "$haveit"; then
5915 [$1]="${[$1]}${[$1]:+ }$element"
5920 # lib-ld.m4 serial 2
5921 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
5922 dnl This file is free software, distributed under the terms of the GNU
5923 dnl General Public License. As a special exception to the GNU General
5924 dnl Public License, this file may be distributed as part of a program
5925 dnl that contains a configuration script generated by Autoconf, under
5926 dnl the same distribution terms as the rest of that program.
5928 dnl Subroutines of libtool.m4,
5929 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
5930 dnl with libtool.m4.
5932 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
5933 AC_DEFUN([AC_LIB_PROG_LD_GNU],
5934 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
5935 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
5936 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
5937 acl_cv_prog_gnu_ld=yes
5939 acl_cv_prog_gnu_ld=no
5941 with_gnu_ld=$acl_cv_prog_gnu_ld
5944 dnl From libtool-1.4. Sets the variable LD.
5945 AC_DEFUN([AC_LIB_PROG_LD],
5946 [AC_ARG_WITH(gnu-ld,
5947 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
5948 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
5949 AC_REQUIRE([AC_PROG_CC])dnl
5950 AC_REQUIRE([AC_CANONICAL_HOST])dnl
5952 if test "$GCC" = yes; then
5953 # Check if gcc -print-prog-name=ld gives a path.
5954 AC_MSG_CHECKING([for ld used by GCC])
5957 # gcc leaves a trailing carriage return which upsets mingw
5958 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
5960 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
5963 # Accept absolute paths.
5964 [[\\/]* | [A-Za-z]:[\\/]*)]
5965 [re_direlt='/[^/][^/]*/\.\./']
5966 # Canonicalize the path of ld
5967 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
5968 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
5969 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
5971 test -z "$LD" && LD="$ac_prog"
5974 # If it fails, then pretend we aren't using GCC.
5978 # If it is relative, then search for the first ld in PATH.
5982 elif test "$with_gnu_ld" = yes; then
5983 AC_MSG_CHECKING([for GNU ld])
5985 AC_MSG_CHECKING([for non-GNU ld])
5987 AC_CACHE_VAL(acl_cv_path_LD,
5988 [if test -z "$LD"; then
5989 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
5990 for ac_dir in $PATH; do
5991 test -z "$ac_dir" && ac_dir=.
5992 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5993 acl_cv_path_LD="$ac_dir/$ac_prog"
5994 # Check to see if the program is GNU ld. I'd rather use --version,
5995 # but apparently some GNU ld's only accept -v.
5996 # Break only if it was the GNU/non-GNU ld that we prefer.
5997 if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
5998 test "$with_gnu_ld" != no && break
6000 test "$with_gnu_ld" != yes && break
6006 acl_cv_path_LD="$LD" # Let the user override the test with a path.
6008 LD="$acl_cv_path_LD"
6009 if test -n "$LD"; then
6014 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
6020 dnl From J. David Anglin.
6022 dnl HPUX and other systems can't unlink shared text that is being executed.
6024 AC_DEFUN([jm_FUNC_UNLINK_BUSY_TEXT],
6026 AC_CACHE_CHECK([whether a running program can be unlinked],
6027 jm_cv_func_unlink_busy_text,
6036 exit (unlink (argv[0]));
6039 jm_cv_func_unlink_busy_text=yes,
6040 jm_cv_func_unlink_busy_text=no,
6041 jm_cv_func_unlink_busy_text=no
6046 if test $jm_cv_func_unlink_busy_text = no; then
6047 INSTALL=$ac_install_sh
6053 dnl From Jim Meyering.
6055 dnl This is not pretty. I've just taken the autoconf code and wrapped
6056 dnl it in an AC_DEFUN.
6059 # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6060 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
6062 AC_CHECK_FUNCS(listmntent getmntinfo)
6063 AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
6064 getfsstat_includes="\
6065 $ac_includes_default
6066 #if HAVE_SYS_PARAM_H
6067 # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
6069 #if HAVE_SYS_UCRED_H
6070 # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
6072 #if HAVE_SYS_MOUNT_H
6073 # include <sys/mount.h>
6075 #if HAVE_SYS_FS_TYPES_H
6076 # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
6079 AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
6081 # Determine how to get the list of mounted filesystems.
6084 # If the getmntent function is available but not in the standard library,
6085 # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
6088 # This test must precede the ones for getmntent because Unicos-9 is
6089 # reported to have the getmntent function, but its support is incompatible
6090 # with other getmntent implementations.
6092 # NOTE: Normally, I wouldn't use a check for system type as I've done for
6093 # `CRAY' below since that goes against the whole autoconf philosophy. But
6094 # I think there is too great a chance that some non-Cray system has a
6095 # function named listmntent to risk the false positive.
6097 if test -z "$ac_list_mounted_fs"; then
6099 AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
6100 AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
6101 [fu_cv_sys_mounted_cray_listmntent=no
6106 ], [test $ac_cv_func_listmntent = yes \
6107 && fu_cv_sys_mounted_cray_listmntent=yes]
6111 AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
6112 if test $fu_cv_sys_mounted_cray_listmntent = yes; then
6113 ac_list_mounted_fs=found
6114 AC_DEFINE(MOUNTED_LISTMNTENT, 1,
6115 [Define if there is a function named listmntent that can be used to
6116 list all mounted filesystems. (UNICOS)])
6120 if test -z "$ac_list_mounted_fs"; then
6122 AC_MSG_CHECKING([for mntctl function and struct vmount])
6123 AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
6124 [AC_TRY_CPP([#include <fshelp.h>],
6125 fu_cv_sys_mounted_vmount=yes,
6126 fu_cv_sys_mounted_vmount=no)])
6127 AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
6128 if test $fu_cv_sys_mounted_vmount = yes; then
6129 ac_list_mounted_fs=found
6130 AC_DEFINE(MOUNTED_VMOUNT, 1,
6131 [Define if there is a function named mntctl that can be used to read
6132 the list of mounted filesystems, and there is a system header file
6133 that declares `struct vmount.' (AIX)])
6137 if test $ac_cv_func_getmntent = yes; then
6139 # This system has the getmntent function.
6140 # Determine whether it's the one-argument variant or the two-argument one.
6142 if test -z "$ac_list_mounted_fs"; then
6143 # 4.3BSD, SunOS, HP-UX, Dynix, Irix
6144 AC_MSG_CHECKING([for one-argument getmntent function])
6145 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
6147 /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
6151 #if !defined MOUNTED
6152 # if defined _PATH_MOUNTED /* GNU libc */
6153 # define MOUNTED _PATH_MOUNTED
6155 # if defined MNT_MNTTAB /* HP-UX. */
6156 # define MOUNTED MNT_MNTTAB
6158 # if defined MNTTABNAME /* Dynix. */
6159 # define MOUNTED MNTTABNAME
6163 [ struct mntent *mnt = 0; char *table = MOUNTED; ],
6164 fu_cv_sys_mounted_getmntent1=yes,
6165 fu_cv_sys_mounted_getmntent1=no)])
6166 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
6167 if test $fu_cv_sys_mounted_getmntent1 = yes; then
6168 ac_list_mounted_fs=found
6169 AC_DEFINE(MOUNTED_GETMNTENT1, 1,
6170 [Define if there is a function named getmntent for reading the list
6171 of mounted filesystems, and that function takes a single argument.
6172 (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
6176 if test -z "$ac_list_mounted_fs"; then
6178 AC_MSG_CHECKING([for two-argument getmntent function])
6179 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
6180 [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
6181 fu_cv_sys_mounted_getmntent2=yes,
6182 fu_cv_sys_mounted_getmntent2=no)])
6183 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
6184 if test $fu_cv_sys_mounted_getmntent2 = yes; then
6185 ac_list_mounted_fs=found
6186 AC_DEFINE(MOUNTED_GETMNTENT2, 1,
6187 [Define if there is a function named getmntent for reading the list of
6188 mounted filesystems, and that function takes two arguments. (SVR4)])
6194 if test -z "$ac_list_mounted_fs"; then
6195 # DEC Alpha running OSF/1, and Apple Darwin 1.3.
6196 # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
6198 AC_MSG_CHECKING([for getfsstat function])
6199 AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
6201 #include <sys/types.h>
6202 #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
6203 # define FS_TYPE(Ent) ((Ent).f_fstypename)
6205 # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
6207 ]$getfsstat_includes
6209 [struct statfs *stats;
6210 int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
6211 char *t = FS_TYPE (*stats); ],
6212 fu_cv_sys_mounted_getfsstat=yes,
6213 fu_cv_sys_mounted_getfsstat=no)])
6214 AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
6215 if test $fu_cv_sys_mounted_getfsstat = yes; then
6216 ac_list_mounted_fs=found
6217 AC_DEFINE(MOUNTED_GETFSSTAT, 1,
6218 [Define if there is a function named getfsstat for reading the
6219 list of mounted filesystems. (DEC Alpha running OSF/1)])
6223 if test -z "$ac_list_mounted_fs"; then
6225 AC_MSG_CHECKING([for FIXME existence of three headers])
6226 AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
6228 #include <sys/statfs.h>
6229 #include <sys/fstyp.h>
6230 #include <mnttab.h>],
6231 fu_cv_sys_mounted_fread_fstyp=yes,
6232 fu_cv_sys_mounted_fread_fstyp=no)])
6233 AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
6234 if test $fu_cv_sys_mounted_fread_fstyp = yes; then
6235 ac_list_mounted_fs=found
6236 AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
6237 [Define if (like SVR2) there is no specific function for reading the
6238 list of mounted filesystems, and your system has these header files:
6239 <sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
6243 if test -z "$ac_list_mounted_fs"; then
6244 # 4.4BSD and DEC OSF/1.
6245 AC_MSG_CHECKING([for getmntinfo function])
6246 AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
6248 test "$ac_cv_func_getmntinfo" = yes \
6249 && fu_cv_sys_mounted_getmntinfo=yes \
6250 || fu_cv_sys_mounted_getmntinfo=no
6252 AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
6253 if test $fu_cv_sys_mounted_getmntinfo = yes; then
6254 ac_list_mounted_fs=found
6255 AC_DEFINE(MOUNTED_GETMNTINFO, 1,
6256 [Define if there is a function named getmntinfo for reading the
6257 list of mounted filesystems. (4.4BSD, Darwin)])
6261 if test -z "$ac_list_mounted_fs"; then
6263 AC_MSG_CHECKING([for getmnt function])
6264 AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
6266 #include <sys/fs_types.h>
6267 #include <sys/mount.h>],
6268 fu_cv_sys_mounted_getmnt=yes,
6269 fu_cv_sys_mounted_getmnt=no)])
6270 AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
6271 if test $fu_cv_sys_mounted_getmnt = yes; then
6272 ac_list_mounted_fs=found
6273 AC_DEFINE(MOUNTED_GETMNT, 1,
6274 [Define if there is a function named getmnt for reading the list of
6275 mounted filesystems. (Ultrix)])
6279 if test -z "$ac_list_mounted_fs"; then
6281 AC_CHECK_FUNCS(next_dev fs_stat_dev)
6282 AC_CHECK_HEADERS(fs_info.h)
6283 AC_MSG_CHECKING([for BEOS mounted file system support functions])
6284 if test $ac_cv_header_fs_info_h = yes \
6285 && test $ac_cv_func_next_dev = yes \
6286 && test $ac_cv_func_fs_stat_dev = yes; then
6291 AC_MSG_RESULT($fu_result)
6292 if test $fu_result = yes; then
6293 ac_list_mounted_fs=found
6294 AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
6295 [Define if there are functions named next_dev and fs_stat_dev for
6296 reading the list of mounted filesystems. (BeOS)])
6300 if test -z "$ac_list_mounted_fs"; then
6302 AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
6303 AC_CACHE_VAL(fu_cv_sys_mounted_fread,
6304 [AC_TRY_CPP([#include <mnttab.h>],
6305 fu_cv_sys_mounted_fread=yes,
6306 fu_cv_sys_mounted_fread=no)])
6307 AC_MSG_RESULT($fu_cv_sys_mounted_fread)
6308 if test $fu_cv_sys_mounted_fread = yes; then
6309 ac_list_mounted_fs=found
6310 AC_DEFINE(MOUNTED_FREAD, 1,
6311 [Define if there is no specific function for reading the list of
6312 mounted filesystems. fread will be used to read /etc/mnttab. (SVR2) ])
6316 if test -z "$ac_list_mounted_fs"; then
6317 AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
6318 # FIXME -- no need to abort building the whole package
6319 # Can't build mountlist.c or anything that needs its functions
6322 AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
6328 dnl From Jim Meyering.
6330 dnl See if struct statfs has the f_fstypename member.
6331 dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
6334 AC_DEFUN([jm_FSTYPENAME],
6336 AC_CACHE_CHECK([for f_fstypename in struct statfs],
6337 fu_cv_sys_f_fstypename_in_statfs,
6341 #include <sys/param.h>
6342 #include <sys/types.h>
6343 #include <sys/mount.h>
6345 [struct statfs s; int i = sizeof s.f_fstypename;],
6346 fu_cv_sys_f_fstypename_in_statfs=yes,
6347 fu_cv_sys_f_fstypename_in_statfs=no
6352 if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
6353 AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
6354 [Define if struct statfs has the f_fstypename member.])
6361 # From fileutils/configure.in
6363 # Try to determine how a program can obtain filesystem usage information.
6364 # If successful, define the appropriate symbol (see fsusage.c) and
6365 # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND.
6367 # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6369 AC_DEFUN([jm_FILE_SYSTEM_USAGE],
6372 echo "checking how to get filesystem space usage..."
6375 # Perform only the link test since it seems there are no variants of the
6376 # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
6377 # because that got a false positive on SCO OSR5. Adding the declaration
6378 # of a `struct statvfs' causes this test to fail (as it should) on such
6379 # systems. That system is reported to work fine with STAT_STATFS4 which
6380 # is what it gets when this test fails.
6381 if test $ac_fsusage_space = no; then
6383 AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
6384 [AC_TRY_LINK([#include <sys/types.h>
6386 Do not use statvfs on systems with GNU libc, because that function stats
6387 all preceding entries in /proc/mounts, and that makes df hang if even
6388 one of the corresponding file systems is hard-mounted, but not available.
6390 #include <sys/statvfs.h>],
6391 [struct statvfs fsd; statvfs (0, &fsd);],
6392 fu_cv_sys_stat_statvfs=yes,
6393 fu_cv_sys_stat_statvfs=no)])
6394 if test $fu_cv_sys_stat_statvfs = yes; then
6395 ac_fsusage_space=yes
6396 AC_DEFINE(STAT_STATVFS, 1,
6397 [ Define if there is a function named statvfs. (SVR4)])
6401 if test $ac_fsusage_space = no; then
6402 # DEC Alpha running OSF/1
6403 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
6404 AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
6406 #include <sys/param.h>
6407 #include <sys/types.h>
6408 #include <sys/mount.h>
6413 exit (statfs (".", &fsd, sizeof (struct statfs)));
6415 fu_cv_sys_stat_statfs3_osf1=yes,
6416 fu_cv_sys_stat_statfs3_osf1=no,
6417 fu_cv_sys_stat_statfs3_osf1=no)])
6418 AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
6419 if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
6420 ac_fsusage_space=yes
6421 AC_DEFINE(STAT_STATFS3_OSF1, 1,
6422 [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
6426 if test $ac_fsusage_space = no; then
6428 AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
6429 member (AIX, 4.3BSD)])
6430 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
6432 #ifdef HAVE_SYS_PARAM_H
6433 #include <sys/param.h>
6435 #ifdef HAVE_SYS_MOUNT_H
6436 #include <sys/mount.h>
6438 #ifdef HAVE_SYS_VFS_H
6439 #include <sys/vfs.h>
6445 exit (statfs (".", &fsd));
6447 fu_cv_sys_stat_statfs2_bsize=yes,
6448 fu_cv_sys_stat_statfs2_bsize=no,
6449 fu_cv_sys_stat_statfs2_bsize=no)])
6450 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
6451 if test $fu_cv_sys_stat_statfs2_bsize = yes; then
6452 ac_fsusage_space=yes
6453 AC_DEFINE(STAT_STATFS2_BSIZE, 1,
6454 [ Define if statfs takes 2 args and struct statfs has a field named f_bsize.
6455 (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
6459 if test $ac_fsusage_space = no; then
6461 AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
6462 AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
6463 [AC_TRY_RUN([#include <sys/types.h>
6464 #include <sys/statfs.h>
6468 exit (statfs (".", &fsd, sizeof fsd, 0));
6470 fu_cv_sys_stat_statfs4=yes,
6471 fu_cv_sys_stat_statfs4=no,
6472 fu_cv_sys_stat_statfs4=no)])
6473 AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
6474 if test $fu_cv_sys_stat_statfs4 = yes; then
6475 ac_fsusage_space=yes
6476 AC_DEFINE(STAT_STATFS4, 1,
6477 [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)])
6481 if test $ac_fsusage_space = no; then
6483 AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
6484 member (4.4BSD and NetBSD)])
6485 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
6486 [AC_TRY_RUN([#include <sys/types.h>
6487 #ifdef HAVE_SYS_PARAM_H
6488 #include <sys/param.h>
6490 #ifdef HAVE_SYS_MOUNT_H
6491 #include <sys/mount.h>
6497 exit (statfs (".", &fsd));
6499 fu_cv_sys_stat_statfs2_fsize=yes,
6500 fu_cv_sys_stat_statfs2_fsize=no,
6501 fu_cv_sys_stat_statfs2_fsize=no)])
6502 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
6503 if test $fu_cv_sys_stat_statfs2_fsize = yes; then
6504 ac_fsusage_space=yes
6505 AC_DEFINE(STAT_STATFS2_FSIZE, 1,
6506 [ Define if statfs takes 2 args and struct statfs has a field named f_fsize.
6511 if test $ac_fsusage_space = no; then
6513 AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
6514 AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
6515 [AC_TRY_RUN([#include <sys/types.h>
6516 #ifdef HAVE_SYS_PARAM_H
6517 #include <sys/param.h>
6519 #ifdef HAVE_SYS_MOUNT_H
6520 #include <sys/mount.h>
6522 #ifdef HAVE_SYS_FS_TYPES_H
6523 #include <sys/fs_types.h>
6528 /* Ultrix's statfs returns 1 for success,
6529 0 for not mounted, -1 for failure. */
6530 exit (statfs (".", &fsd) != 1);
6532 fu_cv_sys_stat_fs_data=yes,
6533 fu_cv_sys_stat_fs_data=no,
6534 fu_cv_sys_stat_fs_data=no)])
6535 AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
6536 if test $fu_cv_sys_stat_fs_data = yes; then
6537 ac_fsusage_space=yes
6538 AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
6539 [ Define if statfs takes 2 args and the second argument has
6540 type struct fs_data. (Ultrix)])
6544 if test $ac_fsusage_space = no; then
6546 AC_TRY_CPP([#include <sys/filsys.h>
6548 AC_DEFINE(STAT_READ_FILSYS, 1,
6549 [Define if there is no specific function for reading filesystems usage
6550 information and you have the <sys/filsys.h> header file. (SVR2)])
6551 ac_fsusage_space=yes)
6554 AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
6560 # Define some macros required for proper operation of code in lib/*.c
6561 # on MSDOS/Windows systems.
6563 # From Jim Meyering.
6565 AC_DEFUN([jm_AC_DOS],
6567 AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
6570 [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
6571 neither MSDOS nor Windows
6573 [ac_cv_win_or_dos=yes],
6574 [ac_cv_win_or_dos=no])
6577 if test x"$ac_cv_win_or_dos" = xyes; then
6578 ac_fs_accepts_drive_letter_prefix=1
6579 ac_fs_backslash_is_file_name_separator=1
6581 ac_fs_accepts_drive_letter_prefix=0
6582 ac_fs_backslash_is_file_name_separator=0
6585 AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
6586 [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
6587 # define FILESYSTEM_PREFIX_LEN(Filename) \
6588 ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
6590 # define FILESYSTEM_PREFIX_LEN(Filename) 0
6593 AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
6594 $ac_fs_accepts_drive_letter_prefix,
6595 [Define on systems for which file names may have a so-called
6596 `drive letter' prefix, define this to compute the length of that
6597 prefix, including the colon.])
6599 AH_VERBATIM(ISSLASH,
6600 [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
6601 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
6603 # define ISSLASH(C) ((C) == '/')
6606 AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
6607 $ac_fs_backslash_is_file_name_separator,
6608 [Define if the backslash character may also serve as a file name
6609 component separator.])
6613 AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
6615 AC_REQUIRE([AC_HEADER_STDC])
6616 AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
6617 AC_CHECK_FUNCS(resolvepath)
6618 AC_REQUIRE([AC_HEADER_STAT])
6620 # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
6621 # if the function name weren't so long. Besides, I would rather
6622 # not have underscores in file names.
6623 AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
6628 # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
6630 AC_DEFUN([AC_STRUCT_ST_DM_MODE],
6631 [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
6632 [AC_TRY_COMPILE([#include <sys/types.h>
6633 #include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
6634 ac_cv_struct_st_dm_mode=yes,
6635 ac_cv_struct_st_dm_mode=no)])
6637 if test $ac_cv_struct_st_dm_mode = yes; then
6638 AC_DEFINE(HAVE_ST_DM_MODE, 1,
6639 [Define if struct stat has an st_dm_mode member. ])
6645 dnl From Jim Meyering and Paul Eggert.
6646 AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
6647 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6648 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
6649 jm_cv_sys_tiocgwinsz_needs_termios_h,
6650 [jm_cv_sys_tiocgwinsz_needs_termios_h=no
6652 if test $ac_cv_sys_posix_termios = yes; then
6654 [#include <sys/types.h>
6655 # include <termios.h>
6659 ], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
6664 AC_DEFUN([jm_WINSIZE_IN_PTEM],
6665 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
6666 AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
6667 jm_cv_sys_struct_winsize_needs_sys_ptem_h,
6668 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
6669 if test $ac_cv_sys_posix_termios = yes; then
6670 AC_TRY_COMPILE([#include <termios.h>]
6671 [struct winsize x;],
6672 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6674 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6675 AC_TRY_COMPILE([#include <sys/ptem.h>],
6676 [struct winsize x;],
6677 [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
6679 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
6680 AC_DEFINE([WINSIZE_IN_PTEM], 1,
6681 [Define if sys/ptem.h is required for struct winsize.])
6684 # Determine whether this system has infrastructure for obtaining the boot time.
6686 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
6687 * ----------------------------------------------------------
6688 AC_DEFUN([GNULIB_BOOT_TIME],
6690 AC_CHECK_FUNCS(sysctl)
6691 AC_CHECK_HEADERS(sys/sysctl.h)
6693 [whether we can get the system boot time],
6694 [gnulib_cv_have_boot_time],
6698 [AC_INCLUDES_DEFAULT
6699 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
6700 # include <sys/param.h> /* needed for OpenBSD 3.0 */
6701 # include <sys/sysctl.h>
6710 #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
6711 /* your system *does* have the infrastructure to determine boot time */
6713 please_tell_us_how_to_determine_boot_time_on_your_system
6716 gnulib_cv_have_boot_time=yes,
6717 gnulib_cv_have_boot_time=no)
6719 AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
6724 AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
6725 [AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
6726 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
6727 jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
6728 [jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
6730 if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
6732 [#include <sys/types.h>
6733 # include <sys/ioctl.h>
6737 ], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
6740 if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
6741 AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
6742 [Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
6748 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
6750 AC_DEFUN([jm_LIB_CHECK],
6753 # Check for libypsec.a on Dolphin M88K machines.
6754 AC_CHECK_LIB(ypsec, main)
6756 # m88k running dgux 5.4 needs this
6757 AC_CHECK_LIB(ldgc, main)
6759 # Some programs need to link with -lm. printf does if it uses
6760 # lib/strtod.c which uses pow. And seq uses the math functions,
6761 # floor, modf, rint. And factor uses sqrt. And sleep uses fesetround.
6763 # Save a copy of $LIBS and add $FLOOR_LIBM before these tests
6764 # Check for these math functions used by seq.
6765 ac_su_saved_lib="$LIBS"
6767 AC_CHECK_FUNCS(floor modf rint)
6768 LIBS="$ac_su_saved_lib"
6771 AC_CHECK_FUNCS(sqrt)
6772 if test $ac_cv_func_sqrt = no; then
6773 AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
6776 AC_SUBST(FESETROUND_LIBM)
6777 AC_CHECK_FUNCS(fesetround)
6778 if test $ac_cv_func_fesetround = no; then
6779 AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
6782 # The -lsun library is required for YP support on Irix-4.0.5 systems.
6783 # m88k/svr3 DolphinOS systems using YP need -lypsec for id.
6784 AC_SEARCH_LIBS(yp_match, [sun ypsec])
6786 # SysV needs -lsec, older versions of Linux need -lshadow for
6787 # shadow passwords. UnixWare 7 needs -lgen.
6788 AC_SEARCH_LIBS(getspnam, [shadow sec gen])
6790 AC_CHECK_HEADERS(shadow.h)
6792 # Requirements for su.c.
6794 $ac_includes_default
6796 # include <shadow.h>
6799 AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
6800 AC_CHECK_FUNCS(getspnam)
6802 # SCO-ODT-3.0 is reported to need -lufc for crypt.
6803 # NetBSD needs -lcrypt for crypt.
6804 ac_su_saved_lib="$LIBS"
6805 AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
6806 LIBS="$ac_su_saved_lib"
6810 # gettext.m4 serial 17 (gettext-0.11.5)
6811 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
6812 dnl This file is free software, distributed under the terms of the GNU
6813 dnl General Public License. As a special exception to the GNU General
6814 dnl Public License, this file may be distributed as part of a program
6815 dnl that contains a configuration script generated by Autoconf, under
6816 dnl the same distribution terms as the rest of that program.
6818 dnl This file can can be used in projects which are not available under
6819 dnl the GNU General Public License or the GNU Library General Public
6820 dnl License but which still want to provide support for the GNU gettext
6822 dnl Please note that the actual code of the GNU gettext library is covered
6823 dnl by the GNU Library General Public License, and the rest of the GNU
6824 dnl gettext package package is covered by the GNU General Public License.
6825 dnl They are *not* in the public domain.
6828 dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
6829 dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
6831 dnl Macro to add for using GNU gettext.
6833 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
6834 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
6835 dnl default (if it is not specified or empty) is 'no-libtool'.
6836 dnl INTLSYMBOL should be 'external' for packages with no intl directory,
6837 dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
6838 dnl If INTLSYMBOL is 'use-libtool', then a libtool library
6839 dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
6840 dnl depending on --{enable,disable}-{shared,static} and on the presence of
6841 dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
6842 dnl $(top_builddir)/intl/libintl.a will be created.
6843 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
6844 dnl implementations (in libc or libintl) without the ngettext() function
6845 dnl will be ignored. If NEEDSYMBOL is specified and is
6846 dnl 'need-formatstring-macros', then GNU gettext implementations that don't
6847 dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
6848 dnl INTLDIR is used to find the intl libraries. If empty,
6849 dnl the value `$(top_builddir)/intl/' is used.
6851 dnl The result of the configuration is one of three cases:
6852 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
6854 dnl Catalog format: GNU --> install in $(datadir)
6855 dnl Catalog extension: .mo after installation, .gmo in source tree
6856 dnl 2) GNU gettext has been found in the system's C library.
6857 dnl Catalog format: GNU --> install in $(datadir)
6858 dnl Catalog extension: .mo after installation, .gmo in source tree
6859 dnl 3) No internationalization, always use English msgid.
6860 dnl Catalog format: none
6861 dnl Catalog extension: none
6862 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
6863 dnl The use of .gmo is historical (it was needed to avoid overwriting the
6864 dnl GNU format catalogs when building on a platform with an X/Open gettext),
6865 dnl but we keep it in order not to force irrelevant filename changes on the
6868 AC_DEFUN([AM_GNU_GETTEXT],
6870 dnl Argument checking.
6871 ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
6872 [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
6874 ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
6875 [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
6877 define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
6878 define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
6880 AC_REQUIRE([AM_PO_SUBDIRS])dnl
6881 ifelse(gt_included_intl, yes, [
6882 AC_REQUIRE([AM_INTL_SUBDIR])dnl
6885 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
6886 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
6887 AC_REQUIRE([AC_LIB_RPATH])
6889 dnl Sometimes libintl requires libiconv, so first search for libiconv.
6890 dnl Ideally we would do this search only after the
6891 dnl if test "$USE_NLS" = "yes"; then
6892 dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6893 dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
6894 dnl the configure script would need to contain the same shell code
6895 dnl again, outside any 'if'. There are two solutions:
6896 dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
6897 dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
6898 dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
6899 dnl documented, we avoid it.
6900 ifelse(gt_included_intl, yes, , [
6901 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
6904 AC_MSG_CHECKING([whether NLS is requested])
6905 dnl Default is enabled NLS
6907 [ --disable-nls do not use Native Language Support],
6908 USE_NLS=$enableval, USE_NLS=yes)
6909 AC_MSG_RESULT($USE_NLS)
6912 ifelse(gt_included_intl, yes, [
6913 BUILD_INCLUDED_LIBINTL=no
6914 USE_INCLUDED_LIBINTL=no
6920 dnl If we use NLS figure out what method
6921 if test "$USE_NLS" = "yes"; then
6922 gt_use_preinstalled_gnugettext=no
6923 ifelse(gt_included_intl, yes, [
6924 AC_MSG_CHECKING([whether included gettext is requested])
6925 AC_ARG_WITH(included-gettext,
6926 [ --with-included-gettext use the GNU gettext library included here],
6927 nls_cv_force_use_gnu_gettext=$withval,
6928 nls_cv_force_use_gnu_gettext=no)
6929 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
6931 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
6932 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
6934 dnl User does not insist on using GNU NLS library. Figure out what
6935 dnl to use. If GNU gettext is available we use this. Else we have
6936 dnl to fall back to GNU NLS library.
6938 dnl Add a version number to the cache macros.
6939 define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
6940 define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
6941 define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
6943 AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
6944 [AC_TRY_LINK([#include <libintl.h>
6945 ]ifelse([$2], [need-formatstring-macros],
6946 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6947 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6950 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6952 ], [])[extern int _nl_msg_cat_cntr;
6953 extern int *_nl_domain_bindings;],
6954 [bindtextdomain ("", "");
6955 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
6956 gt_cv_func_gnugettext_libc=yes,
6957 gt_cv_func_gnugettext_libc=no)])
6959 if test "$gt_cv_func_gnugettext_libc" != "yes"; then
6960 dnl Sometimes libintl requires libiconv, so first search for libiconv.
6961 ifelse(gt_included_intl, yes, , [
6964 dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
6965 dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
6966 dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
6967 dnl even if libiconv doesn't exist.
6968 AC_LIB_LINKFLAGS_BODY([intl])
6969 AC_CACHE_CHECK([for GNU gettext in libintl],
6970 gt_cv_func_gnugettext_libintl,
6971 [gt_save_CPPFLAGS="$CPPFLAGS"
6972 CPPFLAGS="$CPPFLAGS $INCINTL"
6973 gt_save_LIBS="$LIBS"
6974 LIBS="$LIBS $LIBINTL"
6975 dnl Now see whether libintl exists and does not depend on libiconv.
6976 AC_TRY_LINK([#include <libintl.h>
6977 ]ifelse([$2], [need-formatstring-macros],
6978 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
6979 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
6982 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
6984 ], [])[extern int _nl_msg_cat_cntr;
6989 const char *_nl_expand_alias ();],
6990 [bindtextdomain ("", "");
6991 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
6992 gt_cv_func_gnugettext_libintl=yes,
6993 gt_cv_func_gnugettext_libintl=no)
6994 dnl Now see whether libintl exists and depends on libiconv.
6995 if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
6996 LIBS="$LIBS $LIBICONV"
6997 AC_TRY_LINK([#include <libintl.h>
6998 ]ifelse([$2], [need-formatstring-macros],
6999 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
7000 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
7003 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
7005 ], [])[extern int _nl_msg_cat_cntr;
7010 const char *_nl_expand_alias ();],
7011 [bindtextdomain ("", "");
7012 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
7013 [LIBINTL="$LIBINTL $LIBICONV"
7014 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
7015 gt_cv_func_gnugettext_libintl=yes
7018 CPPFLAGS="$gt_save_CPPFLAGS"
7019 LIBS="$gt_save_LIBS"])
7022 dnl If an already present or preinstalled GNU gettext() is found,
7023 dnl use it. But if this macro is used in GNU gettext, and GNU
7024 dnl gettext is already preinstalled in libintl, we update this
7025 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
7026 if test "$gt_cv_func_gnugettext_libc" = "yes" \
7027 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
7028 && test "$PACKAGE" != gettext; }; then
7029 gt_use_preinstalled_gnugettext=yes
7031 dnl Reset the values set by searching for libintl.
7037 ifelse(gt_included_intl, yes, [
7038 if test "$gt_use_preinstalled_gnugettext" != "yes"; then
7039 dnl GNU gettext is not found in the C library.
7040 dnl Fall back on included GNU gettext library.
7041 nls_cv_use_gnu_gettext=yes
7045 if test "$nls_cv_use_gnu_gettext" = "yes"; then
7046 dnl Mark actions used to generate GNU NLS library.
7047 INTLOBJS="\$(GETTOBJS)"
7048 BUILD_INCLUDED_LIBINTL=yes
7049 USE_INCLUDED_LIBINTL=yes
7050 LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
7051 LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
7052 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
7055 if test "$gt_use_preinstalled_gnugettext" = "yes" \
7056 || test "$nls_cv_use_gnu_gettext" = "yes"; then
7057 dnl Mark actions to use GNU gettext tools.
7062 if test "$gt_use_preinstalled_gnugettext" = "yes" \
7063 || test "$nls_cv_use_gnu_gettext" = "yes"; then
7064 AC_DEFINE(ENABLE_NLS, 1,
7065 [Define to 1 if translation of program messages to the user's native language
7072 if test "$USE_NLS" = "yes"; then
7074 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
7075 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
7076 AC_MSG_CHECKING([how to link with libintl])
7077 AC_MSG_RESULT([$LIBINTL])
7078 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
7081 dnl For backward compatibility. Some packages may be using this.
7082 AC_DEFINE(HAVE_GETTEXT, 1,
7083 [Define if the GNU gettext() function is already present or preinstalled.])
7084 AC_DEFINE(HAVE_DCGETTEXT, 1,
7085 [Define if the GNU dcgettext() function is already present or preinstalled.])
7088 dnl We need to process the po/ directory.
7092 ifelse(gt_included_intl, yes, [
7093 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
7094 dnl to 'yes' because some of the testsuite requires it.
7095 if test "$PACKAGE" = gettext; then
7096 BUILD_INCLUDED_LIBINTL=yes
7099 dnl Make all variables we use known to autoconf.
7100 AC_SUBST(BUILD_INCLUDED_LIBINTL)
7101 AC_SUBST(USE_INCLUDED_LIBINTL)
7105 dnl For backward compatibility. Some configure.ins may be using this.
7107 nls_cv_header_libgt=
7109 dnl For backward compatibility. Some Makefiles may be using this.
7111 AC_SUBST(DATADIRNAME)
7113 dnl For backward compatibility. Some Makefiles may be using this.
7115 AC_SUBST(INSTOBJEXT)
7117 dnl For backward compatibility. Some Makefiles may be using this.
7121 dnl Enable libtool support if the surrounding package wishes it.
7122 INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
7123 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
7126 dnl For backward compatibility. Some Makefiles may be using this.
7130 dnl Make all documented variables known to autoconf.
7137 dnl Checks for all prerequisites of the po subdirectory,
7138 dnl except for USE_NLS.
7139 AC_DEFUN([AM_PO_SUBDIRS],
7141 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
7142 AC_REQUIRE([AC_PROG_INSTALL])dnl
7143 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7145 dnl Perform the following tests also if --disable-nls has been given,
7146 dnl because they are needed for "make dist" to work.
7148 dnl Search for GNU msgfmt in the PATH.
7149 dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
7150 dnl The second test excludes FreeBSD msgfmt.
7151 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
7152 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
7153 (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
7155 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
7157 dnl Search for GNU xgettext 0.11 or newer in the PATH.
7158 dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
7159 dnl The second test excludes FreeBSD xgettext.
7160 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
7161 [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7162 (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
7164 dnl Remove leftover from FreeBSD xgettext call.
7167 dnl Search for GNU msgmerge 0.11 or newer in the PATH.
7168 AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
7169 [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
7171 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7172 dnl Test whether we really found GNU msgfmt.
7173 if test "$GMSGFMT" != ":"; then
7174 dnl If it is no GNU msgfmt we define it as : so that the
7175 dnl Makefiles still can work.
7176 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
7177 (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7180 GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
7182 [found $GMSGFMT program is not GNU msgfmt; ignore it])
7187 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
7188 dnl Test whether we really found GNU xgettext.
7189 if test "$XGETTEXT" != ":"; then
7190 dnl If it is no GNU xgettext we define it as : so that the
7191 dnl Makefiles still can work.
7192 if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
7193 (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
7197 [found xgettext program is not GNU xgettext; ignore it])
7200 dnl Remove leftover from FreeBSD xgettext call.
7204 AC_OUTPUT_COMMANDS([
7205 for ac_file in $CONFIG_FILES; do
7206 # Support "outfile[:infile[:infile...]]"
7208 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
7210 # PO directories have a Makefile.in generated from Makefile.in.in.
7211 case "$ac_file" in */Makefile.in)
7212 # Adjust a relative srcdir.
7213 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
7214 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
7215 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
7216 # In autoconf-2.13 it is called $ac_given_srcdir.
7217 # In autoconf-2.50 it is called $srcdir.
7218 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
7219 case "$ac_given_srcdir" in
7220 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
7221 /*) top_srcdir="$ac_given_srcdir" ;;
7222 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
7224 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
7225 rm -f "$ac_dir/POTFILES"
7226 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
7227 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
7228 # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
7229 # on $ac_dir but don't depend on user-specified configuration
7231 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
7232 # The LINGUAS file contains the set of available languages.
7233 if test -n "$ALL_LINGUAS"; then
7234 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
7236 ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
7237 # Hide the ALL_LINGUAS assigment from automake.
7238 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
7240 case "$ac_given_srcdir" in
7242 *) srcdirpre='$(srcdir)/' ;;
7248 for lang in $ALL_LINGUAS; do
7249 POFILES="$POFILES $srcdirpre$lang.po"
7250 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
7251 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
7252 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
7254 # CATALOGS depends on both $ac_dir and the user's LINGUAS
7255 # environment variable.
7257 if test -n "$ALL_LINGUAS"; then
7258 for presentlang in $ALL_LINGUAS; do
7260 if test "%UNSET%" != "$LINGUAS"; then
7261 desiredlanguages="$LINGUAS"
7263 desiredlanguages="$ALL_LINGUAS"
7265 for desiredlang in $desiredlanguages; do
7266 # Use the presentlang catalog if desiredlang is
7267 # a. equal to presentlang, or
7268 # b. a variant of presentlang (because in this case,
7269 # presentlang can be used as a fallback for messages
7270 # which are not translated in the desiredlang catalog).
7271 case "$desiredlang" in
7272 "$presentlang"*) useit=yes;;
7275 if test $useit = yes; then
7276 INST_LINGUAS="$INST_LINGUAS $presentlang"
7281 if test -n "$INST_LINGUAS"; then
7282 for lang in $INST_LINGUAS; do
7283 CATALOGS="$CATALOGS $lang.gmo"
7286 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
7287 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"
7288 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
7289 if test -f "$f"; then
7291 *.orig | *.bak | *~) ;;
7292 *) cat "$f" >> "$ac_dir/Makefile" ;;
7300 [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
7301 # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
7303 eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
7304 # Capture the value of LINGUAS because we need it to compute CATALOGS.
7305 LINGUAS="${LINGUAS-%UNSET%}"
7310 dnl Checks for all prerequisites of the intl subdirectory,
7311 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
7312 dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
7313 AC_DEFUN([AM_INTL_SUBDIR],
7315 AC_REQUIRE([AC_PROG_INSTALL])dnl
7316 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
7317 AC_REQUIRE([AC_PROG_CC])dnl
7318 AC_REQUIRE([AC_CANONICAL_HOST])dnl
7319 AC_REQUIRE([AC_PROG_RANLIB])dnl
7320 AC_REQUIRE([AC_ISC_POSIX])dnl
7321 AC_REQUIRE([AC_HEADER_STDC])dnl
7322 AC_REQUIRE([AC_C_CONST])dnl
7323 AC_REQUIRE([AC_C_INLINE])dnl
7324 AC_REQUIRE([AC_TYPE_OFF_T])dnl
7325 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
7326 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
7327 AC_REQUIRE([AC_FUNC_MMAP])dnl
7328 AC_REQUIRE([jm_GLIBC21])dnl
7329 AC_REQUIRE([gt_INTDIV0])dnl
7330 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
7331 AC_REQUIRE([gt_INTTYPES_PRI])dnl
7333 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
7334 stdlib.h string.h unistd.h sys/param.h])
7335 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
7336 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
7337 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
7341 if test $ac_cv_header_locale_h = yes; then
7345 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
7346 dnl because plural.y uses bison specific features. It requires at least
7347 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
7349 dnl bison is only needed for the maintainer (who touches plural.y). But in
7350 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
7351 dnl the rule in general Makefile. Now, some people carelessly touch the
7352 dnl files or have a broken "make" program, hence the plural.c rule will
7353 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
7354 dnl present or too old.
7355 AC_CHECK_PROGS([INTLBISON], [bison])
7356 if test -z "$INTLBISON"; then
7359 dnl Found it, now check the version.
7360 AC_MSG_CHECKING([version of bison])
7361 changequote(<<,>>)dnl
7362 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
7363 case $ac_prog_version in
7364 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
7365 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
7367 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
7368 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
7370 AC_MSG_RESULT([$ac_prog_version])
7372 if test $ac_verc_fail = yes; then
7378 AC_DEFUN([AM_MKINSTALLDIRS],
7380 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
7381 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
7382 dnl Try to locate is.
7384 if test -n "$ac_aux_dir"; then
7385 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
7387 if test -z "$MKINSTALLDIRS"; then
7388 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
7390 AC_SUBST(MKINSTALLDIRS)
7394 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
7395 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
7397 # progtest.m4 serial 3
7398 dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
7399 dnl This file is free software, distributed under the terms of the GNU
7400 dnl General Public License. As a special exception to the GNU General
7401 dnl Public License, this file may be distributed as part of a program
7402 dnl that contains a configuration script generated by Autoconf, under
7403 dnl the same distribution terms as the rest of that program.
7405 dnl This file can can be used in projects which are not available under
7406 dnl the GNU General Public License or the GNU Library General Public
7407 dnl License but which still want to provide support for the GNU gettext
7409 dnl Please note that the actual code of the GNU gettext library is covered
7410 dnl by the GNU Library General Public License, and the rest of the GNU
7411 dnl gettext package package is covered by the GNU General Public License.
7412 dnl They are *not* in the public domain.
7415 dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
7417 # Search path for a program which passes the given test.
7419 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
7420 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
7421 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
7422 [# Extract the first word of "$2", so it can be a program name with args.
7423 set dummy $2; ac_word=[$]2
7424 AC_MSG_CHECKING([for $ac_word])
7425 AC_CACHE_VAL(ac_cv_path_$1,
7428 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
7431 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
7432 for ac_dir in ifelse([$5], , $PATH, [$5]); do
7433 test -z "$ac_dir" && ac_dir=.
7434 if test -f $ac_dir/$ac_word; then
7436 ac_cv_path_$1="$ac_dir/$ac_word"
7442 dnl If no 4th arg is given, leave the cache variable unset,
7443 dnl so AC_PATH_PROGS will keep looking.
7444 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
7449 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
7450 AC_MSG_RESULT([$]$1)
7457 # intdiv0.m4 serial 1 (gettext-0.11.3)
7458 dnl Copyright (C) 2002 Free Software Foundation, Inc.
7459 dnl This file is free software, distributed under the terms of the GNU
7460 dnl General Public License. As a special exception to the GNU General
7461 dnl Public License, this file may be distributed as part of a program
7462 dnl that contains a configuration script generated by Autoconf, under
7463 dnl the same distribution terms as the rest of that program.
7465 dnl From Bruno Haible.
7467 AC_DEFUN([gt_INTDIV0],
7469 AC_REQUIRE([AC_PROG_CC])dnl
7470 AC_REQUIRE([AC_CANONICAL_HOST])dnl
7472 AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
7473 gt_cv_int_divbyzero_sigfpe,
7481 sigfpe_handler (int sig)
7483 sigfpe_handler (sig) int sig;
7486 /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
7487 exit (sig != SIGFPE);
7497 signal (SIGFPE, sigfpe_handler);
7498 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
7499 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
7500 signal (SIGTRAP, sigfpe_handler);
7502 /* Linux/SPARC yields signal SIGILL. */
7503 #if defined (__sparc__) && defined (__linux__)
7504 signal (SIGILL, sigfpe_handler);
7511 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
7513 # Guess based on the CPU.
7515 alpha* | i[34567]86 | m68k | s390*)
7516 gt_cv_int_divbyzero_sigfpe="guessing yes";;
7518 gt_cv_int_divbyzero_sigfpe="guessing no";;
7522 case "$gt_cv_int_divbyzero_sigfpe" in
7526 AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
7527 [Define if integer division by zero raises signal SIGFPE.])
7530 # lcmessage.m4 serial 3 (gettext-0.11.3)
7531 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
7532 dnl This file is free software, distributed under the terms of the GNU
7533 dnl General Public License. As a special exception to the GNU General
7534 dnl Public License, this file may be distributed as part of a program
7535 dnl that contains a configuration script generated by Autoconf, under
7536 dnl the same distribution terms as the rest of that program.
7538 dnl This file can can be used in projects which are not available under
7539 dnl the GNU General Public License or the GNU Library General Public
7540 dnl License but which still want to provide support for the GNU gettext
7542 dnl Please note that the actual code of the GNU gettext library is covered
7543 dnl by the GNU Library General Public License, and the rest of the GNU
7544 dnl gettext package package is covered by the GNU General Public License.
7545 dnl They are *not* in the public domain.
7548 dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
7550 # Check whether LC_MESSAGES is available in <locale.h>.
7552 AC_DEFUN([AM_LC_MESSAGES],
7554 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
7555 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
7556 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
7557 if test $am_cv_val_LC_MESSAGES = yes; then
7558 AC_DEFINE(HAVE_LC_MESSAGES, 1,
7559 [Define if your <locale.h> file defines LC_MESSAGES.])