1 # generated automatically by aclocal 1.7.3 -*- 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 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
39 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
40 # written in clear, in which case automake, when reading aclocal.m4,
41 # will think it sees a *use*, and therefore will trigger all it's
42 # C support machinery. Also note that it means that autoscan, seeing
43 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
48 # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
49 # the ones we care about.
50 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
52 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
53 # AM_INIT_AUTOMAKE([OPTIONS])
54 # -----------------------------------------------
55 # The call with PACKAGE and VERSION arguments is the old style
56 # call (pre autoconf-2.50), which is being phased out. PACKAGE
57 # and VERSION should now be passed to AC_INIT and removed from
58 # the call to AM_INIT_AUTOMAKE.
59 # We support both call styles for the transition. After
60 # the next Automake release, Autoconf can make the AC_INIT
61 # arguments mandatory, and then we can depend on a new Autoconf
62 # release and drop the old call support.
63 AC_DEFUN([AM_INIT_AUTOMAKE],
64 [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
65 AC_REQUIRE([AC_PROG_INSTALL])dnl
66 # test to see if srcdir already configured
67 if test "`cd $srcdir && pwd`" != "`pwd`" &&
68 test -f $srcdir/config.status; then
69 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
72 # test whether we have cygpath
73 if test -z "$CYGPATH_W"; then
74 if (cygpath --version) >/dev/null 2>/dev/null; then
75 CYGPATH_W='cygpath -w'
82 # Define the identity of the package.
83 dnl Distinguish between old-style and new-style calls.
85 [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
86 AC_SUBST([PACKAGE], [$1])dnl
87 AC_SUBST([VERSION], [$2])],
88 [_AM_SET_OPTIONS([$1])dnl
89 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
90 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
92 _AM_IF_OPTION([no-define],,
93 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
94 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
96 # Some tools Automake needs.
97 AC_REQUIRE([AM_SANITY_CHECK])dnl
98 AC_REQUIRE([AC_ARG_PROGRAM])dnl
99 AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
100 AM_MISSING_PROG(AUTOCONF, autoconf)
101 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
102 AM_MISSING_PROG(AUTOHEADER, autoheader)
103 AM_MISSING_PROG(MAKEINFO, makeinfo)
104 AM_MISSING_PROG(AMTAR, tar)
106 AM_PROG_INSTALL_STRIP
107 # We need awk for the "check" target. The system "awk" is bad on
109 AC_REQUIRE([AC_PROG_AWK])dnl
110 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
111 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
113 _AM_IF_OPTION([no-dependencies],,
114 [AC_PROVIDE_IFELSE([AC_PROG_CC],
115 [_AM_DEPENDENCIES(CC)],
116 [define([AC_PROG_CC],
117 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
118 AC_PROVIDE_IFELSE([AC_PROG_CXX],
119 [_AM_DEPENDENCIES(CXX)],
120 [define([AC_PROG_CXX],
121 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
126 # When config.status generates a header, we must update the stamp-h file.
127 # This file resides in the same directory as the config header
128 # that is generated. The stamp files are numbered to have different names.
130 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
131 # loop where config.status creates the headers, so we can generate
132 # our stamp files there.
133 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
134 [# Compute $1's index in $config_headers.
136 for _am_header in $config_headers :; do
141 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
144 echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
146 # Copyright 2002 Free Software Foundation, Inc.
148 # This program is free software; you can redistribute it and/or modify
149 # it under the terms of the GNU General Public License as published by
150 # the Free Software Foundation; either version 2, or (at your option)
153 # This program is distributed in the hope that it will be useful,
154 # but WITHOUT ANY WARRANTY; without even the implied warranty of
155 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
156 # GNU General Public License for more details.
158 # You should have received a copy of the GNU General Public License
159 # along with this program; if not, write to the Free Software
160 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
162 # AM_AUTOMAKE_VERSION(VERSION)
163 # ----------------------------
164 # Automake X.Y traces this macro to ensure aclocal.m4 has been
165 # generated from the m4 files accompanying Automake X.Y.
166 AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
168 # AM_SET_CURRENT_AUTOMAKE_VERSION
169 # -------------------------------
170 # Call AM_AUTOMAKE_VERSION so it can be traced.
171 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
172 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
173 [AM_AUTOMAKE_VERSION([1.7.3])])
175 # Helper functions for option handling. -*- Autoconf -*-
177 # Copyright 2001, 2002 Free Software Foundation, Inc.
179 # This program is free software; you can redistribute it and/or modify
180 # it under the terms of the GNU General Public License as published by
181 # the Free Software Foundation; either version 2, or (at your option)
184 # This program is distributed in the hope that it will be useful,
185 # but WITHOUT ANY WARRANTY; without even the implied warranty of
186 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
187 # GNU General Public License for more details.
189 # You should have received a copy of the GNU General Public License
190 # along with this program; if not, write to the Free Software
191 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
196 # _AM_MANGLE_OPTION(NAME)
197 # -----------------------
198 AC_DEFUN([_AM_MANGLE_OPTION],
199 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
201 # _AM_SET_OPTION(NAME)
202 # ------------------------------
203 # Set option NAME. Presently that only means defining a flag for this option.
204 AC_DEFUN([_AM_SET_OPTION],
205 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
207 # _AM_SET_OPTIONS(OPTIONS)
208 # ----------------------------------
209 # OPTIONS is a space-separated list of Automake options.
210 AC_DEFUN([_AM_SET_OPTIONS],
211 [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
213 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
214 # -------------------------------------------
215 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
216 AC_DEFUN([_AM_IF_OPTION],
217 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
220 # Check to make sure that the build environment is sane.
223 # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
225 # This program is free software; you can redistribute it and/or modify
226 # it under the terms of the GNU General Public License as published by
227 # the Free Software Foundation; either version 2, or (at your option)
230 # This program is distributed in the hope that it will be useful,
231 # but WITHOUT ANY WARRANTY; without even the implied warranty of
232 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
233 # GNU General Public License for more details.
235 # You should have received a copy of the GNU General Public License
236 # along with this program; if not, write to the Free Software
237 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
244 AC_DEFUN([AM_SANITY_CHECK],
245 [AC_MSG_CHECKING([whether build environment is sane])
248 echo timestamp > conftest.file
249 # Do `set' in a subshell so we don't clobber the current shell's
250 # arguments. Must try -L first in case configure is actually a
251 # symlink; some systems play weird games with the mod time of symlinks
252 # (eg FreeBSD returns the mod time of the symlink's containing
255 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
256 if test "$[*]" = "X"; then
258 set X `ls -t $srcdir/configure conftest.file`
261 if test "$[*]" != "X $srcdir/configure conftest.file" \
262 && test "$[*]" != "X conftest.file $srcdir/configure"; then
264 # If neither matched, then we have a broken ls. This can happen
265 # if, for instance, CONFIG_SHELL is bash and it inherits a
266 # broken ls alias from the environment. This has actually
267 # happened. Such a system could not be considered "sane".
268 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
269 alias in your environment])
272 test "$[2]" = conftest.file
278 AC_MSG_ERROR([newly created file is older than distributed files!
279 Check your system clock])
286 # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
288 # This program is free software; you can redistribute it and/or modify
289 # it under the terms of the GNU General Public License as published by
290 # the Free Software Foundation; either version 2, or (at your option)
293 # This program is distributed in the hope that it will be useful,
294 # but WITHOUT ANY WARRANTY; without even the implied warranty of
295 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
296 # GNU General Public License for more details.
298 # You should have received a copy of the GNU General Public License
299 # along with this program; if not, write to the Free Software
300 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
305 # AM_MISSING_PROG(NAME, PROGRAM)
306 # ------------------------------
307 AC_DEFUN([AM_MISSING_PROG],
308 [AC_REQUIRE([AM_MISSING_HAS_RUN])
309 $1=${$1-"${am_missing_run}$2"}
315 # Define MISSING if not defined so far and test if it supports --run.
316 # If it does, set am_missing_run to use it, otherwise, to nothing.
317 AC_DEFUN([AM_MISSING_HAS_RUN],
318 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
319 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
320 # Use eval to expand $SHELL
321 if eval "$MISSING --run true"; then
322 am_missing_run="$MISSING --run "
325 AC_MSG_WARN([`missing' script is too old or missing])
331 # Copyright 2001 Free Software Foundation, Inc.
333 # This program is free software; you can redistribute it and/or modify
334 # it under the terms of the GNU General Public License as published by
335 # the Free Software Foundation; either version 2, or (at your option)
338 # This program is distributed in the hope that it will be useful,
339 # but WITHOUT ANY WARRANTY; without even the implied warranty of
340 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
341 # GNU General Public License for more details.
343 # You should have received a copy of the GNU General Public License
344 # along with this program; if not, write to the Free Software
345 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
348 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
349 # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
350 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
352 # Of course, Automake must honor this variable whenever it calls a
353 # tool from the auxiliary directory. The problem is that $srcdir (and
354 # therefore $ac_aux_dir as well) can be either absolute or relative,
355 # depending on how configure is run. This is pretty annoying, since
356 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
357 # source directory, any form will work fine, but in subdirectories a
358 # relative path needs to be adjusted first.
360 # $ac_aux_dir/missing
361 # fails when called from a subdirectory if $ac_aux_dir is relative
362 # $top_srcdir/$ac_aux_dir/missing
363 # fails if $ac_aux_dir is absolute,
364 # fails when called from a subdirectory in a VPATH build with
365 # a relative $ac_aux_dir
367 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
368 # are both prefixed by $srcdir. In an in-source build this is usually
369 # harmless because $srcdir is `.', but things will broke when you
370 # start a VPATH build or use an absolute $srcdir.
372 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
373 # iff we strip the leading $srcdir from $ac_aux_dir. That would be:
374 # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
375 # and then we would define $MISSING as
376 # MISSING="\${SHELL} $am_aux_dir/missing"
377 # This will work as long as MISSING is not called from configure, because
378 # unfortunately $(top_srcdir) has no meaning in configure.
379 # However there are other variables, like CC, which are often used in
380 # configure, and could therefore not use this "fixed" $ac_aux_dir.
382 # Another solution, used here, is to always expand $ac_aux_dir to an
383 # absolute PATH. The drawback is that using absolute paths prevent a
384 # configured tree to be moved without reconfiguration.
386 # Rely on autoconf to set up CDPATH properly.
389 AC_DEFUN([AM_AUX_DIR_EXPAND], [
390 # expand $ac_aux_dir to an absolute path
391 am_aux_dir=`cd $ac_aux_dir && pwd`
396 # Define $install_sh.
398 # Copyright 2001 Free Software Foundation, Inc.
400 # This program is free software; you can redistribute it and/or modify
401 # it under the terms of the GNU General Public License as published by
402 # the Free Software Foundation; either version 2, or (at your option)
405 # This program is distributed in the hope that it will be useful,
406 # but WITHOUT ANY WARRANTY; without even the implied warranty of
407 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
408 # GNU General Public License for more details.
410 # You should have received a copy of the GNU General Public License
411 # along with this program; if not, write to the Free Software
412 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
415 AC_DEFUN([AM_PROG_INSTALL_SH],
416 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
417 install_sh=${install_sh-"$am_aux_dir/install-sh"}
418 AC_SUBST(install_sh)])
420 # AM_PROG_INSTALL_STRIP
422 # Copyright 2001 Free Software Foundation, Inc.
424 # This program is free software; you can redistribute it and/or modify
425 # it under the terms of the GNU General Public License as published by
426 # the Free Software Foundation; either version 2, or (at your option)
429 # This program is distributed in the hope that it will be useful,
430 # but WITHOUT ANY WARRANTY; without even the implied warranty of
431 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
432 # GNU General Public License for more details.
434 # You should have received a copy of the GNU General Public License
435 # along with this program; if not, write to the Free Software
436 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
439 # One issue with vendor `install' (even GNU) is that you can't
440 # specify the program used to strip binaries. This is especially
441 # annoying in cross-compiling environments, where the build's strip
442 # is unlikely to handle the host's binaries.
443 # Fortunately install-sh will honor a STRIPPROG variable, so we
444 # always use install-sh in `make install-strip', and initialize
445 # STRIPPROG with the value of the STRIP variable (set by the user).
446 AC_DEFUN([AM_PROG_INSTALL_STRIP],
447 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
448 # Installed binaries are usually stripped using `strip' when the user
449 # run `make install-strip'. However `strip' might not be the right
450 # tool to use in cross-compilation environments, therefore Automake
451 # will honor the `STRIP' environment variable to overrule this program.
452 dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
453 if test "$cross_compiling" != no; then
454 AC_CHECK_TOOL([STRIP], [strip], :)
456 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
457 AC_SUBST([INSTALL_STRIP_PROGRAM])])
460 # Copyright (C) 2003 Free Software Foundation, Inc.
462 # This program is free software; you can redistribute it and/or modify
463 # it under the terms of the GNU General Public License as published by
464 # the Free Software Foundation; either version 2, or (at your option)
467 # This program is distributed in the hope that it will be useful,
468 # but WITHOUT ANY WARRANTY; without even the implied warranty of
469 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
470 # GNU General Public License for more details.
472 # You should have received a copy of the GNU General Public License
473 # along with this program; if not, write to the Free Software
474 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
479 # Check whether the underlying file-system supports filenames
480 # with a leading dot. For instance MS-DOS doesn't.
481 AC_DEFUN([AM_SET_LEADING_DOT],
482 [rm -rf .tst 2>/dev/null
483 mkdir .tst 2>/dev/null
484 if test -d .tst; then
489 rmdir .tst 2>/dev/null
490 AC_SUBST([am__leading_dot])])
492 # serial 5 -*- Autoconf -*-
494 # Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
496 # This program is free software; you can redistribute it and/or modify
497 # it under the terms of the GNU General Public License as published by
498 # the Free Software Foundation; either version 2, or (at your option)
501 # This program is distributed in the hope that it will be useful,
502 # but WITHOUT ANY WARRANTY; without even the implied warranty of
503 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
504 # GNU General Public License for more details.
506 # You should have received a copy of the GNU General Public License
507 # along with this program; if not, write to the Free Software
508 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
512 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
513 # written in clear, in which case automake, when reading aclocal.m4,
514 # will think it sees a *use*, and therefore will trigger all it's
515 # C support machinery. Also note that it means that autoscan, seeing
516 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
520 # _AM_DEPENDENCIES(NAME)
521 # ----------------------
522 # See how the compiler implements dependency checking.
523 # NAME is "CC", "CXX", "GCJ", or "OBJC".
524 # We try a few techniques and use that to set a single cache variable.
526 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
527 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
528 # dependency, and given that the user is not expected to run this macro,
529 # just rely on AC_PROG_CC.
530 AC_DEFUN([_AM_DEPENDENCIES],
531 [AC_REQUIRE([AM_SET_DEPDIR])dnl
532 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
533 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
534 AC_REQUIRE([AM_DEP_TRACK])dnl
536 ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
537 [$1], CXX, [depcc="$CXX" am_compiler_list=],
538 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
539 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
540 [depcc="$$1" am_compiler_list=])
542 AC_CACHE_CHECK([dependency style of $depcc],
543 [am_cv_$1_dependencies_compiler_type],
544 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
545 # We make a subdir and do the tests there. Otherwise we can end up
546 # making bogus files that we don't know about and never remove. For
547 # instance it was reported that on HP-UX the gcc test will end up
548 # making a dummy file named `D' -- because `-MD' means `put the output
551 # Copy depcomp to subdir because otherwise we won't find it if we're
552 # using a relative directory.
553 cp "$am_depcomp" conftest.dir
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 # We need to recreate these files for each test, as the compiler may
562 # overwrite some of them when testing with obscure command lines.
563 # This happens at least with the AIX C compiler.
564 echo '#include "conftest.h"' > conftest.c
565 echo 'int i;' > conftest.h
566 echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
570 # after this tag, mechanisms are not by side-effect, so they'll
571 # only be used when explicitly requested
572 if test "x$enable_dependency_tracking" = xyes; then
580 # We check with `-c' and `-o' for the sake of the "dashmstdout"
581 # mode. It turns out that the SunPro C++ compiler does not properly
582 # handle `-M -o', and we need to detect this.
583 if depmode=$depmode \
584 source=conftest.c object=conftest.o \
585 depfile=conftest.Po tmpdepfile=conftest.TPo \
586 $SHELL ./depcomp $depcc -c -o conftest.o conftest.c \
587 >/dev/null 2>conftest.err &&
588 grep conftest.h conftest.Po > /dev/null 2>&1 &&
589 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
590 # icc doesn't choke on unknown options, it will just issue warnings
591 # (even with -Werror). So we grep stderr for any message
592 # that says an option was ignored.
593 if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
594 am_cv_$1_dependencies_compiler_type=$depmode
603 am_cv_$1_dependencies_compiler_type=none
606 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
607 AM_CONDITIONAL([am__fastdep$1], [
608 test "x$enable_dependency_tracking" != xno \
609 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
615 # Choose a directory name for dependency files.
616 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
617 AC_DEFUN([AM_SET_DEPDIR],
618 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
619 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
625 AC_DEFUN([AM_DEP_TRACK],
626 [AC_ARG_ENABLE(dependency-tracking,
627 [ --disable-dependency-tracking Speeds up one-time builds
628 --enable-dependency-tracking Do not reject slow dependency extractors])
629 if test "x$enable_dependency_tracking" != xno; then
630 am_depcomp="$ac_aux_dir/depcomp"
633 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
634 AC_SUBST([AMDEPBACKSLASH])
637 # Generate code to set up dependency tracking. -*- Autoconf -*-
639 # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
641 # This program is free software; you can redistribute it and/or modify
642 # it under the terms of the GNU General Public License as published by
643 # the Free Software Foundation; either version 2, or (at your option)
646 # This program is distributed in the hope that it will be useful,
647 # but WITHOUT ANY WARRANTY; without even the implied warranty of
648 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
649 # GNU General Public License for more details.
651 # You should have received a copy of the GNU General Public License
652 # along with this program; if not, write to the Free Software
653 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
658 # _AM_OUTPUT_DEPENDENCY_COMMANDS
659 # ------------------------------
660 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
661 [for mf in $CONFIG_FILES; do
662 # Strip MF so we end up with the name of the file.
663 mf=`echo "$mf" | sed -e 's/:.*$//'`
664 # Check whether this is an Automake generated Makefile or not.
665 # We used to match only the files named `Makefile.in', but
666 # some people rename them; so instead we look at the file content.
667 # Grep'ing the first line is not enough: some people post-process
668 # each Makefile.in and add a new line on top of each file to say so.
669 # So let's grep whole file.
670 if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
671 dirpart=`AS_DIRNAME("$mf")`
675 grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
676 # Extract the definition of DEP_FILES from the Makefile without
678 DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
679 test -z "$DEPDIR" && continue
680 # When using ansi2knr, U may be empty or an underscore; expand it
681 U=`sed -n -e '/^U = / s///p' < "$mf"`
682 test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
683 # We invoke sed twice because it is the simplest approach to
684 # changing $(DEPDIR) to its actual value in the expansion.
685 for file in `sed -n -e '
686 /^DEP_FILES = .*\\\\$/ {
695 /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
696 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
697 # Make sure the directory exists.
698 test -f "$dirpart/$file" && continue
699 fdir=`AS_DIRNAME(["$file"])`
700 AS_MKDIR_P([$dirpart/$fdir])
701 # echo "creating $dirpart/$file"
702 echo '# dummy' > "$dirpart/$file"
705 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
708 # AM_OUTPUT_DEPENDENCY_COMMANDS
709 # -----------------------------
710 # This macro should only be invoked once -- use via AC_REQUIRE.
712 # This code is only required when automatic dependency tracking
713 # is enabled. FIXME. This creates each `.P' file that we will
714 # need in order to bootstrap the dependency handling code.
715 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
716 [AC_CONFIG_COMMANDS([depfiles],
717 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
718 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
721 # Check to see how 'make' treats includes. -*- Autoconf -*-
723 # Copyright (C) 2001, 2002 Free Software Foundation, Inc.
725 # This program is free software; you can redistribute it and/or modify
726 # it under the terms of the GNU General Public License as published by
727 # the Free Software Foundation; either version 2, or (at your option)
730 # This program is distributed in the hope that it will be useful,
731 # but WITHOUT ANY WARRANTY; without even the implied warranty of
732 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
733 # GNU General Public License for more details.
735 # You should have received a copy of the GNU General Public License
736 # along with this program; if not, write to the Free Software
737 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
744 # Check to see how make treats includes.
745 AC_DEFUN([AM_MAKE_INCLUDE],
746 [am_make=${MAKE-make}
747 cat > confinc << 'END'
751 # If we don't find an include directive, just comment out the code.
752 AC_MSG_CHECKING([for style of include used by $am_make])
756 # First try GNU make style include.
757 echo "include confinc" > confmf
758 # We grep out `Entering directory' and `Leaving directory'
759 # messages which can occur if `w' ends up in MAKEFLAGS.
760 # In particular we don't look at `^make:' because GNU make might
761 # be invoked under some other name (usually "gmake"), in which
762 # case it prints its new name instead of `make'.
763 if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
768 # Now try BSD make style include.
769 if test "$am__include" = "#"; then
770 echo '.include "confinc"' > confmf
771 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
777 AC_SUBST(am__include)
779 AC_MSG_RESULT($_am_result)
783 # AM_CONDITIONAL -*- Autoconf -*-
785 # Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
787 # This program is free software; you can redistribute it and/or modify
788 # it under the terms of the GNU General Public License as published by
789 # the Free Software Foundation; either version 2, or (at your option)
792 # This program is distributed in the hope that it will be useful,
793 # but WITHOUT ANY WARRANTY; without even the implied warranty of
794 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
795 # GNU General Public License for more details.
797 # You should have received a copy of the GNU General Public License
798 # along with this program; if not, write to the Free Software
799 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
806 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
807 # -------------------------------------
808 # Define a conditional.
809 AC_DEFUN([AM_CONDITIONAL],
810 [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
811 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
821 AC_CONFIG_COMMANDS_PRE(
822 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
823 AC_MSG_ERROR([conditional "$1" was never defined.
824 Usually this means the macro was only invoked conditionally.])
829 dnl From Jim Meyering.
830 dnl Find a new-enough version of Perl.
835 dnl FIXME: don't hard-code 5.003
836 dnl FIXME: should we cache the result?
837 AC_MSG_CHECKING([for perl5.003 or newer])
838 if test "${PERL+set}" = set; then
839 # `PERL' is set in the user's environment.
840 candidate_perl_names="$PERL"
843 candidate_perl_names='perl perl5'
849 PERL="$am_missing_run perl"
850 for perl in $candidate_perl_names; do
851 # Run test in a subshell; some versions of sh will print an error if
852 # an executable is not found, even if stderr is redirected.
853 if ( $perl -e 'require 5.003; use File::Compare' ) > /dev/null 2>&1; then
860 AC_MSG_RESULT($found)
861 test $found = no && AC_MSG_WARN([
862 WARNING: You don't seem to have perl5.003 or newer installed, or you lack
863 a usable version of the Perl File::Compare module. As a result,
864 you may be unable to run a few tests or to regenerate certain
865 files if you modify the sources from which they are derived.
869 #serial 61 -*- autoconf -*-
871 m4_undefine([AC_LANG_SOURCE(C)])
872 dnl The following is identical to the definition in c.m4
873 dnl from the autoconf cvs repository on 2003-03-07.
874 dnl FIXME: remove this code once we upgrade to autoconf-2.58.
876 # We can't use '#line $LINENO "configure"' here, since
877 # Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09)
878 # rejects $LINENO greater than 32767, and some configure scripts
879 # are longer than 32767 lines.
880 m4_define([AC_LANG_SOURCE(C)],
883 cat confdefs.h >>conftest.$ac_ext
884 cat >>conftest.$ac_ext <<_ACEOF
885 /* end confdefs.h. */
889 dnl Misc type-related macros for fileutils, sh-utils, textutils.
891 AC_DEFUN([jm_MACROS],
895 GNU_PACKAGE="GNU $PACKAGE"
896 AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
897 [The concatenation of the strings `GNU ', and PACKAGE.])
898 AC_SUBST(GNU_PACKAGE)
900 AM_MISSING_PROG(HELP2MAN, help2man)
901 AC_SUBST(OPTIONAL_BIN_PROGS)
902 AC_SUBST(OPTIONAL_BIN_ZCRIPTS)
906 dnl This macro actually runs replacement code. See isc-posix.m4.
907 AC_REQUIRE([AC_ISC_POSIX])dnl
910 jm_INCLUDED_REGEX([lib/regex.c])
912 AC_REQUIRE([UTILS_HOST_OS])
913 AC_REQUIRE([UTILS_FUNC_MKDIR_TRAILING_SLASH])
914 AC_REQUIRE([jm_BISON])
915 AC_REQUIRE([jm_ASSERT])
916 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
917 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
918 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
919 AC_REQUIRE([jm_CHECK_DECLS])
921 AC_REQUIRE([jm_PREREQ])
923 AC_REQUIRE([UTILS_FUNC_DIRFD])
924 AC_REQUIRE([AC_FUNC_ACL])
925 AC_REQUIRE([AC_FUNC_FTW])
926 AC_REQUIRE([jm_FUNC_LCHOWN])
927 AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
928 AC_REQUIRE([jm_FUNC_CHOWN])
929 AC_REQUIRE([jm_FUNC_MKTIME])
930 AC_REQUIRE([jm_FUNC_LSTAT])
931 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
932 AC_REQUIRE([jm_FUNC_STAT])
933 AC_REQUIRE([AC_FUNC_REALLOC])
934 AC_REQUIRE([AC_FUNC_MALLOC])
935 AC_REQUIRE([AC_FUNC_STRERROR_R])
936 AC_REQUIRE([jm_FUNC_NANOSLEEP])
937 AC_REQUIRE([jm_FUNC_MEMCMP])
938 AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
939 AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
940 AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
941 AC_REQUIRE([jm_FUNC_PUTENV])
943 AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
944 AC_REQUIRE([jm_AC_PREREQ_XSTRTOIMAX])
945 AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
946 AC_REQUIRE([AC_FUNC_ERROR_AT_LINE])
947 AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
948 AC_REQUIRE([jm_FUNC_MKTIME])
949 AC_REQUIRE([jm_FUNC_FPENDING])
951 # This is for od and stat, and any other program that
952 # uses the PRI.MAX macros from inttypes.h.
953 AC_REQUIRE([gt_INTTYPES_PRI])
955 AC_REQUIRE([jm_FUNC_GETGROUPS])
957 AC_REQUIRE([AC_FUNC_FSEEKO])
958 AC_REQUIRE([AC_FUNC_VPRINTF])
959 AC_REQUIRE([AC_FUNC_ALLOCA])
961 AC_CONFIG_LIBOBJ_DIR([lib])
964 AC_REQUIRE([jm_SYS_PROC_UPTIME])
965 AC_REQUIRE([jm_FUNC_FTRUNCATE])
966 AC_REQUIRE([vb_FUNC_RENAME])
968 AC_REPLACE_FUNCS(strcasecmp strncasecmp)
969 AC_REPLACE_FUNCS(dup2)
970 AC_REPLACE_FUNCS(gethostname getusershell)
971 AC_REPLACE_FUNCS(sig2str)
972 AC_REPLACE_FUNCS(strcspn stpcpy strstr strtol strtoul)
973 AC_REPLACE_FUNCS(strpbrk)
974 AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
975 AC_REPLACE_FUNCS(atexit)
976 AC_REPLACE_FUNCS(getpass)
978 # raise is used by at least sort and ls.
979 AC_REPLACE_FUNCS(raise)
981 dnl used by e.g. intl/*domain.c and lib/canon-host.c
982 AC_REPLACE_FUNCS(strdup)
984 AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset)
985 AC_CHECK_FUNCS(getpagesize)
987 AC_REQUIRE([UTILS_FUNC_MKSTEMP])
989 # By default, argmatch should fail calling usage (1).
990 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
991 [Define to the function xargmatch calls on failures.])
992 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
993 [Define to the declaration of the xargmatch failure function.])
995 dnl Used to define SETVBUF in sys2.h.
996 dnl This evokes the following warning from autoconf:
997 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
998 AC_FUNC_SETVBUF_REVERSED
1000 # used by sleep and shred
1001 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
1002 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
1004 # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
1005 # programs in the package would end up linked with that potentially-shared
1006 # library, inducing unnecessary run-time overhead.
1007 fetish_saved_libs=$LIBS
1008 AC_SEARCH_LIBS(clock_gettime, [rt posix4],
1009 [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
1010 AC_SUBST(LIB_CLOCK_GETTIME)
1011 AC_CHECK_FUNCS(clock_gettime clock_settime)
1012 LIBS=$fetish_saved_libs
1013 AC_CHECK_FUNCS(gettimeofday)
1014 AC_FUNC_GETTIMEOFDAY_CLOBBER
1016 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
1017 AC_REQUIRE([jm_FUNC_UTIME])
1051 AC_CHECK_FUNCS(setreuid setregid)
1054 if test $am_cv_func_working_getline != yes; then
1055 AC_CHECK_FUNCS(getdelim)
1060 AC_REQUIRE([UTILS_SYS_OPEN_MAX])
1061 AC_REQUIRE([GL_FUNC_GETCWD_PATH_MAX])
1063 # See if linking `seq' requires -lm.
1064 # It does on nearly every system. The single exception (so far) is
1065 # BeOS which has all the math functions in the normal runtime library
1066 # and doesn't have a separate math library.
1074 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
1075 [ac_seq_save_LIBS="$LIBS"
1077 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
1078 LIBS="$ac_seq_save_LIBS"
1084 jm_FUNC_UNLINK_BUSY_TEXT
1086 # These tests are for df.
1087 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
1089 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
1090 if test $list_mounted_fs = yes && test $space = yes; then
1091 DF_PROG='df$(EXEEXT)'
1093 AC_LIBOBJ(mountlist)
1095 AC_REQUIRE([jm_AC_DOS])
1096 AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
1098 # If any of these functions don't exist (e.g. DJGPP 2.03),
1099 # use the corresponding stub.
1100 AC_CHECK_FUNC([fchdir], , [AC_LIBOBJ(fchdir-stub)])
1101 AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)])
1102 AC_CHECK_FUNC([lstat], , [AC_LIBOBJ(lstat-stub)])
1103 AC_CHECK_FUNC([readlink], , [AC_LIBOBJ(readlink-stub)])
1107 # These tests must be run before any use of AC_CHECK_TYPE,
1108 # because that macro compiles code that tests e.g., HAVE_UNISTD_H.
1109 # See the definition of ac_includes_default in `configure'.
1110 AC_DEFUN([jm_CHECK_ALL_HEADERS],
1153 # This macro must be invoked before any tests that run the compiler.
1154 AC_DEFUN([jm_CHECK_ALL_TYPES],
1156 dnl This test must come as early as possible after the compiler configuration
1157 dnl tests, because the choice of the file model can (in principle) affect
1158 dnl whether functions and headers are available, whether they work, etc.
1159 AC_REQUIRE([AC_SYS_LARGEFILE])
1161 dnl This test must precede tests of compiler characteristics like
1162 dnl that for the inline keyword, since it may change the degree to
1163 dnl which the compiler supports such features.
1164 AC_REQUIRE([AM_C_PROTOTYPES])
1166 dnl Checks for typedefs, structures, and compiler characteristics.
1167 AC_REQUIRE([AC_C_BIGENDIAN])
1168 AC_REQUIRE([AC_C_CONST])
1169 AC_REQUIRE([AC_C_VOLATILE])
1170 AC_REQUIRE([AC_C_INLINE])
1171 AC_REQUIRE([AC_C_LONG_DOUBLE])
1173 AC_REQUIRE([jm_CHECK_ALL_HEADERS])
1174 AC_REQUIRE([AC_HEADER_DIRENT])
1175 AC_REQUIRE([AC_HEADER_STDC])
1177 [struct stat.st_author,
1178 struct stat.st_blksize],,,
1179 [$ac_includes_default
1180 #include <sys/stat.h>
1182 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
1184 AC_REQUIRE([AC_STRUCT_TM])
1185 AC_REQUIRE([AC_STRUCT_TIMEZONE])
1186 AC_REQUIRE([AC_HEADER_STAT])
1187 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
1188 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
1189 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
1191 AC_REQUIRE([AC_TYPE_GETGROUPS])
1192 AC_REQUIRE([AC_TYPE_MODE_T])
1193 AC_REQUIRE([AC_TYPE_OFF_T])
1194 AC_REQUIRE([AC_TYPE_PID_T])
1195 AC_REQUIRE([AC_TYPE_SIGNAL])
1196 AC_REQUIRE([AC_TYPE_SIZE_T])
1197 AC_REQUIRE([AC_TYPE_UID_T])
1198 AC_CHECK_TYPE(ino_t, unsigned long)
1200 dnl This relies on the fact that autoconf 2.14a's implementation of
1201 dnl AC_CHECK_TYPE checks includes unistd.h.
1202 AC_CHECK_TYPE(ssize_t, int)
1203 AC_CHECK_TYPE(major_t, unsigned int)
1204 AC_CHECK_TYPE(minor_t, unsigned int)
1206 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
1207 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
1209 AC_REQUIRE([AC_HEADER_MAJOR])
1210 AC_REQUIRE([AC_HEADER_DIRENT])
1214 # isc-posix.m4 serial 2 (gettext-0.11.2)
1215 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
1216 dnl This file is free software, distributed under the terms of the GNU
1217 dnl General Public License. As a special exception to the GNU General
1218 dnl Public License, this file may be distributed as part of a program
1219 dnl that contains a configuration script generated by Autoconf, under
1220 dnl the same distribution terms as the rest of that program.
1222 # This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
1224 # This test replaces the one in autoconf.
1225 # Currently this macro should have the same name as the autoconf macro
1226 # because gettext's gettext.m4 (distributed in the automake package)
1227 # still uses it. Otherwise, the use in gettext.m4 makes autoheader
1228 # give these diagnostics:
1229 # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
1230 # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
1232 undefine([AC_ISC_POSIX])
1234 AC_DEFUN([AC_ISC_POSIX],
1236 dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
1237 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
1243 dnl Initially derived from code in GNU grep.
1244 dnl Mostly written by Jim Meyering.
1246 dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])
1248 AC_DEFUN([jm_INCLUDED_REGEX],
1250 dnl Even packages that don't use regex.c can use this macro.
1251 dnl Of course, for them it doesn't do anything.
1253 # Assume we'll default to using the included regex.c.
1254 ac_use_included_regex=yes
1256 # However, if the system regex support is good enough that it passes the
1257 # the following run test, then default to *not* using the included regex.c.
1258 # If cross compiling, assume the test would fail and use the included
1259 # regex.c. The first failing regular expression is from `Spencer ere
1260 # test #75' in grep-2.3.
1261 AC_CACHE_CHECK([for working re_compile_pattern],
1262 jm_cv_func_working_re_compile_pattern,
1270 static struct re_pattern_buffer regex;
1272 struct re_registers regs;
1273 re_set_syntax (RE_SYNTAX_POSIX_EGREP);
1274 memset (®ex, 0, sizeof (regex));
1275 [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, ®ex);]
1276 /* This should fail with _Invalid character class name_ error. */
1280 /* This should succeed, but doesn't for e.g. glibc-2.1.3. */
1281 memset (®ex, 0, sizeof (regex));
1282 s = re_compile_pattern ("{1", 2, ®ex);
1287 /* The following example is derived from a problem report
1288 against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
1289 memset (®ex, 0, sizeof (regex));
1290 s = re_compile_pattern ("[[anù]]*n", 7, ®ex);
1294 /* This should match, but doesn't for e.g. glibc-2.2.1. */
1295 if (re_match (®ex, "an", 2, 0, ®s) != 2)
1298 memset (®ex, 0, sizeof (regex));
1299 s = re_compile_pattern ("x", 1, ®ex);
1303 /* The version of regex.c in e.g. GNU libc-2.2.93 didn't
1304 work with a negative RANGE argument. */
1305 if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
1311 jm_cv_func_working_re_compile_pattern=yes,
1312 jm_cv_func_working_re_compile_pattern=no,
1313 dnl When crosscompiling, assume it's broken.
1314 jm_cv_func_working_re_compile_pattern=no))
1315 if test $jm_cv_func_working_re_compile_pattern = yes; then
1316 ac_use_included_regex=no
1319 test -n "$1" || AC_MSG_ERROR([missing argument])
1320 m4_syscmd([test -f $1])
1321 ifelse(m4_sysval, 0,
1323 AC_ARG_WITH(included-regex,
1324 [ --without-included-regex don't compile regex; this is the default on
1325 systems with version 2 of the GNU C library
1326 (use with caution on other system)],
1327 jm_with_regex=$withval,
1328 jm_with_regex=$ac_use_included_regex)
1329 if test "$jm_with_regex" = yes; then
1338 # Prerequisites of lib/regex.c.
1339 AC_DEFUN([jm_PREREQ_REGEX],
1341 dnl FIXME: Maybe provide a btowc replacement someday: solaris-2.5.1 lacks it.
1342 dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary
1345 dnl Persuade glibc <string.h> to declare mempcpy().
1346 AC_REQUIRE([AC_GNU_SOURCE])
1348 AC_REQUIRE([ACX_C_RESTRICT])
1349 AC_REQUIRE([AC_FUNC_ALLOCA])
1350 AC_REQUIRE([AC_HEADER_STDC])
1351 AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
1352 AC_CHECK_FUNCS_ONCE(isascii mempcpy)
1353 AC_CHECK_FUNCS(btowc)
1357 dnl based on acx_restrict.m4, from the GNU Autoconf Macro Archive at:
1358 dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_restrict.html
1360 # Determine whether the C/C++ compiler supports the "restrict" keyword
1361 # introduced in ANSI C99, or an equivalent. Do nothing if the compiler
1362 # accepts it. Otherwise, if the compiler supports an equivalent (like
1363 # gcc's __restrict__) define "restrict" to be that. Otherwise, define
1364 # "restrict" to be empty.
1366 AC_DEFUN([ACX_C_RESTRICT],
1367 [AC_CACHE_CHECK([for C/C++ restrict keyword], acx_cv_c_restrict,
1368 [acx_cv_c_restrict=no
1369 # Try the official restrict keyword, then gcc's __restrict__.
1370 for acx_kw in restrict __restrict__; do
1371 AC_COMPILE_IFELSE([AC_LANG_SOURCE(
1372 [float * $acx_kw x;])],
1373 [acx_cv_c_restrict=$acx_kw; break])
1376 case $acx_cv_c_restrict in
1378 no) AC_DEFINE(restrict,,
1379 [Define to equivalent of C99 restrict keyword, or to nothing if this
1380 is not supported. Do not define if restrict is supported directly.]) ;;
1381 *) AC_DEFINE_UNQUOTED(restrict, $acx_cv_c_restrict) ;;
1385 # onceonly.m4 serial 2
1386 dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
1387 dnl This file is free software, distributed under the terms of the GNU
1388 dnl General Public License. As a special exception to the GNU General
1389 dnl Public License, this file may be distributed as part of a program
1390 dnl that contains a configuration script generated by Autoconf, under
1391 dnl the same distribution terms as the rest of that program.
1393 dnl This file defines some "once only" variants of standard autoconf macros.
1394 dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
1395 dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
1396 dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
1397 dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
1398 dnl The advantage is that the check for each of the headers/functions/decls
1399 dnl will be put only once into the 'configure' file. It keeps the size of
1400 dnl the 'configure' file down, and avoids redundant output when 'configure'
1402 dnl The drawback is that the checks cannot be conditionalized. If you write
1403 dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
1404 dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
1405 dnl empty, and the check will be inserted before the body of the AC_DEFUNed
1408 dnl Taken from Autoconf 2.50; can be removed once we assume 2.50 or later.
1409 define([m4_quote], [[$*]])
1411 # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
1412 # AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
1413 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
1415 AC_FOREACH([gl_HEADER_NAME], [$1], [
1416 AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(defn([gl_HEADER_NAME]),
1418 AC_CHECK_HEADERS(gl_HEADER_NAME)
1420 AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
1425 # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
1426 # AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
1427 AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
1429 AC_FOREACH([gl_FUNC_NAME], [$1], [
1430 AC_DEFUN([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]), [
1431 AC_CHECK_FUNCS(defn([gl_FUNC_NAME]))
1433 AC_REQUIRE([gl_CHECK_FUNC_]defn([gl_FUNC_NAME]))
1437 # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
1438 # AC_CHECK_DECLS(DECL1, DECL2, ...).
1439 AC_DEFUN([AC_CHECK_DECLS_ONCE], [
1441 AC_FOREACH([gl_DECL_NAME], [$1], [
1442 AC_DEFUN([gl_CHECK_DECL_]defn([gl_DECL_NAME]), [
1443 AC_CHECK_DECLS(defn([gl_DECL_NAME]))
1445 AC_REQUIRE([gl_CHECK_DECL_]defn([gl_DECL_NAME]))
1451 dnl From Paul Eggert.
1453 # Define HOST_OPERATING_SYSTEM to a name for the host operating system.
1454 AC_DEFUN([UTILS_HOST_OS],
1456 AC_CACHE_CHECK([host operating system],
1457 utils_cv_host_operating_system,
1461 # These operating system names do not use the default heuristic below.
1462 # They are in reverse order, so that more-specific prefixes come first.
1463 winnt*) os='Windows NT';;
1465 sysv*) os='Unix System V';;
1466 superux*) os='SUPER-UX';;
1467 sunos*) os='SunOS';;
1469 sco*) os='SCO Unix';;
1470 riscos*) os='RISC OS';;
1471 riscix*) os='RISCiX';;
1475 plan9*) os='Plan 9';;
1478 openbsd*) os='OpenBSD';;
1479 nsk*) os='NonStop Kernel';;
1480 nonstopux*) os='NonStop-UX';;
1481 netbsd*) os='NetBSD';;
1482 msdosdjgpp*) os='DJGPP';;
1483 mpeix*) os='MPE/iX';;
1485 mingw*) os='MinGW';;
1486 lynxos*) os='LynxOS';;
1487 linux*) os='GNU/Linux';;
1491 freebsd*-gnu*) os='GNU/FreeBSD';;
1492 freebsd*) os='FreeBSD';;
1494 bsdi*) os='BSD/OS';;
1498 atheos*) os='AtheOS';;
1499 amigaos*) os='Amiga OS';;
1502 # The default heuristic takes the initial alphabetic string
1503 # from $host_os, but capitalizes its first letter.
1506 expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]'
1508 expr "X$host_os" : 'X.\([A-Za-z]*\)'
1512 # If $host_os does not start with an alphabetic string, use it unchanged.
1516 utils_cv_host_operating_system=$os]])
1517 AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM,
1518 "$utils_cv_host_operating_system",
1519 [The host operating system.])
1524 # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash.
1525 # On such systems, arrange to use a wrapper function that removes any
1527 AC_DEFUN([UTILS_FUNC_MKDIR_TRAILING_SLASH],
1529 AC_CACHE_CHECK([whether mkdir fails due to a trailing slash],
1530 utils_cv_func_mkdir_trailing_slash_bug,
1532 # Arrange for deletion of the temporary directory this test might create.
1533 ac_clean_files="$ac_clean_files confdir-slash"
1535 # include <sys/types.h>
1536 # include <sys/stat.h>
1537 # include <stdlib.h>
1540 rmdir ("confdir-slash");
1541 exit (mkdir ("confdir-slash/", 0700));
1544 utils_cv_func_mkdir_trailing_slash_bug=no,
1545 utils_cv_func_mkdir_trailing_slash_bug=yes,
1546 utils_cv_func_mkdir_trailing_slash_bug=yes
1551 if test $utils_cv_func_mkdir_trailing_slash_bug = yes; then
1553 AC_DEFINE(mkdir, rpl_mkdir,
1554 [Define to rpl_mkdir if the replacement function should be used.])
1560 AC_DEFUN([jm_BISON],
1562 # getdate.y works with bison only.
1563 : ${YACC='bison -y'}
1568 dnl based on code from Eleftherios Gkioulekas
1570 AC_DEFUN([jm_ASSERT],
1572 AC_MSG_CHECKING(whether to enable assertions)
1573 AC_ARG_ENABLE(assert,
1574 [ --disable-assert turn off assertions],
1576 AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ],
1577 [ AC_MSG_RESULT(yes) ]
1583 dnl From Jim Meyering
1585 dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
1586 dnl usually in <utime.h>.
1587 dnl Some systems have utime.h but don't declare the struct anywhere.
1589 AC_DEFUN([jm_CHECK_TYPE_STRUCT_UTIMBUF],
1591 AC_CHECK_HEADERS(utime.h)
1592 AC_REQUIRE([AC_HEADER_TIME])
1593 AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
1596 #ifdef TIME_WITH_SYS_TIME
1597 # include <sys/time.h>
1600 # ifdef HAVE_SYS_TIME_H
1601 # include <sys/time.h>
1610 [static struct utimbuf x; x.actime = x.modtime;],
1611 fu_cv_sys_struct_utimbuf=yes,
1612 fu_cv_sys_struct_utimbuf=no)
1615 if test $fu_cv_sys_struct_utimbuf = yes; then
1616 AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1,
1617 [Define if struct utimbuf is declared -- usually in <utime.h>.
1618 Some systems have utime.h but don't declare the struct anywhere. ])
1624 dnl From Jim Meyering.
1626 dnl Check whether struct dirent has a member named d_type.
1629 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
1630 [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1631 AC_CACHE_CHECK([for d_type member in directory struct],
1632 jm_cv_struct_dirent_d_type,
1635 #include <sys/types.h>
1636 #ifdef HAVE_DIRENT_H
1637 # include <dirent.h>
1638 #else /* not HAVE_DIRENT_H */
1639 # define dirent direct
1640 # ifdef HAVE_SYS_NDIR_H
1641 # include <sys/ndir.h>
1642 # endif /* HAVE_SYS_NDIR_H */
1643 # ifdef HAVE_SYS_DIR_H
1644 # include <sys/dir.h>
1645 # endif /* HAVE_SYS_DIR_H */
1648 # endif /* HAVE_NDIR_H */
1649 #endif /* HAVE_DIRENT_H */
1651 [struct dirent dp; dp.d_type = 0;],
1653 jm_cv_struct_dirent_d_type=yes,
1654 jm_cv_struct_dirent_d_type=no)
1657 if test $jm_cv_struct_dirent_d_type = yes; then
1658 AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1,
1659 [Define if there is a member named d_type in the struct describing
1660 directory headers.])
1667 dnl From Jim Meyering.
1669 dnl Check whether struct dirent has a member named d_ino.
1672 AC_DEFUN([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO],
1673 [AC_REQUIRE([AC_HEADER_DIRENT])dnl
1674 AC_CACHE_CHECK([for d_ino member in directory struct],
1675 jm_cv_struct_dirent_d_ino,
1678 #include <sys/types.h>
1679 #ifdef HAVE_DIRENT_H
1680 # include <dirent.h>
1681 #else /* not HAVE_DIRENT_H */
1682 # define dirent direct
1683 # ifdef HAVE_SYS_NDIR_H
1684 # include <sys/ndir.h>
1685 # endif /* HAVE_SYS_NDIR_H */
1686 # ifdef HAVE_SYS_DIR_H
1687 # include <sys/dir.h>
1688 # endif /* HAVE_SYS_DIR_H */
1691 # endif /* HAVE_NDIR_H */
1692 #endif /* HAVE_DIRENT_H */
1694 [struct dirent dp; dp.d_ino = 0;],
1696 jm_cv_struct_dirent_d_ino=yes,
1697 jm_cv_struct_dirent_d_ino=no)
1700 if test $jm_cv_struct_dirent_d_ino = yes; then
1701 AC_DEFINE(D_INO_IN_DIRENT, 1,
1702 [Define if there is a member named d_ino in the struct describing
1703 directory headers.])
1710 dnl This is just a wrapper function to encapsulate this kludge.
1711 dnl Putting it in a separate file like this helps share it between
1712 dnl different packages.
1713 AC_DEFUN([jm_CHECK_DECLS],
1715 AC_REQUIRE([_jm_DECL_HEADERS])
1716 AC_REQUIRE([AC_HEADER_TIME])
1720 # if !STDC_HEADERS && HAVE_MEMORY_H
1721 # include <memory.h>
1723 # include <string.h>
1726 # include <strings.h>
1730 # include <stdlib.h>
1733 # include <unistd.h>
1736 #include <sys/types.h>
1737 #if TIME_WITH_SYS_TIME
1738 # include <sys/time.h>
1741 # if HAVE_SYS_TIME_H
1742 # include <sys/time.h>
1783 ttyname], , , $headers)
1786 dnl FIXME: when autoconf has support for it.
1787 dnl This is a little helper so we can require these header checks.
1788 AC_DEFUN([_jm_DECL_HEADERS],
1790 AC_REQUIRE([AC_HEADER_STDC])
1791 AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
1792 unistd.h sys/time.h utmp.h utmpx.h)
1797 dnl We use jm_ for non Autoconf macros.
1798 m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1799 m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
1801 # These are the prerequisite macros for files in the lib/
1802 # directory of the coreutils package.
1804 AC_DEFUN([jm_PREREQ],
1806 AC_REQUIRE([jm_PREREQ_ADDEXT])
1808 # We don't yet use c-stack.c.
1809 # AC_REQUIRE([jm_PREREQ_C_STACK])
1811 AC_REQUIRE([jm_PREREQ_CANON_HOST])
1812 AC_REQUIRE([jm_PREREQ_DIRNAME])
1813 AC_REQUIRE([jm_PREREQ_ERROR])
1814 AC_REQUIRE([jm_PREREQ_EXCLUDE])
1815 AC_REQUIRE([jm_PREREQ_GETPAGESIZE])
1816 AC_REQUIRE([jm_PREREQ_HARD_LOCALE])
1817 AC_REQUIRE([jm_PREREQ_HASH])
1818 AC_REQUIRE([jm_PREREQ_HUMAN])
1819 AC_REQUIRE([jm_PREREQ_MBSWIDTH])
1820 AC_REQUIRE([jm_PREREQ_MEMCHR])
1821 AC_REQUIRE([jm_PREREQ_PHYSMEM])
1822 AC_REQUIRE([jm_PREREQ_POSIXVER])
1823 AC_REQUIRE([jm_PREREQ_QUOTEARG])
1824 AC_REQUIRE([jm_PREREQ_READUTMP])
1825 AC_REQUIRE([jm_PREREQ_STAT])
1826 AC_REQUIRE([jm_PREREQ_STRNLEN])
1827 AC_REQUIRE([jm_PREREQ_TEMPNAME]) # called by mkstemp
1828 AC_REQUIRE([jm_PREREQ_XGETCWD])
1829 AC_REQUIRE([jm_PREREQ_XREADLINK])
1832 AC_DEFUN([jm_PREREQ_ADDEXT],
1835 AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
1836 AC_CHECK_FUNCS(pathconf)
1837 AC_CHECK_HEADERS(limits.h string.h unistd.h)
1840 AC_DEFUN([jm_PREREQ_CANON_HOST],
1842 dnl Add any libraries as early as possible.
1843 dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1,
1844 dnl so we have to add -lnsl to LIBS before checking for that function.
1845 AC_SEARCH_LIBS(gethostbyname, [inet nsl])
1847 dnl These come from -lnsl on Solaris5.5.1.
1848 AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa)
1850 AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \
1851 netinet/in.h arpa/inet.h)
1854 AC_DEFUN([jm_PREREQ_DIRNAME],
1856 AC_REQUIRE([AC_HEADER_STDC])
1857 AC_CHECK_HEADERS(string.h)
1860 AC_DEFUN([jm_PREREQ_EXCLUDE],
1862 AC_REQUIRE([AC_FUNC_FNMATCH_GNU])
1863 AC_REQUIRE([AC_HEADER_STDBOOL])
1866 AC_DEFUN([jm_PREREQ_GETPAGESIZE],
1868 AC_CHECK_FUNCS(getpagesize)
1869 AC_CHECK_HEADERS(OS.h unistd.h)
1872 AC_DEFUN([jm_PREREQ_HARD_LOCALE],
1874 AC_CHECK_HEADERS(locale.h stdlib.h string.h)
1875 AC_CHECK_FUNCS(setlocale)
1876 AC_REQUIRE([AM_C_PROTOTYPES])
1879 AC_DEFUN([jm_PREREQ_HASH],
1881 AC_CHECK_HEADERS(stdlib.h)
1882 AC_REQUIRE([AC_HEADER_STDBOOL])
1883 AC_REQUIRE([jm_CHECK_DECLS])
1886 # If you use human.c, you need the following files:
1887 # inttypes.m4 longlong.m4
1888 AC_DEFUN([jm_PREREQ_HUMAN],
1890 AC_CHECK_HEADERS(locale.h)
1891 AC_CHECK_DECLS([getenv])
1892 AC_CHECK_FUNCS(localeconv)
1893 AC_REQUIRE([AC_HEADER_STDBOOL])
1894 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
1897 AC_DEFUN([jm_PREREQ_MEMCHR],
1899 AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h)
1902 # Check for the external symbol, _system_configuration,
1903 # a struct with member `physmem'.
1904 AC_DEFUN([gl_SYS__SYSTEM_CONFIGURATION],
1905 [AC_CACHE_CHECK(for external symbol _system_configuration,
1906 gl_cv_var__system_configuration,
1907 [AC_LINK_IFELSE([AC_LANG_PROGRAM(
1908 [[#include <sys/systemcfg.h>
1910 [double x = _system_configuration.physmem;])],
1911 [gl_cv_var__system_configuration=yes],
1912 [gl_cv_var__system_configuration=no])])
1914 if test $gl_cv_var__system_configuration = yes; then
1915 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
1916 [Define to 1 if you have the external variable,
1917 _system_configuration with a member named physmem.])
1922 AC_DEFUN([jm_PREREQ_PHYSMEM],
1924 AC_CHECK_HEADERS([unistd.h sys/pstat.h sys/sysmp.h sys/sysinfo.h \
1925 machine/hal_sysinfo.h sys/table.h sys/param.h sys/sysctl.h \
1927 AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo sysctl table)
1929 AC_REQUIRE([gl_SYS__SYSTEM_CONFIGURATION])
1932 AC_DEFUN([jm_PREREQ_POSIXVER],
1934 AC_CHECK_HEADERS(unistd.h)
1935 AC_CHECK_DECLS([getenv])
1938 AC_DEFUN([jm_PREREQ_QUOTEARG],
1940 AC_CHECK_FUNCS(isascii iswprint)
1941 AC_REQUIRE([jm_FUNC_MBRTOWC])
1942 AC_REQUIRE([jm_FUNC_MEMCMP])
1943 AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
1944 AC_REQUIRE([AC_HEADER_STDC])
1945 AC_REQUIRE([AC_C_BACKSLASH_A])
1946 AC_REQUIRE([AC_TYPE_MBSTATE_T])
1947 AC_REQUIRE([AM_C_PROTOTYPES])
1950 AC_DEFUN([jm_PREREQ_READUTMP],
1952 AC_REQUIRE([AC_HEADER_STDC])
1953 AC_CHECK_HEADERS(string.h utmp.h utmpx.h sys/param.h)
1954 AC_CHECK_FUNCS(utmpname)
1955 AC_CHECK_FUNCS(utmpxname)
1956 AC_REQUIRE([AM_C_PROTOTYPES])
1958 if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then
1960 $ac_includes_default
1968 AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes])
1969 AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes])
1970 AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes])
1971 AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes])
1972 AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes])
1973 AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes])
1974 AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes])
1975 AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes])
1976 AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes])
1977 AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes])
1979 AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes])
1980 AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes])
1981 AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes])
1982 AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes])
1984 AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes])
1985 AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes])
1986 AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes])
1987 AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes])
1992 AC_DEFUN([jm_PREREQ_STAT],
1994 AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
1995 AC_CHECK_HEADERS(sys/param.h sys/mount.h)
1996 AC_CHECK_FUNCS(statvfs)
1998 # For `struct statfs' on Ultrix 4.4.
1999 AC_CHECK_HEADERS(netinet/in.h nfs/nfs_clnt.h nfs/vfs.h)
2001 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
2004 $ac_includes_default
2005 #if HAVE_SYS_STATVFS_H
2006 # include <sys/statvfs.h>
2009 # include <sys/vfs.h>
2011 #if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H
2012 # if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H
2013 /* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
2014 # include <sys/param.h>
2015 # include <sys/mount.h>
2016 # elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H
2017 /* Ultrix 4.4 needs these for the declaration of struct statfs. */
2018 # include <netinet/in.h>
2019 # include <nfs/nfs_clnt.h>
2020 # include <nfs/vfs.h>
2024 AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
2025 AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
2026 AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
2027 AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
2028 AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
2029 AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
2030 AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
2031 AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
2032 AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
2033 AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
2034 AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
2037 AC_DEFUN([jm_PREREQ_STRNLEN],
2039 AC_REQUIRE([AC_FUNC_STRNLEN])
2040 AC_REQUIRE([AC_HEADER_STDC])
2041 AC_CHECK_HEADERS(memory.h)
2042 AC_CHECK_DECLS([memchr])
2044 # This is necessary because automake-1.6.1 doesn't understand
2045 # that the above use of AC_FUNC_STRNLEN means we may have to use
2047 test $ac_cv_func_strnlen_working = yes \
2048 && AC_LIBOBJ(strnlen)
2051 AC_DEFUN([jm_PREREQ_TEMPNAME],
2053 AC_REQUIRE([AC_HEADER_STDC])
2054 AC_REQUIRE([AC_HEADER_STAT])
2055 AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h)
2056 AC_CHECK_FUNCS(__secure_getenv gettimeofday)
2057 AC_CHECK_DECLS([getenv])
2058 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
2061 AC_DEFUN([jm_PREREQ_XGETCWD],
2063 AC_REQUIRE([AC_C_PROTOTYPES])
2064 AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h)
2065 AC_CHECK_FUNCS(getcwd)
2066 AC_REQUIRE([AC_FUNC_GETCWD_NULL])
2069 AC_DEFUN([jm_PREREQ_XREADLINK],
2071 AC_REQUIRE([AC_C_PROTOTYPES])
2072 AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h)
2077 dnl FIXME: put these prerequisite-only *.m4 files in a separate
2078 dnl directory -- otherwise, they'll conflict with existing files.
2080 dnl These are the prerequisite macros for GNU's error.c file.
2081 AC_DEFUN([jm_PREREQ_ERROR],
2083 AC_CHECK_FUNCS(strerror vprintf doprnt)
2084 AC_CHECK_DECLS([strerror])
2085 AC_CHECK_HEADERS([libintl.h])
2092 dnl autoconf tests required for use of mbswidth.c
2093 dnl From Bruno Haible.
2095 AC_DEFUN([jm_PREREQ_MBSWIDTH],
2097 AC_REQUIRE([AC_HEADER_STDC])
2098 AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
2099 AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
2102 AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
2104 /* AIX 3.2.5 declares wcwidth in <string.h>. */
2106 # include <string.h>
2113 char *p = (char *) wcwidth;
2115 ], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
2116 if test $ac_cv_have_decl_wcwidth = yes; then
2121 AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
2122 [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
2127 # mbrtowc.m4 serial 4 (fileutils-4.1.3)
2128 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
2129 dnl This file is free software, distributed under the terms of the GNU
2130 dnl General Public License. As a special exception to the GNU General
2131 dnl Public License, this file may be distributed as part of a program
2132 dnl that contains a configuration script generated by Autoconf, under
2133 dnl the same distribution terms as the rest of that program.
2135 dnl From Paul Eggert
2137 AC_DEFUN([jm_FUNC_MBRTOWC],
2139 AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
2142 [#include <wchar.h>],
2143 [mbstate_t state; return ! (sizeof state && mbrtowc);],
2144 jm_cv_func_mbrtowc=yes,
2145 jm_cv_func_mbrtowc=no)])
2146 if test $jm_cv_func_mbrtowc = yes; then
2147 AC_DEFINE(HAVE_MBRTOWC, 1,
2148 [Define to 1 if mbrtowc and mbstate_t are properly declared.])
2154 dnl A replacement for autoconf's macro by the same name. This version
2155 dnl uses `ac_lib' rather than `i' for the loop variable, but more importantly
2156 dnl moves the ACTION-IF-FOUND ([$]3) into the inner `if'-block so that it is
2157 dnl run only if one of the listed libraries ends up being used (and not in
2158 dnl the `none required' case.
2159 dnl I hope it's only temporary while we wait for that version to be fixed.
2160 undefine([AC_SEARCH_LIBS])
2162 # AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS,
2163 # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
2164 # [OTHER-LIBRARIES])
2165 # --------------------------------------------------------
2166 # Search for a library defining FUNC, if it's not already available.
2167 AC_DEFUN([AC_SEARCH_LIBS],
2169 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
2171 ac_func_search_save_LIBS=$LIBS
2173 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1='none required'])
2174 if test "$ac_cv_search_$1" = no; then
2175 for ac_lib in $2; do
2176 LIBS="-l$ac_lib $5 $ac_func_search_save_LIBS"
2177 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="-l$ac_lib"; break])
2180 LIBS=$ac_func_search_save_LIBS
2183 if test "$ac_cv_search_$1" = no; then :
2186 if test "$ac_cv_search_$1" = 'none required'; then :
2189 LIBS="$ac_cv_search_$1 $LIBS"
2195 # Check for stdbool.h that conforms to C99.
2197 # Copyright (C) 2002 Free Software Foundation, Inc.
2199 # This program is free software; you can redistribute it and/or modify
2200 # it under the terms of the GNU General Public License as published by
2201 # the Free Software Foundation; either version 2, or (at your option)
2202 # any later version.
2204 # This program is distributed in the hope that it will be useful,
2205 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2206 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2207 # GNU General Public License for more details.
2209 # You should have received a copy of the GNU General Public License
2210 # along with this program; if not, write to the Free Software
2211 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2214 AC_DEFUN([AC_HEADER_STDBOOL],
2215 [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
2216 [ac_cv_header_stdbool_h],
2219 #include <stdbool.h>
2221 "error: bool is not defined"
2224 "error: false is not defined"
2227 "error: false is not 0"
2230 "error: false is not defined"
2233 "error: true is not 1"
2235 #ifndef __bool_true_false_are_defined
2236 "error: __bool_true_false_are_defined is not defined"
2239 struct s { _Bool s: 1; _Bool t; } s;
2241 char a[true == 1 ? 1 : -1];
2242 char b[false == 0 ? 1 : -1];
2243 char c[__bool_true_false_are_defined == 1 ? 1 : -1];
2244 char d[(bool) -0.5 == true ? 1 : -1];
2246 char f[(_Bool) -0.0 == false ? 1 : -1];
2248 char h[sizeof (_Bool)];
2251 [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
2252 [ac_cv_header_stdbool_h=yes],
2253 [ac_cv_header_stdbool_h=no])])
2254 if test $ac_cv_header_stdbool_h = yes; then
2255 AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
2259 # Copyright 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
2261 # This program is free software; you can redistribute it and/or modify
2262 # it under the terms of the GNU General Public License as published by
2263 # the Free Software Foundation; either version 2, or (at your option)
2264 # any later version.
2266 # This program is distributed in the hope that it will be useful,
2267 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2268 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2269 # GNU General Public License for more details.
2271 # You should have received a copy of the GNU General Public License
2272 # along with this program; if not, write to the Free Software
2273 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2278 AC_DEFUN([AM_C_PROTOTYPES],
2279 [AC_REQUIRE([AM_PROG_CC_STDC])
2280 AC_REQUIRE([AC_PROG_CPP])
2281 AC_MSG_CHECKING([for function prototypes])
2282 if test "$am_cv_prog_cc_stdc" != no; then
2284 AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
2288 U=_ ANSI2KNR=./ansi2knr
2290 # Ensure some checks needed by ansi2knr itself.
2292 AC_CHECK_HEADERS(string.h)
2294 AC_SUBST(ANSI2KNR)dnl
2297 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
2300 # Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
2302 # This program is free software; you can redistribute it and/or modify
2303 # it under the terms of the GNU General Public License as published by
2304 # the Free Software Foundation; either version 2, or (at your option)
2305 # any later version.
2307 # This program is distributed in the hope that it will be useful,
2308 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2309 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2310 # GNU General Public License for more details.
2312 # You should have received a copy of the GNU General Public License
2313 # along with this program; if not, write to the Free Software
2314 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
2319 # @defmac AC_PROG_CC_STDC
2320 # @maindex PROG_CC_STDC
2322 # If the C compiler in not in ANSI C mode by default, try to add an option
2323 # to output variable @code{CC} to make it so. This macro tries various
2324 # options that select ANSI C on some system or another. It considers the
2325 # compiler to be in ANSI C mode if it handles function prototypes correctly.
2327 # If you use this macro, you should check after calling it whether the C
2328 # compiler has been set to accept ANSI C; if not, the shell variable
2329 # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
2330 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
2331 # program @code{ansi2knr}, which comes with Ghostscript.
2334 AC_DEFUN([AM_PROG_CC_STDC],
2335 [AC_REQUIRE([AC_PROG_CC])
2336 AC_BEFORE([$0], [AC_C_INLINE])
2337 AC_BEFORE([$0], [AC_C_CONST])
2338 dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
2339 dnl a magic option to avoid problems with ANSI preprocessor commands
2341 dnl FIXME: can't do this because then AC_AIX won't work due to a
2342 dnl circular dependency.
2343 dnl AC_BEFORE([$0], [AC_PROG_CPP])
2344 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
2345 AC_CACHE_VAL(am_cv_prog_cc_stdc,
2346 [am_cv_prog_cc_stdc=no
2348 # Don't try gcc -ansi; that turns off useful extensions and
2349 # breaks some systems' header files.
2350 # AIX -qlanglvl=ansi
2351 # Ultrix and OSF/1 -std1
2352 # HP-UX 10.20 and later -Ae
2353 # HP-UX older versions -Aa -D_HPUX_SOURCE
2354 # SVR4 -Xc -D__EXTENSIONS__
2355 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
2357 CC="$ac_save_CC $ac_arg"
2359 [#include <stdarg.h>
2361 #include <sys/types.h>
2362 #include <sys/stat.h>
2363 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
2364 struct buf { int x; };
2365 FILE * (*rcsopen) (struct buf *, struct stat *, int);
2366 static char *e (p, i)
2372 static char *f (char * (*g) (char **, int), char **p, ...)
2377 s = g (p, va_arg (v,int));
2381 int test (int i, double x);
2382 struct s1 {int (*f) (int a);};
2383 struct s2 {int (*f) (double a);};
2384 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
2388 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
2390 [am_cv_prog_cc_stdc="$ac_arg"; break])
2394 if test -z "$am_cv_prog_cc_stdc"; then
2395 AC_MSG_RESULT([none needed])
2397 AC_MSG_RESULT([$am_cv_prog_cc_stdc])
2399 case "x$am_cv_prog_cc_stdc" in
2401 *) CC="$CC $am_cv_prog_cc_stdc" ;;
2405 AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC])
2409 dnl From Paul Eggert.
2413 # Define intmax_t to long or long long if <inttypes.h> doesn't define.
2415 AC_DEFUN([jm_AC_TYPE_INTMAX_T],
2417 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
2418 AC_CHECK_TYPE(intmax_t, ,
2419 [test $ac_cv_type_long_long = yes \
2420 && ac_type='long long' \
2422 AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
2423 [Define to widest signed type if <inttypes.h> doesn't define.])])
2426 # Define uintmax_t to unsigned long or unsigned long long
2427 # if <inttypes.h> doesn't define.
2429 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
2431 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
2432 AC_CHECK_TYPE(uintmax_t, ,
2433 [test $ac_cv_type_unsigned_long_long = yes \
2434 && ac_type='unsigned long long' \
2435 || ac_type='unsigned long'
2436 AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
2437 [Define to widest unsigned type if <inttypes.h> doesn't define.])])
2442 dnl From Paul Eggert.
2444 # Define HAVE_LONG_LONG if 'long long' works.
2446 AC_DEFUN([jm_AC_TYPE_LONG_LONG],
2448 AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
2449 [AC_TRY_LINK([long long ll = 1; int i = 63;],
2450 [long long llmax = (long long) -1;
2451 return ll << i | ll >> i | llmax / ll | llmax % ll;],
2452 ac_cv_type_long_long=yes,
2453 ac_cv_type_long_long=no)])
2454 if test $ac_cv_type_long_long = yes; then
2455 AC_DEFINE(HAVE_LONG_LONG, 1,
2456 [Define if you have the long long type.])
2460 # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
2462 AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
2464 AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
2465 [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
2466 [unsigned long long ullmax = (unsigned long long) -1;
2467 return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
2468 ac_cv_type_unsigned_long_long=yes,
2469 ac_cv_type_unsigned_long_long=no)])
2470 if test $ac_cv_type_unsigned_long_long = yes; then
2471 AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
2472 [Define if you have the unsigned long long type.])
2478 AC_DEFUN([jm_FUNC_MEMCMP],
2479 [AC_REQUIRE([AC_FUNC_MEMCMP])dnl
2480 if test $ac_cv_func_memcmp_working = no; then
2481 AC_DEFINE(memcmp, rpl_memcmp,
2482 [Define to rpl_memcmp if the replacement function should be used.])
2486 # getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
2488 # Copyright 2001 Free Software Foundation, Inc.
2490 # This program is free software; you can redistribute it and/or modify
2491 # it under the terms of the GNU General Public License as published by
2492 # the Free Software Foundation; either version 2, or (at your option)
2493 # any later version.
2495 # This program is distributed in the hope that it will be useful,
2496 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2497 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2498 # GNU General Public License for more details.
2500 # You should have received a copy of the GNU General Public License
2501 # along with this program; if not, write to the Free Software Foundation,
2502 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2504 # Written by Paul Eggert.
2506 AC_DEFUN([AC_FUNC_GETCWD_NULL],
2507 [AC_CHECK_HEADERS(stdlib.h unistd.h)
2508 AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
2509 [ac_cv_func_getcwd_null],
2512 # ifdef HAVE_STDLIB_H
2513 # include <stdlib.h>
2515 # ifdef HAVE_UNISTD_H
2516 # include <unistd.h>
2524 if (chdir ("/") != 0)
2528 char *f = getcwd (NULL, 0);
2529 exit (! (f && f[0] == '/' && !f[1]));
2532 [ac_cv_func_getcwd_null=yes],
2533 [ac_cv_func_getcwd_null=no],
2534 [ac_cv_func_getcwd_null=no])])
2535 if test $ac_cv_func_getcwd_null = yes; then
2536 AC_DEFINE(HAVE_GETCWD_NULL, 1,
2537 [Define if getcwd (NULL, 0) allocates memory for result.])
2542 dnl Find out how to get the file descriptor associated with an open DIR*.
2543 dnl From Jim Meyering
2545 AC_DEFUN([UTILS_FUNC_DIRFD],
2547 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
2548 AC_REQUIRE([AC_PROG_CPP])
2549 AC_REQUIRE([AC_PROG_EGREP])
2554 # include <dirent.h>
2555 #else /* not HAVE_DIRENT_H */
2556 # define dirent direct
2557 # if HAVE_SYS_NDIR_H
2558 # include <sys/ndir.h>
2559 # endif /* HAVE_SYS_NDIR_H */
2561 # include <sys/dir.h>
2562 # endif /* HAVE_SYS_DIR_H */
2565 # endif /* HAVE_NDIR_H */
2566 #endif /* HAVE_DIRENT_H */
2568 AC_CHECK_FUNCS(dirfd)
2569 AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
2571 AC_CACHE_CHECK([whether dirfd is a macro],
2572 jm_cv_func_dirfd_macro,
2573 AC_EGREP_CPP([dirent_header_defines_dirfd], [$dirfd_headers
2575 dirent_header_defines_dirfd
2577 jm_cv_func_dirfd_macro=yes,
2578 jm_cv_func_dirfd_macro=no))
2580 # Use the replacement only if we have no function, macro,
2581 # or declaration with that name.
2582 if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$jm_cv_func_dirfd_macro \
2584 AC_REPLACE_FUNCS([dirfd])
2586 [how to get the file descriptor associated with an open DIR*],
2587 gl_cv_sys_dir_fd_member_name,
2589 dirfd_save_CFLAGS=$CFLAGS
2590 for ac_expr in d_fd dd_fd; do
2592 CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
2596 [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;],
2599 CFLAGS=$dirfd_save_CFLAGS
2600 test "$dir_fd_found" = yes && break
2602 test "$dir_fd_found" = yes || ac_expr=no_such_member
2604 gl_cv_sys_dir_fd_member_name=$ac_expr
2607 if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
2608 AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME,
2609 $gl_cv_sys_dir_fd_member_name,
2610 [the name of the file descriptor member of DIR])
2612 AH_VERBATIM(DIR_TO_FD,
2613 [#ifdef DIR_FD_MEMBER_NAME
2614 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
2616 # define DIR_TO_FD(Dir_p) -1
2623 # acl.m4 - check for access control list (ACL) primitives
2625 # Copyright (C) 2002 Free Software Foundation, Inc.
2627 # This program is free software; you can redistribute it and/or modify
2628 # it under the terms of the GNU General Public License as published by
2629 # the Free Software Foundation; either version 2, or (at your option)
2630 # any later version.
2632 # This program is distributed in the hope that it will be useful,
2633 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2634 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2635 # GNU General Public License for more details.
2637 # You should have received a copy of the GNU General Public License
2638 # along with this program; if not, write to the Free Software Foundation,
2639 # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2641 # Written by Paul Eggert.
2643 AC_DEFUN([AC_FUNC_ACL],
2644 [AC_CHECK_HEADERS(sys/acl.h)
2645 AC_CHECK_FUNCS(acl)])
2648 # Use the replacement ftw.c if the one in the C library is inadequate or buggy.
2649 # For now, we always use the code in lib/ because libc doesn't have the FTW_DCH
2650 # or FTW_DCHP that we need. Arrange to use lib/ftw.h. And since that
2651 # implementation uses tsearch.c/tdestroy, add tsearch.o to the list of
2652 # objects and arrange to use lib/search.h if necessary.
2655 AC_DEFUN([AC_FUNC_FTW],
2658 AC_REQUIRE([AC_HEADER_STAT])
2659 AC_REQUIRE([jm_FUNC_LSTAT])
2660 AC_REQUIRE([AC_HEADER_DIRENT])
2661 AC_CHECK_HEADERS(sys/param.h)
2662 AC_CHECK_DECLS([stpcpy])
2664 # In the event that we have to use the replacement ftw.c,
2665 # see if we'll also need the replacement tsearch.c.
2666 AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
2668 AC_CACHE_CHECK([for ftw/FTW_CHDIR that informs callback of failed chdir],
2669 ac_cv_func_ftw_working,
2671 # The following test would fail prior to glibc-2.3.2, because `depth'
2672 # would be 2 rather than 4. Of course, now that we require FTW_DCH
2673 # and FTW_DCHP, this test fails even with GNU libc's fixed ftw.
2674 mkdir -p conftest.dir/a/b/c
2675 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2680 static char *_f[] = { "conftest.dir", "conftest.dir/a",
2681 "conftest.dir/a/b", "conftest.dir/a/b/c" };
2682 static char **p = _f;
2686 cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
2688 if (strcmp (file, *p++) != 0)
2697 /* Require these symbols, too. */
2701 int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
2702 exit ((err == 0 && depth == 4) ? 0 : 1);
2705 [ac_cv_func_ftw_working=yes],
2706 [ac_cv_func_ftw_working=no],
2707 [ac_cv_func_ftw_working=no])])
2709 if test $ac_cv_func_ftw_working = no; then
2711 AC_CONFIG_LINKS([$ac_config_libobj_dir/ftw.h:$ac_config_libobj_dir/ftw_.h])
2712 # Add tsearch.o IFF we have to use the replacement ftw.c.
2713 if test -n "$need_tdestroy"; then
2714 AC_LIBOBJ([tsearch])
2715 # Link search.h to search_.h if we use the replacement tsearch.c.
2717 [$ac_config_libobj_dir/search.h:$ac_config_libobj_dir/search_.h])
2724 dnl From Jim Meyering.
2725 dnl Determine whether lstat has the bug that it succeeds when given the
2726 dnl zero-length file name argument. The lstat from SunOS4.1.4 and the Hurd
2727 dnl (as of 1998-11-01) do this.
2729 dnl If it does, then define HAVE_LSTAT_EMPTY_STRING_BUG and arrange to
2730 dnl compile the wrapper function.
2733 AC_DEFUN([jm_FUNC_LSTAT],
2735 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
2736 AC_CACHE_CHECK([whether lstat accepts an empty string],
2737 jm_cv_func_lstat_empty_string_bug,
2739 # include <sys/types.h>
2740 # include <sys/stat.h>
2746 exit (lstat ("", &sbuf) ? 1 : 0);
2749 jm_cv_func_lstat_empty_string_bug=yes,
2750 jm_cv_func_lstat_empty_string_bug=no,
2751 dnl When crosscompiling, assume lstat is broken.
2752 jm_cv_func_lstat_empty_string_bug=yes)
2754 if test $jm_cv_func_lstat_empty_string_bug = yes; then
2756 AC_DEFINE(HAVE_LSTAT_EMPTY_STRING_BUG, 1,
2757 [Define if lstat has the bug that it succeeds when given the zero-length
2758 file name argument. The lstat from SunOS4.1.4 and the Hurd as of 1998-11-01)
2765 dnl From Jim Meyering.
2766 dnl Provide lchown on systems that lack it.
2768 AC_DEFUN([jm_FUNC_LCHOWN],
2770 AC_REQUIRE([AC_TYPE_UID_T])
2771 AC_REPLACE_FUNCS(lchown)
2776 # When rmdir fails because the specified directory is not empty, it sets
2777 # errno to some value, usually ENOTEMPTY. However, on some AIX systems,
2778 # ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and
2779 # in general, to avoid depending on the use of any particular symbol, this
2780 # test runs a test to determine the actual numeric value.
2781 AC_DEFUN([fetish_FUNC_RMDIR_NOTEMPTY],
2783 AC_CACHE_CHECK([for rmdir-not-empty errno value],
2784 fetish_cv_func_rmdir_errno_not_empty,
2786 # Arrange for deletion of the temporary directory this test creates.
2787 ac_clean_files="$ac_clean_files confdir2"
2788 mkdir confdir2; : > confdir2/file
2801 s = fopen ("confdir2/errno", "w");
2802 fprintf (s, "%d\n", val);
2806 fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,
2807 fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4',
2808 fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY
2813 AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY],
2814 $fetish_cv_func_rmdir_errno_not_empty,
2815 [the value to which errno is set when rmdir fails on a nonempty directory])
2820 dnl From Jim Meyering.
2821 dnl Determine whether chown accepts arguments of -1 for uid and gid.
2822 dnl If it doesn't, arrange to use the replacement function.
2825 AC_DEFUN([jm_FUNC_CHOWN],
2826 [AC_REQUIRE([AC_TYPE_UID_T])dnl
2827 test -z "$ac_cv_header_unistd_h" \
2828 && AC_CHECK_HEADERS(unistd.h)
2829 AC_CACHE_CHECK([for working chown], jm_cv_func_working_chown,
2831 # include <sys/types.h>
2832 # include <sys/stat.h>
2834 # ifdef HAVE_UNISTD_H
2835 # include <unistd.h>
2841 char *f = "conftest.chown";
2842 struct stat before, after;
2844 if (creat (f, 0600) < 0)
2846 if (stat (f, &before) < 0)
2848 if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
2850 if (stat (f, &after) < 0)
2852 exit ((before.st_uid == after.st_uid
2853 && before.st_gid == after.st_gid) ? 0 : 1);
2856 jm_cv_func_working_chown=yes,
2857 jm_cv_func_working_chown=no,
2858 dnl When crosscompiling, assume chown is broken.
2859 jm_cv_func_working_chown=no)
2861 if test $jm_cv_func_working_chown = no; then
2863 AC_DEFINE(chown, rpl_chown,
2864 [Define to rpl_chown if the replacement function should be used.])
2870 dnl From Jim Meyering.
2871 dnl A wrapper around AC_FUNC_MKTIME.
2873 AC_DEFUN([jm_FUNC_MKTIME],
2874 [AC_REQUIRE([AC_FUNC_MKTIME])dnl
2876 dnl mktime.c uses localtime_r if it exists. Check for it.
2877 AC_CHECK_FUNCS(localtime_r)
2879 if test $ac_cv_func_working_mktime = no; then
2880 AC_DEFINE(mktime, rpl_mktime,
2881 [Define to rpl_mktime if the replacement function should be used.])
2887 dnl From Jim Meyering.
2888 dnl Determine whether stat has the bug that it succeeds when given the
2889 dnl zero-length file name argument. The stat from SunOS4.1.4 and the Hurd
2890 dnl (as of 1998-11-01) do this.
2892 dnl If it does, then define HAVE_STAT_EMPTY_STRING_BUG and arrange to
2893 dnl compile the wrapper function.
2896 AC_DEFUN([jm_FUNC_STAT],
2898 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
2899 AC_CACHE_CHECK([whether stat accepts an empty string],
2900 jm_cv_func_stat_empty_string_bug,
2902 # include <sys/types.h>
2903 # include <sys/stat.h>
2909 exit (stat ("", &sbuf) ? 1 : 0);
2912 jm_cv_func_stat_empty_string_bug=yes,
2913 jm_cv_func_stat_empty_string_bug=no,
2914 dnl When crosscompiling, assume stat is broken.
2915 jm_cv_func_stat_empty_string_bug=yes)
2917 if test $jm_cv_func_stat_empty_string_bug = yes; then
2919 AC_DEFINE(HAVE_STAT_EMPTY_STRING_BUG, 1,
2920 [Define if stat has the bug that it succeeds when given the zero-length
2921 file name argument. The stat from SunOS4.1.4 and the Hurd as of 1998-11-01)
2928 dnl From Jim Meyering.
2929 dnl Check for the nanosleep function.
2930 dnl If not found, use the supplied replacement.
2933 AC_DEFUN([jm_FUNC_NANOSLEEP],
2935 nanosleep_save_libs=$LIBS
2937 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
2938 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
2939 AC_SEARCH_LIBS(nanosleep, [rt posix4], [LIB_NANOSLEEP=$ac_cv_search_nanosleep])
2940 AC_SUBST(LIB_NANOSLEEP)
2942 AC_CACHE_CHECK([whether nanosleep works],
2943 jm_cv_func_nanosleep_works,
2945 AC_REQUIRE([AC_HEADER_TIME])
2947 # if TIME_WITH_SYS_TIME
2948 # include <sys/time.h>
2951 # if HAVE_SYS_TIME_H
2952 # include <sys/time.h>
2961 struct timespec ts_sleep, ts_remaining;
2962 ts_sleep.tv_sec = 0;
2963 ts_sleep.tv_nsec = 1;
2964 exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
2967 jm_cv_func_nanosleep_works=yes,
2968 jm_cv_func_nanosleep_works=no,
2969 dnl When crosscompiling, assume the worst.
2970 jm_cv_func_nanosleep_works=no)
2972 if test $jm_cv_func_nanosleep_works = no; then
2973 AC_LIBOBJ(nanosleep)
2974 AC_DEFINE(nanosleep, rpl_nanosleep,
2975 [Define to rpl_nanosleep if the replacement function should be used.])
2978 LIBS=$nanosleep_save_libs
2981 #serial 7 -*- autoconf -*-
2983 dnl From Jim Meyering.
2985 dnl See if the glibc *_unlocked I/O macros are available.
2986 dnl Use only those *_unlocked macros that are declared.
2989 AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
2991 [clearerr_unlocked, feof_unlocked, ferror_unlocked,
2992 fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
2993 fread_unlocked, fwrite_unlocked, getc_unlocked,
2994 getchar_unlocked, putc_unlocked, putchar_unlocked])])
2998 dnl Written by Jim Meyering
3000 AC_DEFUN([jm_FUNC_GROUP_MEMBER],
3002 dnl Do this replacement check manually because I want the hyphen
3003 dnl (not the underscore) in the filename.
3004 AC_CHECK_FUNC(group_member, , [AC_LIBOBJ(group-member)])
3010 dnl From Jim Meyering.
3012 dnl Check whether putenv ("FOO") removes FOO from the environment.
3013 dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
3016 AC_DEFUN([jm_FUNC_PUTENV],
3017 [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
3022 /* Put it in env. */
3023 if (putenv ("CONFTEST_putenv=val"))
3026 /* Try to remove it. */
3027 if (putenv ("CONFTEST_putenv"))
3030 /* Make sure it was deleted. */
3031 if (getenv ("CONFTEST_putenv") != 0)
3037 jm_cv_func_svid_putenv=yes,
3038 jm_cv_func_svid_putenv=no,
3039 dnl When crosscompiling, assume putenv is broken.
3040 jm_cv_func_svid_putenv=no)
3042 if test $jm_cv_func_svid_putenv = no; then
3044 AC_DEFINE(putenv, rpl_putenv,
3045 [Define to rpl_putenv if the replacement function should be used.])
3053 AC_MSG_CHECKING(for AFS)
3054 if test -d /afs; then
3055 AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
3060 AC_MSG_RESULT($ac_result)
3065 # autoconf tests required for use of xstrtoumax.c
3067 AC_DEFUN([jm_AC_PREREQ_XSTRTOUMAX],
3069 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3070 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3071 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3072 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3073 AC_CHECK_DECLS([strtol, strtoul, strtoull, strtoimax, strtoumax])
3074 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3076 AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
3077 jm_cv_func_strtoumax_macro,
3078 AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
3080 inttypes_h_defines_strtoumax
3082 jm_cv_func_strtoumax_macro=yes,
3083 jm_cv_func_strtoumax_macro=no))
3085 if test "$jm_cv_func_strtoumax_macro" != yes; then
3086 AC_REPLACE_FUNCS(strtoumax)
3089 dnl Only the replacement strtoumax invokes strtoul and strtoull,
3090 dnl so we need the replacements only if strtoumax does not exist.
3091 case "$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in
3093 AC_REPLACE_FUNCS(strtoul)
3095 dnl We don't need (and can't compile) the replacement strtoull
3096 dnl unless the type `unsigned long long' exists.
3097 if test "$ac_cv_type_unsigned_long_long" = yes; then
3098 AC_REPLACE_FUNCS(strtoull)
3105 dnl Cloned from xstrtoumax.m4. Keep these files in sync.
3107 # autoconf tests required for use of xstrtoimax.c
3109 AC_DEFUN([jm_AC_PREREQ_XSTRTOIMAX],
3111 AC_REQUIRE([jm_AC_TYPE_INTMAX_T])
3112 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
3113 AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
3114 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
3115 AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoimax, strtoumax])
3116 AC_CHECK_HEADERS(limits.h stdlib.h inttypes.h)
3118 AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
3119 jm_cv_func_strtoimax_macro,
3120 AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
3122 inttypes_h_defines_strtoimax
3124 jm_cv_func_strtoimax_macro=yes,
3125 jm_cv_func_strtoimax_macro=no))
3127 if test "$jm_cv_func_strtoimax_macro" != yes; then
3128 AC_REPLACE_FUNCS(strtoimax)
3131 dnl Only the replacement strtoimax invokes strtol and strtoll,
3132 dnl so we need the replacements only if strtoimax does not exist.
3133 case "$jm_cv_func_strtoimax_macro,$ac_cv_func_strtoimax" in
3135 AC_REPLACE_FUNCS(strtol)
3137 dnl We don't need (and can't compile) the replacement strtoll
3138 dnl unless the type `long long' exists.
3139 if test "$ac_cv_type_long_long" = yes; then
3140 AC_REPLACE_FUNCS(strtoll)
3147 dnl Run a program to determine whether whether link(2) follows symlinks.
3148 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
3150 AC_DEFUN([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK],
3153 [whether link(2) dereferences a symlink specified with a trailing slash],
3154 jm_ac_cv_func_link_follows_symlink,
3156 dnl poor-man's AC_REQUIRE: FIXME: repair this once autoconf-3 provides
3157 dnl the appropriate framework.
3158 test -z "$ac_cv_header_unistd_h" \
3159 && AC_CHECK_HEADERS(unistd.h)
3161 # Create a regular file.
3162 echo > conftest.file
3165 # include <sys/types.h>
3166 # include <sys/stat.h>
3167 # ifdef HAVE_UNISTD_H
3168 # include <unistd.h>
3171 # define SAME_INODE(Stat_buf_1, Stat_buf_2) \
3172 ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
3173 && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
3178 const char *file = "conftest.file";
3179 const char *sym = "conftest.sym";
3180 const char *hard = "conftest.hard";
3181 struct stat sb_file, sb_hard;
3183 /* Create a symlink to the regular file. */
3184 if (symlink (file, sym))
3187 /* Create a hard link to that symlink. */
3188 if (link (sym, hard))
3191 if (lstat (hard, &sb_hard))
3193 if (lstat (file, &sb_file))
3196 /* If the dev/inode of hard and file are the same, then
3197 the link call followed the symlink. */
3198 return SAME_INODE (sb_hard, sb_file) ? 0 : 1;
3201 jm_ac_cv_func_link_follows_symlink=yes,
3202 jm_ac_cv_func_link_follows_symlink=no,
3203 jm_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling.
3206 if test $jm_ac_cv_func_link_follows_symlink = yes; then
3207 AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1,
3208 [Define if `link(2)' dereferences symbolic links.])
3214 dnl This macro is intended to be used solely in this file.
3215 dnl These are the prerequisite macros for GNU's strftime.c replacement.
3216 AC_DEFUN([_jm_STRFTIME_PREREQS],
3218 dnl strftime.c uses localtime_r and the underyling system strftime
3220 AC_CHECK_FUNCS(localtime_r strftime)
3222 AC_CHECK_HEADERS(limits.h)
3223 AC_CHECK_FUNCS(bcopy tzset mempcpy memcpy memset)
3225 # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
3228 AC_CHECK_FUNCS(mblen mbrlen)
3230 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
3231 [AC_DEFINE(HAVE_TM_GMTOFF, 1,
3232 [Define if struct tm has the tm_gmtoff member.])],
3234 [#include <time.h>])
3237 dnl From Jim Meyering.
3239 AC_DEFUN([jm_FUNC_GNU_STRFTIME],
3240 [AC_REQUIRE([AC_HEADER_TIME])dnl
3242 _jm_STRFTIME_PREREQS
3244 AC_REQUIRE([AC_C_CONST])dnl
3245 AC_REQUIRE([AC_HEADER_STDC])dnl
3246 AC_CHECK_HEADERS(sys/time.h)
3247 AC_DEFINE([my_strftime], [nstrftime],
3248 [Define to the name of the strftime replacement function.])
3251 AC_DEFUN([jm_FUNC_STRFTIME],
3253 _jm_STRFTIME_PREREQS
3258 dnl From Jim Meyering
3259 dnl Using code from emacs, based on suggestions from Paul Eggert
3260 dnl and Ulrich Drepper.
3262 dnl Find out how to determine the number of pending output bytes on a stream.
3263 dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
3264 dnl we have to grub around in the FILE struct.
3266 AC_DEFUN([jm_FUNC_FPENDING],
3268 AC_CHECK_HEADERS(stdio_ext.h)
3269 AC_REPLACE_FUNCS([__fpending])
3271 # if HAVE_STDIO_EXT_H
3272 # include <stdio_ext.h>
3275 AC_CHECK_DECLS([__fpending], , , $fp_headers)
3276 if test $ac_cv_func___fpending = no; then
3278 [how to determine the number of pending output bytes on a stream],
3279 ac_cv_sys_pending_output_n_bytes,
3284 'fp->_IO_write_ptr - fp->_IO_write_base' \
3286 '# traditional Unix' \
3287 'fp->_ptr - fp->_base' \
3290 'fp->_p - fp->_bf._base' \
3293 'fp->__ptr - fp->__base' \
3296 'fp->__bufp - fp->__buffer' \
3298 '# old glibc iostream?' \
3299 'fp->_pptr - fp->_pbase' \
3302 '(*fp)->_ptr - (*fp)->_base' \
3304 '# e.g., DGUX R4.11; the info is not available' \
3308 # Skip each embedded comment.
3309 case "$ac_expr" in '#'*) continue;; esac
3314 [FILE *fp = stdin; (void) ($ac_expr);],
3317 test "$fp_done" = yes && break
3320 ac_cv_sys_pending_output_n_bytes=$ac_expr
3323 AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES,
3324 $ac_cv_sys_pending_output_n_bytes,
3325 [the number of pending output bytes on stream `fp'])
3329 # inttypes-pri.m4 serial 1001 (based on gettext-0.11.4's `serial 1')
3330 dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
3331 dnl This file is free software, distributed under the terms of the GNU
3332 dnl General Public License. As a special exception to the GNU General
3333 dnl Public License, this file may be distributed as part of a program
3334 dnl that contains a configuration script generated by Autoconf, under
3335 dnl the same distribution terms as the rest of that program.
3337 dnl From Bruno Haible.
3339 # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
3340 # macros to non-string values. This is the case on AIX 4.3.3.
3342 AC_DEFUN([gt_INTTYPES_PRI],
3344 # autoconf-2.52 has a proper check for inttypes.h.
3347 if test $ac_cv_header_inttypes_h = yes; then
3348 AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
3349 gt_cv_inttypes_pri_broken,
3351 AC_TRY_COMPILE([#include <inttypes.h>
3355 ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
3358 if test "$gt_cv_inttypes_pri_broken" = yes; then
3359 AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
3360 [Define if <inttypes.h> exists and defines unusable PRI* macros.])
3366 dnl From Jim Meyering.
3367 dnl A wrapper around AC_FUNC_GETGROUPS.
3369 AC_DEFUN([jm_FUNC_GETGROUPS],
3370 [AC_REQUIRE([AC_FUNC_GETGROUPS])dnl
3371 if test $ac_cv_func_getgroups_works = no; then
3372 AC_LIBOBJ(getgroups)
3373 AC_DEFINE(getgroups, rpl_getgroups,
3374 [Define as rpl_getgroups if getgroups doesn't work right.])
3376 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
3383 AC_DEFUN([jm_SYS_PROC_UPTIME],
3384 [ dnl Require AC_PROG_CC to see if we're cross compiling.
3385 AC_REQUIRE([AC_PROG_CC])
3386 AC_CACHE_CHECK([for /proc/uptime], jm_cv_have_proc_uptime,
3387 [jm_cv_have_proc_uptime=no
3388 test -f /proc/uptime \
3389 && test "$cross_compiling" = no \
3390 && cat < /proc/uptime >/dev/null 2>/dev/null \
3391 && jm_cv_have_proc_uptime=yes])
3392 if test $jm_cv_have_proc_uptime = yes; then
3393 AC_DEFINE(HAVE_PROC_UPTIME, 1,
3394 [ Define if your system has the /proc/uptime special file.])
3400 # See if we need to emulate a missing ftruncate function using fcntl or chsize.
3402 AC_DEFUN([jm_FUNC_FTRUNCATE],
3404 AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
3406 if test "$ftruncate_missing" = yes; then
3407 AC_CHECK_HEADERS([unistd.h])
3408 AC_CHECK_FUNCS([chsize])
3409 AC_LIBOBJ(ftruncate)
3415 dnl From Volker Borchert.
3416 dnl Determine whether rename works for source paths with a trailing slash.
3417 dnl The rename from SunOS 4.1.1_U1 doesn't.
3419 dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
3420 dnl to compile the wrapper function.
3423 AC_DEFUN([vb_FUNC_RENAME],
3425 AC_CACHE_CHECK([whether rename is broken],
3426 vb_cv_func_rename_trailing_slash_bug,
3428 rm -rf conftest.d1 conftest.d2
3429 mkdir conftest.d1 ||
3430 AC_MSG_ERROR([cannot create temporary directory])
3436 exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0);
3439 vb_cv_func_rename_trailing_slash_bug=no,
3440 vb_cv_func_rename_trailing_slash_bug=yes,
3441 dnl When crosscompiling, assume rename is broken.
3442 vb_cv_func_rename_trailing_slash_bug=yes)
3444 rm -rf conftest.d1 conftest.d2
3446 if test $vb_cv_func_rename_trailing_slash_bug = yes; then
3448 AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1,
3449 [Define if rename does not work for source paths with a trailing slash,
3450 like the one from SunOS 4.1.1_U1.])
3456 # On some systems (e.g., HPUX-10.20, SunOS4.1.4, solaris2.5.1), mkstemp has the
3457 # silly limit that it can create no more than 26 files from a given template.
3458 # Other systems lack mkstemp altogether. On either type of system, arrange
3459 # to use the replacement function.
3460 AC_DEFUN([UTILS_FUNC_MKSTEMP],
3462 AC_REPLACE_FUNCS(mkstemp)
3463 if test $ac_cv_func_mkstemp = no; then
3464 utils_cv_func_mkstemp_limitations=yes
3466 AC_CACHE_CHECK([for mkstemp limitations],
3467 utils_cv_func_mkstemp_limitations,
3470 # include <stdlib.h>
3474 for (i = 0; i < 30; i++)
3476 char template[] = "conftestXXXXXX";
3477 int fd = mkstemp (template);
3485 utils_cv_func_mkstemp_limitations=no,
3486 utils_cv_func_mkstemp_limitations=yes,
3487 utils_cv_func_mkstemp_limitations=yes
3493 if test $utils_cv_func_mkstemp_limitations = yes; then
3496 AC_DEFINE(mkstemp, rpl_mkstemp,
3497 [Define to rpl_mkstemp if the replacement function should be used.])
3503 dnl From Jim Meyering.
3505 dnl See if gettimeofday clobbers the static buffer that localtime uses
3506 dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4,
3507 dnl i.e. Darwin 1.3.7 has this problem.
3509 dnl If it does, then arrange to use gettimeofday and localtime only via
3510 dnl the wrapper functions that work around the problem.
3512 AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER],
3514 AC_REQUIRE([AC_HEADER_TIME])
3515 AC_CHECK_HEADERS(string.h stdlib.h)
3516 AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
3517 jm_cv_func_gettimeofday_clobber,
3521 # include <string.h>
3524 #if TIME_WITH_SYS_TIME
3525 # include <sys/time.h>
3528 # if HAVE_SYS_TIME_H
3529 # include <sys/time.h>
3536 # include <stdlib.h>
3546 lt = localtime (&t);
3548 gettimeofday (&tv, NULL);
3549 if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
3555 jm_cv_func_gettimeofday_clobber=no,
3556 jm_cv_func_gettimeofday_clobber=yes,
3557 dnl When crosscompiling, assume it is broken.
3558 jm_cv_func_gettimeofday_clobber=yes)
3560 if test $jm_cv_func_gettimeofday_clobber = yes; then
3561 AC_LIBOBJ(gettimeofday)
3562 AC_DEFINE(localtime, rpl_localtime,
3563 [Define to rpl_localtime if the replacement function should be used.])
3564 AC_DEFINE(gettimeofday, rpl_gettimeofday,
3565 [Define to rpl_gettimeofday if the replacement function should be used.])
3566 AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1,
3567 [Define if gettimeofday clobbers localtime's static buffer.])
3573 dnl From Jim Meyering
3574 dnl Replace the utime function on systems that need it.
3578 AC_DEFUN([jm_FUNC_UTIME],
3580 AC_CHECK_HEADERS(utime.h)
3581 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
3582 AC_REQUIRE([AC_FUNC_UTIME_NULL])
3584 if test $ac_cv_func_utime_null = no; then
3586 AC_REPLACE_FUNCS(utime)
3592 dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL,
3593 dnl then do case-insensitive s/utime/utimes/.
3595 AC_DEFUN([jm_FUNC_UTIMES_NULL],
3596 [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null,
3597 [rm -f conftest.data; > conftest.data
3599 /* In case stat has been defined to rpl_stat, undef it here. */
3601 #include <sys/types.h>
3602 #include <sys/stat.h>
3605 exit(!(stat ("conftest.data", &s) == 0
3606 && utimes("conftest.data", (long *)0) == 0
3607 && stat("conftest.data", &t) == 0
3608 && t.st_mtime >= s.st_mtime
3609 && t.st_mtime - s.st_mtime < 120));
3611 ac_cv_func_utimes_null=yes,
3612 ac_cv_func_utimes_null=no,
3613 ac_cv_func_utimes_null=no)
3614 rm -f core core.* *.core])
3616 if test $ac_cv_func_utimes_null = yes; then
3617 AC_DEFINE(HAVE_UTIMES_NULL, 1,
3618 [Define if utimes accepts a null argument])
3625 dnl See if there's a working, system-supplied version of the getline function.
3626 dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems
3627 dnl have a function by that name in -linet that doesn't have anything
3628 dnl to do with the function we need.
3629 AC_DEFUN([AM_FUNC_GETLINE],
3631 am_getline_needs_run_time_check=no
3632 AC_CHECK_FUNC(getline,
3633 dnl Found it in some library. Verify that it works.
3634 am_getline_needs_run_time_check=yes,
3635 am_cv_func_working_getline=no)
3636 if test $am_getline_needs_run_time_check = yes; then
3637 AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline,
3638 [echo fooN |tr -d '\012'|tr N '\012' > conftest.data
3641 # include <sys/types.h>
3642 # include <string.h>
3644 { /* Based on a test program from Karl Heuer. */
3648 FILE *in = fopen ("./conftest.data", "r");
3651 len = getline (&line, &siz, in);
3652 exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1);
3654 ], am_cv_func_working_getline=yes dnl The library version works.
3655 , am_cv_func_working_getline=no dnl The library version does NOT work.
3656 , am_cv_func_working_getline=no dnl We're cross compiling.
3660 if test $am_cv_func_working_getline = no; then
3666 # Determine approximately how many files may be open simultaneously
3667 # in one process. This is approximate, since while running this test,
3668 # the configure script already has a few files open.
3671 AC_DEFUN([UTILS_SYS_OPEN_MAX],
3673 AC_CACHE_CHECK([determine how many files may be open simultaneously],
3674 utils_cv_sys_open_max,
3676 AC_RUN_IFELSE([AC_LANG_SOURCE([[
3683 FILE *result = fopen ("conftest.omax", "w");
3685 /* Impose an arbitrary limit, in case some system has no
3686 effective limit on the number of simultaneously open files. */
3689 FILE *s = fopen ("conftest.op", "w");
3694 fprintf (result, "%d\n", i);
3695 exit (fclose (result) == EOF);
3698 [utils_cv_sys_open_max=`cat conftest.omax`],
3699 [utils_cv_sys_open_max='internal error in open-max.m4'],
3700 [utils_cv_sys_open_max='cross compiling run-test in open-max.m4'])])
3702 AC_DEFINE_UNQUOTED([UTILS_OPEN_MAX],
3703 $utils_cv_sys_open_max,
3704 [the maximum number of simultaneously open files per process])
3708 # Check whether getcwd has the bug that it succeeds for a working directory
3709 # longer than PATH_MAX, yet returns a truncated directory name.
3710 # If so, arrange to compile the wrapper function.
3712 # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20.
3713 # I've heard that this is due to a Linux kernel bug, and that it has
3714 # been fixed between 2.4.21-pre3 and 2.4.21-pre4. */
3718 AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX],
3720 AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX],
3721 gl_cv_func_getcwd_vs_path_max,
3723 AC_CHECK_DECLS([getcwd])
3724 # Arrange for deletion of the temporary directory this test creates.
3725 ac_clean_files="$ac_clean_files confdir3"
3726 AC_RUN_IFELSE([AC_LANG_SOURCE([[
3731 #include <sys/stat.h>
3732 #include <sys/types.h>
3734 /* Don't get link errors because mkdir is redefined to rpl_mkdir. */
3741 /* The extra casts work around common compiler bugs. */
3742 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
3743 /* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
3744 It is necessary at least when t == time_t. */
3745 #define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
3746 ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
3747 #define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
3750 # define INT_MAX TYPE_MAXIMUM (int)
3754 /* There might be a better way to handle this case, but note:
3755 - the value shouldn't be anywhere near INT_MAX, and
3756 - the value shouldn't be so big that the local declaration, below,
3758 # define PATH_MAX 40000
3761 /* The length of this name must be 8. */
3762 #define DIR_NAME "confdir3"
3767 /* The '9' comes from strlen (DIR_NAME) + 1. */
3768 #if INT_MAX - 9 <= PATH_MAX
3769 /* FIXME: Assuming there's a system for which this is true -- Hurd?,
3770 this should be done in a compile test. */
3773 char buf[PATH_MAX + 20];
3774 char *cwd = getcwd (buf, PATH_MAX);
3777 size_t n_chdirs = 0;
3782 cwd_len = strlen (cwd);
3789 cwd_len += 1 + strlen (DIR_NAME);
3790 /* If mkdir or chdir fails, be pessimistic and consider that
3791 as a failure, too. */
3792 if (mkdir (DIR_NAME, 0700) < 0 || chdir (DIR_NAME) < 0)
3797 if ((c = getcwd (buf, PATH_MAX)) == NULL)
3799 /* This allows any failure to indicate there is no bug.
3800 FIXME: check errno? */
3803 if ((len = strlen (c)) != cwd_len)
3813 /* Leaving behind such a deep directory is not polite.
3814 So clean up here, right away, even though the driving
3815 shell script would also clean up. */
3819 /* Unlink first, in case the chdir failed. */
3821 for (i = 0; i <= n_chdirs; i++)
3823 if (chdir ("..") < 0)
3833 [gl_cv_func_getcwd_vs_path_max=yes],
3834 [gl_cv_func_getcwd_vs_path_max=no],
3835 [gl_cv_func_getcwd_vs_path_max=no])])
3837 if test $gl_cv_func_getcwd_vs_path_max = yes; then
3839 AC_DEFINE(getcwd, rpl_getcwd,
3840 [Define to rpl_getcwd if the wrapper function should be used.])
3844 # codeset.m4 serial AM1 (gettext-0.10.40)
3845 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
3846 dnl This file is free software, distributed under the terms of the GNU
3847 dnl General Public License. As a special exception to the GNU General
3848 dnl Public License, this file may be distributed as part of a program
3849 dnl that contains a configuration script generated by Autoconf, under
3850 dnl the same distribution terms as the rest of that program.
3852 dnl From Bruno Haible.
3854 AC_DEFUN([AM_LANGINFO_CODESET],
3856 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
3857 [AC_TRY_LINK([#include <langinfo.h>],
3858 [char* cs = nl_langinfo(CODESET);],
3859 am_cv_langinfo_codeset=yes,
3860 am_cv_langinfo_codeset=no)
3862 if test $am_cv_langinfo_codeset = yes; then
3863 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
3864 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
3868 # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
3869 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
3870 dnl This file is free software, distributed under the terms of the GNU
3871 dnl General Public License. As a special exception to the GNU General
3872 dnl Public License, this file may be distributed as part of a program
3873 dnl that contains a configuration script generated by Autoconf, under
3874 dnl the same distribution terms as the rest of that program.
3876 # Test for the GNU C Library, version 2.1 or newer.
3877 # From Bruno Haible.
3879 AC_DEFUN([jm_GLIBC21],
3881 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
3882 ac_cv_gnu_library_2_1,
3883 [AC_EGREP_CPP([Lucky GNU user],
3885 #include <features.h>
3886 #ifdef __GNU_LIBRARY__
3887 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
3892 ac_cv_gnu_library_2_1=yes,
3893 ac_cv_gnu_library_2_1=no)
3897 GLIBC21="$ac_cv_gnu_library_2_1"
3901 # iconv.m4 serial AM4 (gettext-0.11.3)
3902 dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
3903 dnl This file is free software, distributed under the terms of the GNU
3904 dnl General Public License. As a special exception to the GNU General
3905 dnl Public License, this file may be distributed as part of a program
3906 dnl that contains a configuration script generated by Autoconf, under
3907 dnl the same distribution terms as the rest of that program.
3909 dnl From Bruno Haible.
3911 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
3913 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
3914 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
3915 AC_REQUIRE([AC_LIB_RPATH])
3917 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
3919 AC_LIB_LINKFLAGS_BODY([iconv])
3922 AC_DEFUN([AM_ICONV_LINK],
3924 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
3925 dnl those with the standalone portable GNU libiconv installed).
3927 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
3929 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
3931 dnl Add $INCICONV to CPPFLAGS before performing the following checks,
3932 dnl because if the user has installed libiconv and not disabled its use
3933 dnl via --without-libiconv-prefix, he wants to use it. The first
3934 dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
3935 am_save_CPPFLAGS="$CPPFLAGS"
3936 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
3938 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
3939 am_cv_func_iconv="no, consider installing GNU libiconv"
3941 AC_TRY_LINK([#include <stdlib.h>
3942 #include <iconv.h>],
3943 [iconv_t cd = iconv_open("","");
3944 iconv(cd,NULL,NULL,NULL,NULL);
3946 am_cv_func_iconv=yes)
3947 if test "$am_cv_func_iconv" != yes; then
3948 am_save_LIBS="$LIBS"
3949 LIBS="$LIBS $LIBICONV"
3950 AC_TRY_LINK([#include <stdlib.h>
3951 #include <iconv.h>],
3952 [iconv_t cd = iconv_open("","");
3953 iconv(cd,NULL,NULL,NULL,NULL);
3956 am_cv_func_iconv=yes)
3957 LIBS="$am_save_LIBS"
3960 if test "$am_cv_func_iconv" = yes; then
3961 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
3963 if test "$am_cv_lib_iconv" = yes; then
3964 AC_MSG_CHECKING([how to link with libiconv])
3965 AC_MSG_RESULT([$LIBICONV])
3967 dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
3969 CPPFLAGS="$am_save_CPPFLAGS"
3974 AC_SUBST(LTLIBICONV)
3977 AC_DEFUN([AM_ICONV],
3980 if test "$am_cv_func_iconv" = yes; then
3981 AC_MSG_CHECKING([for iconv declaration])
3982 AC_CACHE_VAL(am_cv_proto_iconv, [
3990 #if defined(__STDC__) || defined(__cplusplus)
3991 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
3995 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
3996 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);"])
3997 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
3998 AC_MSG_RESULT([$]{ac_t:-
3999 }[$]am_cv_proto_iconv)
4000 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
4001 [Define as const if the declaration of iconv() needs const.])
4005 # lib-prefix.m4 serial 1 (gettext-0.11)
4006 dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
4007 dnl This file is free software, distributed under the terms of the GNU
4008 dnl General Public License. As a special exception to the GNU General
4009 dnl Public License, this file may be distributed as part of a program
4010 dnl that contains a configuration script generated by Autoconf, under
4011 dnl the same distribution terms as the rest of that program.
4013 dnl From Bruno Haible.
4015 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
4016 dnl to access previously installed libraries. The basic assumption is that
4017 dnl a user will want packages to use other packages he previously installed
4018 dnl with the same --prefix option.
4019 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
4020 dnl libraries, but is otherwise very convenient.
4021 AC_DEFUN([AC_LIB_PREFIX],
4023 AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
4024 AC_REQUIRE([AC_PROG_CC])
4025 AC_REQUIRE([AC_CANONICAL_HOST])
4026 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
4027 dnl By default, look in $includedir and $libdir.
4029 AC_LIB_WITH_FINAL_PREFIX([
4030 eval additional_includedir=\"$includedir\"
4031 eval additional_libdir=\"$libdir\"
4033 AC_ARG_WITH([lib-prefix],
4034 [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
4035 --without-lib-prefix don't search for libraries in includedir and libdir],
4037 if test "X$withval" = "Xno"; then
4040 if test "X$withval" = "X"; then
4041 AC_LIB_WITH_FINAL_PREFIX([
4042 eval additional_includedir=\"$includedir\"
4043 eval additional_libdir=\"$libdir\"
4046 additional_includedir="$withval/include"
4047 additional_libdir="$withval/lib"
4051 if test $use_additional = yes; then
4052 dnl Potentially add $additional_includedir to $CPPFLAGS.
4053 dnl But don't add it
4054 dnl 1. if it's the standard /usr/include,
4055 dnl 2. if it's already present in $CPPFLAGS,
4056 dnl 3. if it's /usr/local/include and we are using GCC on Linux,
4057 dnl 4. if it doesn't exist as a directory.
4058 if test "X$additional_includedir" != "X/usr/include"; then
4060 for x in $CPPFLAGS; do
4061 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4062 if test "X$x" = "X-I$additional_includedir"; then
4067 if test -z "$haveit"; then
4068 if test "X$additional_includedir" = "X/usr/local/include"; then
4069 if test -n "$GCC"; then
4071 linux*) haveit=yes;;
4075 if test -z "$haveit"; then
4076 if test -d "$additional_includedir"; then
4077 dnl Really add $additional_includedir to $CPPFLAGS.
4078 CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
4083 dnl Potentially add $additional_libdir to $LDFLAGS.
4084 dnl But don't add it
4085 dnl 1. if it's the standard /usr/lib,
4086 dnl 2. if it's already present in $LDFLAGS,
4087 dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
4088 dnl 4. if it doesn't exist as a directory.
4089 if test "X$additional_libdir" != "X/usr/lib"; then
4091 for x in $LDFLAGS; do
4092 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4093 if test "X$x" = "X-L$additional_libdir"; then
4098 if test -z "$haveit"; then
4099 if test "X$additional_libdir" = "X/usr/local/lib"; then
4100 if test -n "$GCC"; then
4102 linux*) haveit=yes;;
4106 if test -z "$haveit"; then
4107 if test -d "$additional_libdir"; then
4108 dnl Really add $additional_libdir to $LDFLAGS.
4109 LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
4117 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
4118 dnl acl_final_exec_prefix, containing the values to which $prefix and
4119 dnl $exec_prefix will expand at the end of the configure script.
4120 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
4122 dnl Unfortunately, prefix and exec_prefix get only finally determined
4123 dnl at the end of configure.
4124 if test "X$prefix" = "XNONE"; then
4125 acl_final_prefix="$ac_default_prefix"
4127 acl_final_prefix="$prefix"
4129 if test "X$exec_prefix" = "XNONE"; then
4130 acl_final_exec_prefix='${prefix}'
4132 acl_final_exec_prefix="$exec_prefix"
4134 acl_save_prefix="$prefix"
4135 prefix="$acl_final_prefix"
4136 eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
4137 prefix="$acl_save_prefix"
4140 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
4141 dnl variables prefix and exec_prefix bound to the values they will have
4142 dnl at the end of the configure script.
4143 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
4145 acl_save_prefix="$prefix"
4146 prefix="$acl_final_prefix"
4147 acl_save_exec_prefix="$exec_prefix"
4148 exec_prefix="$acl_final_exec_prefix"
4150 exec_prefix="$acl_save_exec_prefix"
4151 prefix="$acl_save_prefix"
4154 # lib-link.m4 serial 3 (gettext-0.11.3)
4155 dnl Copyright (C) 2001-2002 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 dnl From Bruno Haible.
4164 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
4165 dnl the libraries corresponding to explicit and implicit dependencies.
4166 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
4167 dnl augments the CPPFLAGS variable.
4168 AC_DEFUN([AC_LIB_LINKFLAGS],
4170 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
4171 AC_REQUIRE([AC_LIB_RPATH])
4172 define([Name],[translit([$1],[./-], [___])])
4173 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
4174 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
4175 AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
4176 AC_LIB_LINKFLAGS_BODY([$1], [$2])
4177 ac_cv_lib[]Name[]_libs="$LIB[]NAME"
4178 ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
4179 ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
4181 LIB[]NAME="$ac_cv_lib[]Name[]_libs"
4182 LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
4183 INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
4184 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
4186 AC_SUBST([LTLIB]NAME)
4187 dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
4188 dnl results of this search when this library appears as a dependency.
4194 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
4195 dnl searches for libname and the libraries corresponding to explicit and
4196 dnl implicit dependencies, together with the specified include files and
4197 dnl the ability to compile and link the specified testcode. If found, it
4198 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
4199 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
4200 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
4201 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
4202 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
4204 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
4205 AC_REQUIRE([AC_LIB_RPATH])
4206 define([Name],[translit([$1],[./-], [___])])
4207 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
4208 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
4210 dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
4212 AC_LIB_LINKFLAGS_BODY([$1], [$2])
4214 dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
4215 dnl because if the user has installed lib[]Name and not disabled its use
4216 dnl via --without-lib[]Name-prefix, he wants to use it.
4217 ac_save_CPPFLAGS="$CPPFLAGS"
4218 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
4220 AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
4221 ac_save_LIBS="$LIBS"
4222 LIBS="$LIBS $LIB[]NAME"
4223 AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
4224 LIBS="$ac_save_LIBS"
4226 if test "$ac_cv_lib[]Name" = yes; then
4228 AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
4229 AC_MSG_CHECKING([how to link with lib[]$1])
4230 AC_MSG_RESULT([$LIB[]NAME])
4233 dnl If $LIB[]NAME didn't lead to a usable library, we don't need
4234 dnl $INC[]NAME either.
4235 CPPFLAGS="$ac_save_CPPFLAGS"
4239 AC_SUBST([HAVE_LIB]NAME)
4241 AC_SUBST([LTLIB]NAME)
4246 dnl Determine the platform dependent parameters needed to use rpath:
4247 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
4248 dnl hardcode_direct, hardcode_minus_L,
4249 dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
4250 AC_DEFUN([AC_LIB_RPATH],
4252 AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
4253 AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
4254 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
4255 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
4256 AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
4257 CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
4258 ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
4264 libext="$acl_cv_libext"
4265 shlibext="$acl_cv_shlibext"
4266 hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
4267 hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
4268 hardcode_direct="$acl_cv_hardcode_direct"
4269 hardcode_minus_L="$acl_cv_hardcode_minus_L"
4270 sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
4271 sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
4272 dnl Determine whether the user wants rpath handling at all.
4273 AC_ARG_ENABLE(rpath,
4274 [ --disable-rpath do not hardcode runtime library paths],
4275 :, enable_rpath=yes)
4278 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
4279 dnl the libraries corresponding to explicit and implicit dependencies.
4280 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
4281 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
4283 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
4284 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
4285 dnl By default, look in $includedir and $libdir.
4287 AC_LIB_WITH_FINAL_PREFIX([
4288 eval additional_includedir=\"$includedir\"
4289 eval additional_libdir=\"$libdir\"
4291 AC_ARG_WITH([lib$1-prefix],
4292 [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
4293 --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
4295 if test "X$withval" = "Xno"; then
4298 if test "X$withval" = "X"; then
4299 AC_LIB_WITH_FINAL_PREFIX([
4300 eval additional_includedir=\"$includedir\"
4301 eval additional_libdir=\"$libdir\"
4304 additional_includedir="$withval/include"
4305 additional_libdir="$withval/lib"
4309 dnl Search the library and its dependencies in $additional_libdir and
4310 dnl $LDFLAGS. Using breadth-first-seach.
4316 names_already_handled=
4317 names_next_round='$1 $2'
4318 while test -n "$names_next_round"; do
4319 names_this_round="$names_next_round"
4321 for name in $names_this_round; do
4323 for n in $names_already_handled; do
4324 if test "$n" = "$name"; then
4329 if test -z "$already_handled"; then
4330 names_already_handled="$names_already_handled $name"
4331 dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
4332 dnl or AC_LIB_HAVE_LINKFLAGS call.
4333 uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
4334 eval value=\"\$HAVE_LIB$uppername\"
4335 if test -n "$value"; then
4336 if test "$value" = yes; then
4337 eval value=\"\$LIB$uppername\"
4338 test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
4339 eval value=\"\$LTLIB$uppername\"
4340 test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
4342 dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
4343 dnl that this library doesn't exist. So just drop it.
4347 dnl Search the library lib$name in $additional_libdir and $LDFLAGS
4348 dnl and the already constructed $LIBNAME/$LTLIBNAME.
4353 if test $use_additional = yes; then
4354 if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
4355 found_dir="$additional_libdir"
4356 found_so="$additional_libdir/lib$name.$shlibext"
4357 if test -f "$additional_libdir/lib$name.la"; then
4358 found_la="$additional_libdir/lib$name.la"
4361 if test -f "$additional_libdir/lib$name.$libext"; then
4362 found_dir="$additional_libdir"
4363 found_a="$additional_libdir/lib$name.$libext"
4364 if test -f "$additional_libdir/lib$name.la"; then
4365 found_la="$additional_libdir/lib$name.la"
4370 if test "X$found_dir" = "X"; then
4371 for x in $LDFLAGS $LTLIB[]NAME; do
4372 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4375 dir=`echo "X$x" | sed -e 's/^X-L//'`
4376 if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
4378 found_so="$dir/lib$name.$shlibext"
4379 if test -f "$dir/lib$name.la"; then
4380 found_la="$dir/lib$name.la"
4383 if test -f "$dir/lib$name.$libext"; then
4385 found_a="$dir/lib$name.$libext"
4386 if test -f "$dir/lib$name.la"; then
4387 found_la="$dir/lib$name.la"
4393 if test "X$found_dir" != "X"; then
4398 if test "X$found_dir" != "X"; then
4399 dnl Found the library.
4400 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
4401 if test "X$found_so" != "X"; then
4402 dnl Linking with a shared library. We attempt to hardcode its
4403 dnl directory into the executable's runpath, unless it's the
4404 dnl standard /usr/lib.
4405 if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
4406 dnl No hardcoding is needed.
4407 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
4409 dnl Use an explicit option to hardcode DIR into the resulting
4411 dnl Potentially add DIR to ltrpathdirs.
4412 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
4414 for x in $ltrpathdirs; do
4415 if test "X$x" = "X$found_dir"; then
4420 if test -z "$haveit"; then
4421 ltrpathdirs="$ltrpathdirs $found_dir"
4423 dnl The hardcoding into $LIBNAME is system dependent.
4424 if test "$hardcode_direct" = yes; then
4425 dnl Using DIR/libNAME.so during linking hardcodes DIR into the
4426 dnl resulting binary.
4427 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
4429 if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
4430 dnl Use an explicit option to hardcode DIR into the resulting
4432 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
4433 dnl Potentially add DIR to rpathdirs.
4434 dnl The rpathdirs will be appended to $LIBNAME at the end.
4436 for x in $rpathdirs; do
4437 if test "X$x" = "X$found_dir"; then
4442 if test -z "$haveit"; then
4443 rpathdirs="$rpathdirs $found_dir"
4446 dnl Rely on "-L$found_dir".
4447 dnl But don't add it if it's already contained in the LDFLAGS
4448 dnl or the already constructed $LIBNAME
4450 for x in $LDFLAGS $LIB[]NAME; do
4451 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4452 if test "X$x" = "X-L$found_dir"; then
4457 if test -z "$haveit"; then
4458 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
4460 if test "$hardcode_minus_L" != no; then
4461 dnl FIXME: Not sure whether we should use
4462 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
4464 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
4466 dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
4467 dnl here, because this doesn't fit in flags passed to the
4468 dnl compiler. So give up. No hardcoding. This affects only
4469 dnl very old systems.
4470 dnl FIXME: Not sure whether we should use
4471 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
4473 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
4479 if test "X$found_a" != "X"; then
4480 dnl Linking with a static library.
4481 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
4483 dnl We shouldn't come here, but anyway it's good to have a
4485 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
4488 dnl Assume the include files are nearby.
4489 additional_includedir=
4490 case "$found_dir" in
4492 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
4493 additional_includedir="$basedir/include"
4496 if test "X$additional_includedir" != "X"; then
4497 dnl Potentially add $additional_includedir to $INCNAME.
4498 dnl But don't add it
4499 dnl 1. if it's the standard /usr/include,
4500 dnl 2. if it's /usr/local/include and we are using GCC on Linux,
4501 dnl 3. if it's already present in $CPPFLAGS or the already
4502 dnl constructed $INCNAME,
4503 dnl 4. if it doesn't exist as a directory.
4504 if test "X$additional_includedir" != "X/usr/include"; then
4506 if test "X$additional_includedir" = "X/usr/local/include"; then
4507 if test -n "$GCC"; then
4509 linux*) haveit=yes;;
4513 if test -z "$haveit"; then
4514 for x in $CPPFLAGS $INC[]NAME; do
4515 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4516 if test "X$x" = "X-I$additional_includedir"; then
4521 if test -z "$haveit"; then
4522 if test -d "$additional_includedir"; then
4523 dnl Really add $additional_includedir to $INCNAME.
4524 INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
4530 dnl Look for dependencies.
4531 if test -n "$found_la"; then
4532 dnl Read the .la file. It defines the variables
4533 dnl dlname, library_names, old_library, dependency_libs, current,
4534 dnl age, revision, installed, dlopen, dlpreopen, libdir.
4535 save_libdir="$libdir"
4537 */* | *\\*) . "$found_la" ;;
4538 *) . "./$found_la" ;;
4540 libdir="$save_libdir"
4541 dnl We use only dependency_libs.
4542 for dep in $dependency_libs; do
4545 additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
4546 dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
4547 dnl But don't add it
4548 dnl 1. if it's the standard /usr/lib,
4549 dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
4550 dnl 3. if it's already present in $LDFLAGS or the already
4551 dnl constructed $LIBNAME,
4552 dnl 4. if it doesn't exist as a directory.
4553 if test "X$additional_libdir" != "X/usr/lib"; then
4555 if test "X$additional_libdir" = "X/usr/local/lib"; then
4556 if test -n "$GCC"; then
4558 linux*) haveit=yes;;
4562 if test -z "$haveit"; then
4564 for x in $LDFLAGS $LIB[]NAME; do
4565 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4566 if test "X$x" = "X-L$additional_libdir"; then
4571 if test -z "$haveit"; then
4572 if test -d "$additional_libdir"; then
4573 dnl Really add $additional_libdir to $LIBNAME.
4574 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
4578 for x in $LDFLAGS $LTLIB[]NAME; do
4579 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4580 if test "X$x" = "X-L$additional_libdir"; then
4585 if test -z "$haveit"; then
4586 if test -d "$additional_libdir"; then
4587 dnl Really add $additional_libdir to $LTLIBNAME.
4588 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
4595 dir=`echo "X$dep" | sed -e 's/^X-R//'`
4596 if test "$enable_rpath" != no; then
4597 dnl Potentially add DIR to rpathdirs.
4598 dnl The rpathdirs will be appended to $LIBNAME at the end.
4600 for x in $rpathdirs; do
4601 if test "X$x" = "X$dir"; then
4606 if test -z "$haveit"; then
4607 rpathdirs="$rpathdirs $dir"
4609 dnl Potentially add DIR to ltrpathdirs.
4610 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
4612 for x in $ltrpathdirs; do
4613 if test "X$x" = "X$dir"; then
4618 if test -z "$haveit"; then
4619 ltrpathdirs="$ltrpathdirs $dir"
4624 dnl Handle this in the next round.
4625 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
4628 dnl Handle this in the next round. Throw away the .la's
4629 dnl directory; it is already contained in a preceding -L
4631 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
4634 dnl Most likely an immediate library name.
4635 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
4636 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
4642 dnl Didn't find the library; assume it is in the system directories
4643 dnl known to the linker and runtime loader. (All the system
4644 dnl directories known to the linker should also be known to the
4645 dnl runtime loader, otherwise the system is severely misconfigured.)
4646 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
4647 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
4653 if test "X$rpathdirs" != "X"; then
4654 if test -n "$hardcode_libdir_separator"; then
4655 dnl Weird platform: only the last -rpath option counts, the user must
4656 dnl pass all path elements in one option. We can arrange that for a
4657 dnl single library, but not when more than one $LIBNAMEs are used.
4659 for found_dir in $rpathdirs; do
4660 alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
4662 dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
4663 acl_save_libdir="$libdir"
4665 eval flag=\"$hardcode_libdir_flag_spec\"
4666 libdir="$acl_save_libdir"
4667 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
4669 dnl The -rpath options are cumulative.
4670 for found_dir in $rpathdirs; do
4671 acl_save_libdir="$libdir"
4673 eval flag=\"$hardcode_libdir_flag_spec\"
4674 libdir="$acl_save_libdir"
4675 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
4679 if test "X$ltrpathdirs" != "X"; then
4680 dnl When using libtool, the option that works for both libraries and
4681 dnl executables is -R. The -R options are cumulative.
4682 for found_dir in $ltrpathdirs; do
4683 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
4688 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
4689 dnl unless already present in VAR.
4690 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
4691 dnl contains two or three consecutive elements that belong together.
4692 AC_DEFUN([AC_LIB_APPENDTOVAR],
4694 for element in [$2]; do
4697 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
4698 if test "X$x" = "X$element"; then
4703 if test -z "$haveit"; then
4704 [$1]="${[$1]}${[$1]:+ }$element"
4709 # lib-ld.m4 serial 1 (gettext-0.11)
4710 dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
4711 dnl This file is free software, distributed under the terms of the GNU
4712 dnl General Public License. As a special exception to the GNU General
4713 dnl Public License, this file may be distributed as part of a program
4714 dnl that contains a configuration script generated by Autoconf, under
4715 dnl the same distribution terms as the rest of that program.
4717 dnl Subroutines of libtool.m4,
4718 dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
4719 dnl with libtool.m4.
4721 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
4722 AC_DEFUN([AC_LIB_PROG_LD_GNU],
4723 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
4724 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
4725 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
4726 acl_cv_prog_gnu_ld=yes
4728 acl_cv_prog_gnu_ld=no
4730 with_gnu_ld=$acl_cv_prog_gnu_ld
4733 dnl From libtool-1.4. Sets the variable LD.
4734 AC_DEFUN([AC_LIB_PROG_LD],
4735 [AC_ARG_WITH(gnu-ld,
4736 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
4737 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
4738 AC_REQUIRE([AC_PROG_CC])dnl
4739 AC_REQUIRE([AC_CANONICAL_HOST])dnl
4741 if test "$GCC" = yes; then
4742 # Check if gcc -print-prog-name=ld gives a path.
4743 AC_MSG_CHECKING([for ld used by GCC])
4746 # gcc leaves a trailing carriage return which upsets mingw
4747 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
4749 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
4752 # Accept absolute paths.
4753 [[\\/]* | [A-Za-z]:[\\/]*)]
4754 [re_direlt='/[^/][^/]*/\.\./']
4755 # Canonicalize the path of ld
4756 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
4757 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
4758 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
4760 test -z "$LD" && LD="$ac_prog"
4763 # If it fails, then pretend we aren't using GCC.
4767 # If it is relative, then search for the first ld in PATH.
4771 elif test "$with_gnu_ld" = yes; then
4772 AC_MSG_CHECKING([for GNU ld])
4774 AC_MSG_CHECKING([for non-GNU ld])
4776 AC_CACHE_VAL(acl_cv_path_LD,
4777 [if test -z "$LD"; then
4778 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
4779 for ac_dir in $PATH; do
4780 test -z "$ac_dir" && ac_dir=.
4781 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
4782 acl_cv_path_LD="$ac_dir/$ac_prog"
4783 # Check to see if the program is GNU ld. I'd rather use --version,
4784 # but apparently some GNU ld's only accept -v.
4785 # Break only if it was the GNU/non-GNU ld that we prefer.
4786 if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
4787 test "$with_gnu_ld" != no && break
4789 test "$with_gnu_ld" != yes && break
4795 acl_cv_path_LD="$LD" # Let the user override the test with a path.
4797 LD="$acl_cv_path_LD"
4798 if test -n "$LD"; then
4803 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
4809 dnl From J. David Anglin.
4811 dnl HPUX and other systems can't unlink shared text that is being executed.
4813 AC_DEFUN([jm_FUNC_UNLINK_BUSY_TEXT],
4815 AC_CACHE_CHECK([whether a running program can be unlinked],
4816 jm_cv_func_unlink_busy_text,
4825 exit (unlink (argv[0]));
4828 jm_cv_func_unlink_busy_text=yes,
4829 jm_cv_func_unlink_busy_text=no,
4830 jm_cv_func_unlink_busy_text=no
4835 if test $jm_cv_func_unlink_busy_text = no; then
4836 INSTALL=$ac_install_sh
4842 dnl From Jim Meyering.
4844 dnl This is not pretty. I've just taken the autoconf code and wrapped
4845 dnl it in an AC_DEFUN.
4848 # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
4849 AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
4851 AC_CHECK_FUNCS(listmntent getmntinfo)
4852 AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
4853 getfsstat_includes="\
4854 $ac_includes_default
4855 #if HAVE_SYS_PARAM_H
4856 # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
4858 #if HAVE_SYS_UCRED_H
4859 # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
4861 #if HAVE_SYS_MOUNT_H
4862 # include <sys/mount.h>
4864 #if HAVE_SYS_FS_TYPES_H
4865 # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
4868 AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
4870 # Determine how to get the list of mounted filesystems.
4873 # If the getmntent function is available but not in the standard library,
4874 # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
4877 # This test must precede the ones for getmntent because Unicos-9 is
4878 # reported to have the getmntent function, but its support is incompatible
4879 # with other getmntent implementations.
4881 # NOTE: Normally, I wouldn't use a check for system type as I've done for
4882 # `CRAY' below since that goes against the whole autoconf philosophy. But
4883 # I think there is too great a chance that some non-Cray system has a
4884 # function named listmntent to risk the false positive.
4886 if test -z "$ac_list_mounted_fs"; then
4888 AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
4889 AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
4890 [fu_cv_sys_mounted_cray_listmntent=no
4895 ], [test $ac_cv_func_listmntent = yes \
4896 && fu_cv_sys_mounted_cray_listmntent=yes]
4900 AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
4901 if test $fu_cv_sys_mounted_cray_listmntent = yes; then
4902 ac_list_mounted_fs=found
4903 AC_DEFINE(MOUNTED_LISTMNTENT, 1,
4904 [Define if there is a function named listmntent that can be used to
4905 list all mounted filesystems. (UNICOS)])
4909 if test -z "$ac_list_mounted_fs"; then
4911 AC_MSG_CHECKING([for mntctl function and struct vmount])
4912 AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
4913 [AC_TRY_CPP([#include <fshelp.h>],
4914 fu_cv_sys_mounted_vmount=yes,
4915 fu_cv_sys_mounted_vmount=no)])
4916 AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
4917 if test $fu_cv_sys_mounted_vmount = yes; then
4918 ac_list_mounted_fs=found
4919 AC_DEFINE(MOUNTED_VMOUNT, 1,
4920 [Define if there is a function named mntctl that can be used to read
4921 the list of mounted filesystems, and there is a system header file
4922 that declares `struct vmount.' (AIX)])
4926 if test $ac_cv_func_getmntent = yes; then
4928 # This system has the getmntent function.
4929 # Determine whether it's the one-argument variant or the two-argument one.
4931 if test -z "$ac_list_mounted_fs"; then
4932 # 4.3BSD, SunOS, HP-UX, Dynix, Irix
4933 AC_MSG_CHECKING([for one-argument getmntent function])
4934 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
4936 /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
4940 #if !defined MOUNTED
4941 # if defined _PATH_MOUNTED /* GNU libc */
4942 # define MOUNTED _PATH_MOUNTED
4944 # if defined MNT_MNTTAB /* HP-UX. */
4945 # define MOUNTED MNT_MNTTAB
4947 # if defined MNTTABNAME /* Dynix. */
4948 # define MOUNTED MNTTABNAME
4952 [ struct mntent *mnt = 0; char *table = MOUNTED; ],
4953 fu_cv_sys_mounted_getmntent1=yes,
4954 fu_cv_sys_mounted_getmntent1=no)])
4955 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
4956 if test $fu_cv_sys_mounted_getmntent1 = yes; then
4957 ac_list_mounted_fs=found
4958 AC_DEFINE(MOUNTED_GETMNTENT1, 1,
4959 [Define if there is a function named getmntent for reading the list
4960 of mounted filesystems, and that function takes a single argument.
4961 (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
4965 if test -z "$ac_list_mounted_fs"; then
4967 AC_MSG_CHECKING([for two-argument getmntent function])
4968 AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
4969 [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
4970 fu_cv_sys_mounted_getmntent2=yes,
4971 fu_cv_sys_mounted_getmntent2=no)])
4972 AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
4973 if test $fu_cv_sys_mounted_getmntent2 = yes; then
4974 ac_list_mounted_fs=found
4975 AC_DEFINE(MOUNTED_GETMNTENT2, 1,
4976 [Define if there is a function named getmntent for reading the list of
4977 mounted filesystems, and that function takes two arguments. (SVR4)])
4983 if test -z "$ac_list_mounted_fs"; then
4984 # DEC Alpha running OSF/1, and Apple Darwin 1.3.
4985 # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
4987 AC_MSG_CHECKING([for getfsstat function])
4988 AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
4990 #include <sys/types.h>
4991 #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
4992 # define FS_TYPE(Ent) ((Ent).f_fstypename)
4994 # define FS_TYPE(Ent) mnt_names[(Ent).f_type]
4996 ]$getfsstat_includes
4998 [struct statfs *stats;
4999 int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
5000 char *t = FS_TYPE (*stats); ],
5001 fu_cv_sys_mounted_getfsstat=yes,
5002 fu_cv_sys_mounted_getfsstat=no)])
5003 AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
5004 if test $fu_cv_sys_mounted_getfsstat = yes; then
5005 ac_list_mounted_fs=found
5006 AC_DEFINE(MOUNTED_GETFSSTAT, 1,
5007 [Define if there is a function named getfsstat for reading the
5008 list of mounted filesystems. (DEC Alpha running OSF/1)])
5012 if test -z "$ac_list_mounted_fs"; then
5014 AC_MSG_CHECKING([for FIXME existence of three headers])
5015 AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
5017 #include <sys/statfs.h>
5018 #include <sys/fstyp.h>
5019 #include <mnttab.h>],
5020 fu_cv_sys_mounted_fread_fstyp=yes,
5021 fu_cv_sys_mounted_fread_fstyp=no)])
5022 AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
5023 if test $fu_cv_sys_mounted_fread_fstyp = yes; then
5024 ac_list_mounted_fs=found
5025 AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
5026 [Define if (like SVR2) there is no specific function for reading the
5027 list of mounted filesystems, and your system has these header files:
5028 <sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
5032 if test -z "$ac_list_mounted_fs"; then
5033 # 4.4BSD and DEC OSF/1.
5034 AC_MSG_CHECKING([for getmntinfo function])
5035 AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
5037 test "$ac_cv_func_getmntinfo" = yes \
5038 && fu_cv_sys_mounted_getmntinfo=yes \
5039 || fu_cv_sys_mounted_getmntinfo=no
5041 AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
5042 if test $fu_cv_sys_mounted_getmntinfo = yes; then
5043 ac_list_mounted_fs=found
5044 AC_DEFINE(MOUNTED_GETMNTINFO, 1,
5045 [Define if there is a function named getmntinfo for reading the
5046 list of mounted filesystems. (4.4BSD, Darwin)])
5050 if test -z "$ac_list_mounted_fs"; then
5052 AC_MSG_CHECKING([for getmnt function])
5053 AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
5055 #include <sys/fs_types.h>
5056 #include <sys/mount.h>],
5057 fu_cv_sys_mounted_getmnt=yes,
5058 fu_cv_sys_mounted_getmnt=no)])
5059 AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
5060 if test $fu_cv_sys_mounted_getmnt = yes; then
5061 ac_list_mounted_fs=found
5062 AC_DEFINE(MOUNTED_GETMNT, 1,
5063 [Define if there is a function named getmnt for reading the list of
5064 mounted filesystems. (Ultrix)])
5068 if test -z "$ac_list_mounted_fs"; then
5070 AC_CHECK_FUNCS(next_dev fs_stat_dev)
5071 AC_CHECK_HEADERS(fs_info.h)
5072 AC_MSG_CHECKING([for BEOS mounted file system support functions])
5073 if test $ac_cv_header_fs_info_h = yes \
5074 && test $ac_cv_func_next_dev = yes \
5075 && test $ac_cv_func_fs_stat_dev = yes; then
5080 AC_MSG_RESULT($fu_result)
5081 if test $fu_result = yes; then
5082 ac_list_mounted_fs=found
5083 AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
5084 [Define if there are functions named next_dev and fs_stat_dev for
5085 reading the list of mounted filesystems. (BeOS)])
5089 if test -z "$ac_list_mounted_fs"; then
5091 AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
5092 AC_CACHE_VAL(fu_cv_sys_mounted_fread,
5093 [AC_TRY_CPP([#include <mnttab.h>],
5094 fu_cv_sys_mounted_fread=yes,
5095 fu_cv_sys_mounted_fread=no)])
5096 AC_MSG_RESULT($fu_cv_sys_mounted_fread)
5097 if test $fu_cv_sys_mounted_fread = yes; then
5098 ac_list_mounted_fs=found
5099 AC_DEFINE(MOUNTED_FREAD, 1,
5100 [Define if there is no specific function for reading the list of
5101 mounted filesystems. fread will be used to read /etc/mnttab. (SVR2) ])
5105 if test -z "$ac_list_mounted_fs"; then
5106 AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
5107 # FIXME -- no need to abort building the whole package
5108 # Can't build mountlist.c or anything that needs its functions
5111 AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
5117 dnl From Jim Meyering.
5119 dnl See if struct statfs has the f_fstypename member.
5120 dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS.
5123 AC_DEFUN([jm_FSTYPENAME],
5125 AC_CACHE_CHECK([for f_fstypename in struct statfs],
5126 fu_cv_sys_f_fstypename_in_statfs,
5130 #include <sys/param.h>
5131 #include <sys/types.h>
5132 #include <sys/mount.h>
5134 [struct statfs s; int i = sizeof s.f_fstypename;],
5135 fu_cv_sys_f_fstypename_in_statfs=yes,
5136 fu_cv_sys_f_fstypename_in_statfs=no
5141 if test $fu_cv_sys_f_fstypename_in_statfs = yes; then
5142 AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1,
5143 [Define if struct statfs has the f_fstypename member.])
5150 # From fileutils/configure.in
5152 # Try to determine how a program can obtain filesystem usage information.
5153 # If successful, define the appropriate symbol (see fsusage.c) and
5154 # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND.
5156 # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
5158 AC_DEFUN([jm_FILE_SYSTEM_USAGE],
5161 echo "checking how to get filesystem space usage..."
5164 # Perform only the link test since it seems there are no variants of the
5165 # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
5166 # because that got a false positive on SCO OSR5. Adding the declaration
5167 # of a `struct statvfs' causes this test to fail (as it should) on such
5168 # systems. That system is reported to work fine with STAT_STATFS4 which
5169 # is what it gets when this test fails.
5170 if test $ac_fsusage_space = no; then
5172 AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
5173 [AC_TRY_LINK([#include <sys/types.h>
5175 Do not use statvfs on systems with GNU libc, because that function stats
5176 all preceding entries in /proc/mounts, and that makes df hang if even
5177 one of the corresponding file systems is hard-mounted, but not available.
5179 #include <sys/statvfs.h>],
5180 [struct statvfs fsd; statvfs (0, &fsd);],
5181 fu_cv_sys_stat_statvfs=yes,
5182 fu_cv_sys_stat_statvfs=no)])
5183 if test $fu_cv_sys_stat_statvfs = yes; then
5184 ac_fsusage_space=yes
5185 AC_DEFINE(STAT_STATVFS, 1,
5186 [ Define if there is a function named statvfs. (SVR4)])
5190 if test $ac_fsusage_space = no; then
5191 # DEC Alpha running OSF/1
5192 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
5193 AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
5195 #include <sys/param.h>
5196 #include <sys/types.h>
5197 #include <sys/mount.h>
5202 exit (statfs (".", &fsd, sizeof (struct statfs)));
5204 fu_cv_sys_stat_statfs3_osf1=yes,
5205 fu_cv_sys_stat_statfs3_osf1=no,
5206 fu_cv_sys_stat_statfs3_osf1=no)])
5207 AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
5208 if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
5209 ac_fsusage_space=yes
5210 AC_DEFINE(STAT_STATFS3_OSF1, 1,
5211 [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)])
5215 if test $ac_fsusage_space = no; then
5217 AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
5218 member (AIX, 4.3BSD)])
5219 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
5221 #ifdef HAVE_SYS_PARAM_H
5222 #include <sys/param.h>
5224 #ifdef HAVE_SYS_MOUNT_H
5225 #include <sys/mount.h>
5227 #ifdef HAVE_SYS_VFS_H
5228 #include <sys/vfs.h>
5234 exit (statfs (".", &fsd));
5236 fu_cv_sys_stat_statfs2_bsize=yes,
5237 fu_cv_sys_stat_statfs2_bsize=no,
5238 fu_cv_sys_stat_statfs2_bsize=no)])
5239 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
5240 if test $fu_cv_sys_stat_statfs2_bsize = yes; then
5241 ac_fsusage_space=yes
5242 AC_DEFINE(STAT_STATFS2_BSIZE, 1,
5243 [ Define if statfs takes 2 args and struct statfs has a field named f_bsize.
5244 (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
5248 if test $ac_fsusage_space = no; then
5250 AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
5251 AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
5252 [AC_TRY_RUN([#include <sys/types.h>
5253 #include <sys/statfs.h>
5257 exit (statfs (".", &fsd, sizeof fsd, 0));
5259 fu_cv_sys_stat_statfs4=yes,
5260 fu_cv_sys_stat_statfs4=no,
5261 fu_cv_sys_stat_statfs4=no)])
5262 AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
5263 if test $fu_cv_sys_stat_statfs4 = yes; then
5264 ac_fsusage_space=yes
5265 AC_DEFINE(STAT_STATFS4, 1,
5266 [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)])
5270 if test $ac_fsusage_space = no; then
5272 AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
5273 member (4.4BSD and NetBSD)])
5274 AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
5275 [AC_TRY_RUN([#include <sys/types.h>
5276 #ifdef HAVE_SYS_PARAM_H
5277 #include <sys/param.h>
5279 #ifdef HAVE_SYS_MOUNT_H
5280 #include <sys/mount.h>
5286 exit (statfs (".", &fsd));
5288 fu_cv_sys_stat_statfs2_fsize=yes,
5289 fu_cv_sys_stat_statfs2_fsize=no,
5290 fu_cv_sys_stat_statfs2_fsize=no)])
5291 AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
5292 if test $fu_cv_sys_stat_statfs2_fsize = yes; then
5293 ac_fsusage_space=yes
5294 AC_DEFINE(STAT_STATFS2_FSIZE, 1,
5295 [ Define if statfs takes 2 args and struct statfs has a field named f_fsize.
5300 if test $ac_fsusage_space = no; then
5302 AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
5303 AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
5304 [AC_TRY_RUN([#include <sys/types.h>
5305 #ifdef HAVE_SYS_PARAM_H
5306 #include <sys/param.h>
5308 #ifdef HAVE_SYS_MOUNT_H
5309 #include <sys/mount.h>
5311 #ifdef HAVE_SYS_FS_TYPES_H
5312 #include <sys/fs_types.h>
5317 /* Ultrix's statfs returns 1 for success,
5318 0 for not mounted, -1 for failure. */
5319 exit (statfs (".", &fsd) != 1);
5321 fu_cv_sys_stat_fs_data=yes,
5322 fu_cv_sys_stat_fs_data=no,
5323 fu_cv_sys_stat_fs_data=no)])
5324 AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
5325 if test $fu_cv_sys_stat_fs_data = yes; then
5326 ac_fsusage_space=yes
5327 AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
5328 [ Define if statfs takes 2 args and the second argument has
5329 type struct fs_data. (Ultrix)])
5333 if test $ac_fsusage_space = no; then
5335 AC_TRY_CPP([#include <sys/filsys.h>
5337 AC_DEFINE(STAT_READ_FILSYS, 1,
5338 [Define if there is no specific function for reading filesystems usage
5339 information and you have the <sys/filsys.h> header file. (SVR2)])
5340 ac_fsusage_space=yes)
5343 AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
5349 # Define some macros required for proper operation of code in lib/*.c
5350 # on MSDOS/Windows systems.
5352 # From Jim Meyering.
5354 AC_DEFUN([jm_AC_DOS],
5356 AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
5359 [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
5360 neither MSDOS nor Windows
5362 [ac_cv_win_or_dos=yes],
5363 [ac_cv_win_or_dos=no])
5366 if test x"$ac_cv_win_or_dos" = xyes; then
5367 ac_fs_accepts_drive_letter_prefix=1
5368 ac_fs_backslash_is_file_name_separator=1
5370 ac_fs_accepts_drive_letter_prefix=0
5371 ac_fs_backslash_is_file_name_separator=0
5374 AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
5375 [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
5376 # define FILESYSTEM_PREFIX_LEN(Filename) \
5377 ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
5379 # define FILESYSTEM_PREFIX_LEN(Filename) 0
5382 AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
5383 $ac_fs_accepts_drive_letter_prefix,
5384 [Define on systems for which file names may have a so-called
5385 `drive letter' prefix, define this to compute the length of that
5386 prefix, including the colon.])
5388 AH_VERBATIM(ISSLASH,
5389 [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
5390 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
5392 # define ISSLASH(C) ((C) == '/')
5395 AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
5396 $ac_fs_backslash_is_file_name_separator,
5397 [Define if the backslash character may also serve as a file name
5398 component separator.])
5402 AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
5404 AC_REQUIRE([AC_HEADER_STDC])
5405 AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
5406 AC_CHECK_FUNCS(resolvepath)
5407 AC_REQUIRE([AC_HEADER_STAT])
5409 # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
5410 # if the function name weren't so long. Besides, I would rather
5411 # not have underscores in file names.
5412 AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
5417 dnl From Paul Eggert.
5419 # Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
5422 AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
5423 [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
5424 ac_cv_struct_st_mtim_nsec,
5425 [ac_save_CPPFLAGS="$CPPFLAGS"
5426 ac_cv_struct_st_mtim_nsec=no
5427 # tv_nsec -- the usual case
5428 # _tv_nsec -- Solaris 2.6, if
5429 # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
5430 # && !defined __EXTENSIONS__)
5431 # st__tim.tv_nsec -- UnixWare 2.1.2
5432 for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
5433 CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
5434 AC_TRY_COMPILE([#include <sys/types.h>
5435 #include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
5436 [ac_cv_struct_st_mtim_nsec=$ac_val; break])
5438 CPPFLAGS="$ac_save_CPPFLAGS"])
5440 if test $ac_cv_struct_st_mtim_nsec != no; then
5441 AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
5442 [Define to be the nanoseconds member of struct stat's st_mtim,
5450 # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member.
5452 AC_DEFUN([AC_STRUCT_ST_DM_MODE],
5453 [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode,
5454 [AC_TRY_COMPILE([#include <sys/types.h>
5455 #include <sys/stat.h>], [struct stat s; s.st_dm_mode;],
5456 ac_cv_struct_st_dm_mode=yes,
5457 ac_cv_struct_st_dm_mode=no)])
5459 if test $ac_cv_struct_st_dm_mode = yes; then
5460 AC_DEFINE(HAVE_ST_DM_MODE, 1,
5461 [Define if struct stat has an st_dm_mode member. ])
5468 dnl From Jim Meyering
5470 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
5471 dnl in time.h or sys/time.h.
5473 AC_DEFUN([jm_CHECK_TYPE_STRUCT_TIMESPEC],
5475 AC_REQUIRE([AC_HEADER_TIME])
5476 AC_CACHE_CHECK([for struct timespec], fu_cv_sys_struct_timespec,
5479 # if TIME_WITH_SYS_TIME
5480 # include <sys/time.h>
5483 # if HAVE_SYS_TIME_H
5484 # include <sys/time.h>
5490 [static struct timespec x; x.tv_sec = x.tv_nsec;],
5491 fu_cv_sys_struct_timespec=yes,
5492 fu_cv_sys_struct_timespec=no)
5495 if test $fu_cv_sys_struct_timespec = yes; then
5496 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
5497 [Define if struct timespec is declared in <time.h>. ])
5502 dnl From Jim Meyering and Paul Eggert.
5503 AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
5504 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
5505 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
5506 jm_cv_sys_tiocgwinsz_needs_termios_h,
5507 [jm_cv_sys_tiocgwinsz_needs_termios_h=no
5509 if test $ac_cv_sys_posix_termios = yes; then
5511 [#include <sys/types.h>
5512 # include <termios.h>
5516 ], jm_cv_sys_tiocgwinsz_needs_termios_h=yes)
5521 AC_DEFUN([jm_WINSIZE_IN_PTEM],
5522 [AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
5523 AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
5524 jm_cv_sys_struct_winsize_needs_sys_ptem_h,
5525 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
5526 if test $ac_cv_sys_posix_termios = yes; then
5527 AC_TRY_COMPILE([#include <termios.h>]
5528 [struct winsize x;],
5529 [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
5531 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
5532 AC_TRY_COMPILE([#include <sys/ptem.h>],
5533 [struct winsize x;],
5534 [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
5536 if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
5537 AC_DEFINE([WINSIZE_IN_PTEM], 1,
5538 [Define if sys/ptem.h is required for struct winsize.])
5541 # Determine whether this system has infrastructure for obtaining the boot time.
5543 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
5544 * ----------------------------------------------------------
5545 AC_DEFUN([GNULIB_BOOT_TIME],
5547 AC_CHECK_FUNCS(sysctl)
5548 AC_CHECK_HEADERS(sys/sysctl.h)
5550 [whether we can get the system boot time],
5551 [gnulib_cv_have_boot_time],
5555 [AC_INCLUDES_DEFAULT
5556 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
5557 # include <sys/param.h> /* needed for OpenBSD 3.0 */
5558 # include <sys/sysctl.h>
5567 #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME)
5568 /* your system *does* have the infrastructure to determine boot time */
5570 please_tell_us_how_to_determine_boot_time_on_your_system
5573 gnulib_cv_have_boot_time=yes,
5574 gnulib_cv_have_boot_time=no)
5576 AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
5581 AC_DEFUN([jm_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
5582 [AC_REQUIRE([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H])
5583 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h],
5584 jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h,
5585 [jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no
5587 if test $jm_cv_sys_tiocgwinsz_needs_termios_h = no; then
5589 [#include <sys/types.h>
5590 # include <sys/ioctl.h>
5594 ], jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes)
5597 if test $jm_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then
5598 AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1,
5599 [Define if your system defines TIOCGWINSZ in sys/ioctl.h.])
5605 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
5607 AC_DEFUN([jm_LIB_CHECK],
5610 # Check for libypsec.a on Dolphin M88K machines.
5611 AC_CHECK_LIB(ypsec, main)
5613 # m88k running dgux 5.4 needs this
5614 AC_CHECK_LIB(ldgc, main)
5616 # Some programs need to link with -lm. printf does if it uses
5617 # lib/strtod.c which uses pow. And seq uses the math functions,
5618 # floor, modf, rint. And factor uses sqrt. And sleep uses fesetround.
5620 # Save a copy of $LIBS and add $FLOOR_LIBM before these tests
5621 # Check for these math functions used by seq.
5622 ac_su_saved_lib="$LIBS"
5624 AC_CHECK_FUNCS(floor modf rint)
5625 LIBS="$ac_su_saved_lib"
5628 AC_CHECK_FUNCS(sqrt)
5629 if test $ac_cv_func_sqrt = no; then
5630 AC_CHECK_LIB(m, sqrt, [SQRT_LIBM=-lm])
5633 AC_SUBST(FESETROUND_LIBM)
5634 AC_CHECK_FUNCS(fesetround)
5635 if test $ac_cv_func_fesetround = no; then
5636 AC_CHECK_LIB(m, fesetround, [FESETROUND_LIBM=-lm])
5639 # The -lsun library is required for YP support on Irix-4.0.5 systems.
5640 # m88k/svr3 DolphinOS systems using YP need -lypsec for id.
5641 AC_SEARCH_LIBS(yp_match, [sun ypsec])
5643 # SysV needs -lsec, older versions of Linux need -lshadow for
5644 # shadow passwords. UnixWare 7 needs -lgen.
5645 AC_SEARCH_LIBS(getspnam, [shadow sec gen])
5647 AC_CHECK_HEADERS(shadow.h)
5649 # Requirements for su.c.
5651 $ac_includes_default
5653 # include <shadow.h>
5656 AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
5657 AC_CHECK_FUNCS(getspnam)
5659 # SCO-ODT-3.0 is reported to need -lufc for crypt.
5660 # NetBSD needs -lcrypt for crypt.
5661 ac_su_saved_lib="$LIBS"
5662 AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
5663 LIBS="$ac_su_saved_lib"
5667 # gettext.m4 serial 17 (gettext-0.11.5)
5668 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
5669 dnl This file is free software, distributed under the terms of the GNU
5670 dnl General Public License. As a special exception to the GNU General
5671 dnl Public License, this file may be distributed as part of a program
5672 dnl that contains a configuration script generated by Autoconf, under
5673 dnl the same distribution terms as the rest of that program.
5675 dnl This file can can be used in projects which are not available under
5676 dnl the GNU General Public License or the GNU Library General Public
5677 dnl License but which still want to provide support for the GNU gettext
5679 dnl Please note that the actual code of the GNU gettext library is covered
5680 dnl by the GNU Library General Public License, and the rest of the GNU
5681 dnl gettext package package is covered by the GNU General Public License.
5682 dnl They are *not* in the public domain.
5685 dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
5686 dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
5688 dnl Macro to add for using GNU gettext.
5690 dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
5691 dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
5692 dnl default (if it is not specified or empty) is 'no-libtool'.
5693 dnl INTLSYMBOL should be 'external' for packages with no intl directory,
5694 dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
5695 dnl If INTLSYMBOL is 'use-libtool', then a libtool library
5696 dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
5697 dnl depending on --{enable,disable}-{shared,static} and on the presence of
5698 dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
5699 dnl $(top_builddir)/intl/libintl.a will be created.
5700 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
5701 dnl implementations (in libc or libintl) without the ngettext() function
5702 dnl will be ignored. If NEEDSYMBOL is specified and is
5703 dnl 'need-formatstring-macros', then GNU gettext implementations that don't
5704 dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
5705 dnl INTLDIR is used to find the intl libraries. If empty,
5706 dnl the value `$(top_builddir)/intl/' is used.
5708 dnl The result of the configuration is one of three cases:
5709 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
5711 dnl Catalog format: GNU --> install in $(datadir)
5712 dnl Catalog extension: .mo after installation, .gmo in source tree
5713 dnl 2) GNU gettext has been found in the system's C library.
5714 dnl Catalog format: GNU --> install in $(datadir)
5715 dnl Catalog extension: .mo after installation, .gmo in source tree
5716 dnl 3) No internationalization, always use English msgid.
5717 dnl Catalog format: none
5718 dnl Catalog extension: none
5719 dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
5720 dnl The use of .gmo is historical (it was needed to avoid overwriting the
5721 dnl GNU format catalogs when building on a platform with an X/Open gettext),
5722 dnl but we keep it in order not to force irrelevant filename changes on the
5725 AC_DEFUN([AM_GNU_GETTEXT],
5727 dnl Argument checking.
5728 ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
5729 [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
5731 ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
5732 [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
5734 define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
5735 define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
5737 AC_REQUIRE([AM_PO_SUBDIRS])dnl
5738 ifelse(gt_included_intl, yes, [
5739 AC_REQUIRE([AM_INTL_SUBDIR])dnl
5742 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
5743 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
5744 AC_REQUIRE([AC_LIB_RPATH])
5746 dnl Sometimes libintl requires libiconv, so first search for libiconv.
5747 dnl Ideally we would do this search only after the
5748 dnl if test "$USE_NLS" = "yes"; then
5749 dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
5750 dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
5751 dnl the configure script would need to contain the same shell code
5752 dnl again, outside any 'if'. There are two solutions:
5753 dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
5754 dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
5755 dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
5756 dnl documented, we avoid it.
5757 ifelse(gt_included_intl, yes, , [
5758 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
5761 AC_MSG_CHECKING([whether NLS is requested])
5762 dnl Default is enabled NLS
5764 [ --disable-nls do not use Native Language Support],
5765 USE_NLS=$enableval, USE_NLS=yes)
5766 AC_MSG_RESULT($USE_NLS)
5769 ifelse(gt_included_intl, yes, [
5770 BUILD_INCLUDED_LIBINTL=no
5771 USE_INCLUDED_LIBINTL=no
5777 dnl If we use NLS figure out what method
5778 if test "$USE_NLS" = "yes"; then
5779 gt_use_preinstalled_gnugettext=no
5780 ifelse(gt_included_intl, yes, [
5781 AC_MSG_CHECKING([whether included gettext is requested])
5782 AC_ARG_WITH(included-gettext,
5783 [ --with-included-gettext use the GNU gettext library included here],
5784 nls_cv_force_use_gnu_gettext=$withval,
5785 nls_cv_force_use_gnu_gettext=no)
5786 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
5788 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
5789 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
5791 dnl User does not insist on using GNU NLS library. Figure out what
5792 dnl to use. If GNU gettext is available we use this. Else we have
5793 dnl to fall back to GNU NLS library.
5795 dnl Add a version number to the cache macros.
5796 define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
5797 define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
5798 define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
5800 AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
5801 [AC_TRY_LINK([#include <libintl.h>
5802 ]ifelse([$2], [need-formatstring-macros],
5803 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
5804 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
5807 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
5809 ], [])[extern int _nl_msg_cat_cntr;
5810 extern int *_nl_domain_bindings;],
5811 [bindtextdomain ("", "");
5812 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
5813 gt_cv_func_gnugettext_libc=yes,
5814 gt_cv_func_gnugettext_libc=no)])
5816 if test "$gt_cv_func_gnugettext_libc" != "yes"; then
5817 dnl Sometimes libintl requires libiconv, so first search for libiconv.
5818 ifelse(gt_included_intl, yes, , [
5821 dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
5822 dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
5823 dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
5824 dnl even if libiconv doesn't exist.
5825 AC_LIB_LINKFLAGS_BODY([intl])
5826 AC_CACHE_CHECK([for GNU gettext in libintl],
5827 gt_cv_func_gnugettext_libintl,
5828 [gt_save_CPPFLAGS="$CPPFLAGS"
5829 CPPFLAGS="$CPPFLAGS $INCINTL"
5830 gt_save_LIBS="$LIBS"
5831 LIBS="$LIBS $LIBINTL"
5832 dnl Now see whether libintl exists and does not depend on libiconv.
5833 AC_TRY_LINK([#include <libintl.h>
5834 ]ifelse([$2], [need-formatstring-macros],
5835 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
5836 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
5839 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
5841 ], [])[extern int _nl_msg_cat_cntr;
5846 const char *_nl_expand_alias ();],
5847 [bindtextdomain ("", "");
5848 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
5849 gt_cv_func_gnugettext_libintl=yes,
5850 gt_cv_func_gnugettext_libintl=no)
5851 dnl Now see whether libintl exists and depends on libiconv.
5852 if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
5853 LIBS="$LIBS $LIBICONV"
5854 AC_TRY_LINK([#include <libintl.h>
5855 ]ifelse([$2], [need-formatstring-macros],
5856 [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
5857 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
5860 typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
5862 ], [])[extern int _nl_msg_cat_cntr;
5867 const char *_nl_expand_alias ();],
5868 [bindtextdomain ("", "");
5869 return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
5870 [LIBINTL="$LIBINTL $LIBICONV"
5871 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
5872 gt_cv_func_gnugettext_libintl=yes
5875 CPPFLAGS="$gt_save_CPPFLAGS"
5876 LIBS="$gt_save_LIBS"])
5879 dnl If an already present or preinstalled GNU gettext() is found,
5880 dnl use it. But if this macro is used in GNU gettext, and GNU
5881 dnl gettext is already preinstalled in libintl, we update this
5882 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
5883 if test "$gt_cv_func_gnugettext_libc" = "yes" \
5884 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
5885 && test "$PACKAGE" != gettext; }; then
5886 gt_use_preinstalled_gnugettext=yes
5888 dnl Reset the values set by searching for libintl.
5894 ifelse(gt_included_intl, yes, [
5895 if test "$gt_use_preinstalled_gnugettext" != "yes"; then
5896 dnl GNU gettext is not found in the C library.
5897 dnl Fall back on included GNU gettext library.
5898 nls_cv_use_gnu_gettext=yes
5902 if test "$nls_cv_use_gnu_gettext" = "yes"; then
5903 dnl Mark actions used to generate GNU NLS library.
5904 INTLOBJS="\$(GETTOBJS)"
5905 BUILD_INCLUDED_LIBINTL=yes
5906 USE_INCLUDED_LIBINTL=yes
5907 LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
5908 LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
5909 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
5912 if test "$gt_use_preinstalled_gnugettext" = "yes" \
5913 || test "$nls_cv_use_gnu_gettext" = "yes"; then
5914 dnl Mark actions to use GNU gettext tools.
5919 if test "$gt_use_preinstalled_gnugettext" = "yes" \
5920 || test "$nls_cv_use_gnu_gettext" = "yes"; then
5921 AC_DEFINE(ENABLE_NLS, 1,
5922 [Define to 1 if translation of program messages to the user's native language
5929 if test "$USE_NLS" = "yes"; then
5931 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
5932 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
5933 AC_MSG_CHECKING([how to link with libintl])
5934 AC_MSG_RESULT([$LIBINTL])
5935 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
5938 dnl For backward compatibility. Some packages may be using this.
5939 AC_DEFINE(HAVE_GETTEXT, 1,
5940 [Define if the GNU gettext() function is already present or preinstalled.])
5941 AC_DEFINE(HAVE_DCGETTEXT, 1,
5942 [Define if the GNU dcgettext() function is already present or preinstalled.])
5945 dnl We need to process the po/ directory.
5949 ifelse(gt_included_intl, yes, [
5950 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
5951 dnl to 'yes' because some of the testsuite requires it.
5952 if test "$PACKAGE" = gettext; then
5953 BUILD_INCLUDED_LIBINTL=yes
5956 dnl Make all variables we use known to autoconf.
5957 AC_SUBST(BUILD_INCLUDED_LIBINTL)
5958 AC_SUBST(USE_INCLUDED_LIBINTL)
5962 dnl For backward compatibility. Some configure.ins may be using this.
5964 nls_cv_header_libgt=
5966 dnl For backward compatibility. Some Makefiles may be using this.
5968 AC_SUBST(DATADIRNAME)
5970 dnl For backward compatibility. Some Makefiles may be using this.
5972 AC_SUBST(INSTOBJEXT)
5974 dnl For backward compatibility. Some Makefiles may be using this.
5978 dnl Enable libtool support if the surrounding package wishes it.
5979 INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
5980 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
5983 dnl For backward compatibility. Some Makefiles may be using this.
5987 dnl Make all documented variables known to autoconf.
5994 dnl Checks for all prerequisites of the po subdirectory,
5995 dnl except for USE_NLS.
5996 AC_DEFUN([AM_PO_SUBDIRS],
5998 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
5999 AC_REQUIRE([AC_PROG_INSTALL])dnl
6000 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
6002 dnl Perform the following tests also if --disable-nls has been given,
6003 dnl because they are needed for "make dist" to work.
6005 dnl Search for GNU msgfmt in the PATH.
6006 dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
6007 dnl The second test excludes FreeBSD msgfmt.
6008 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
6009 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
6010 (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
6012 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
6014 dnl Search for GNU xgettext 0.11 or newer in the PATH.
6015 dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
6016 dnl The second test excludes FreeBSD xgettext.
6017 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
6018 [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
6019 (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)],
6021 dnl Remove leftover from FreeBSD xgettext call.
6024 dnl Search for GNU msgmerge 0.11 or newer in the PATH.
6025 AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
6026 [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
6028 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
6029 dnl Test whether we really found GNU msgfmt.
6030 if test "$GMSGFMT" != ":"; then
6031 dnl If it is no GNU msgfmt we define it as : so that the
6032 dnl Makefiles still can work.
6033 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
6034 (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
6037 GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
6039 [found $GMSGFMT program is not GNU msgfmt; ignore it])
6044 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
6045 dnl Test whether we really found GNU xgettext.
6046 if test "$XGETTEXT" != ":"; then
6047 dnl If it is no GNU xgettext we define it as : so that the
6048 dnl Makefiles still can work.
6049 if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
6050 (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
6054 [found xgettext program is not GNU xgettext; ignore it])
6057 dnl Remove leftover from FreeBSD xgettext call.
6061 AC_OUTPUT_COMMANDS([
6062 for ac_file in $CONFIG_FILES; do
6063 # Support "outfile[:infile[:infile...]]"
6065 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
6067 # PO directories have a Makefile.in generated from Makefile.in.in.
6068 case "$ac_file" in */Makefile.in)
6069 # Adjust a relative srcdir.
6070 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
6071 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
6072 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
6073 # In autoconf-2.13 it is called $ac_given_srcdir.
6074 # In autoconf-2.50 it is called $srcdir.
6075 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
6076 case "$ac_given_srcdir" in
6077 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
6078 /*) top_srcdir="$ac_given_srcdir" ;;
6079 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
6081 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
6082 rm -f "$ac_dir/POTFILES"
6083 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
6084 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
6085 # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
6086 # on $ac_dir but don't depend on user-specified configuration
6088 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
6089 # The LINGUAS file contains the set of available languages.
6090 if test -n "$ALL_LINGUAS"; then
6091 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
6093 ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
6094 # Hide the ALL_LINGUAS assigment from automake.
6095 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
6097 case "$ac_given_srcdir" in
6099 *) srcdirpre='$(srcdir)/' ;;
6105 for lang in $ALL_LINGUAS; do
6106 POFILES="$POFILES $srcdirpre$lang.po"
6107 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
6108 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
6109 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
6111 # CATALOGS depends on both $ac_dir and the user's LINGUAS
6112 # environment variable.
6114 if test -n "$ALL_LINGUAS"; then
6115 for presentlang in $ALL_LINGUAS; do
6117 if test "%UNSET%" != "$LINGUAS"; then
6118 desiredlanguages="$LINGUAS"
6120 desiredlanguages="$ALL_LINGUAS"
6122 for desiredlang in $desiredlanguages; do
6123 # Use the presentlang catalog if desiredlang is
6124 # a. equal to presentlang, or
6125 # b. a variant of presentlang (because in this case,
6126 # presentlang can be used as a fallback for messages
6127 # which are not translated in the desiredlang catalog).
6128 case "$desiredlang" in
6129 "$presentlang"*) useit=yes;;
6132 if test $useit = yes; then
6133 INST_LINGUAS="$INST_LINGUAS $presentlang"
6138 if test -n "$INST_LINGUAS"; then
6139 for lang in $INST_LINGUAS; do
6140 CATALOGS="$CATALOGS $lang.gmo"
6143 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
6144 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"
6145 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
6146 if test -f "$f"; then
6148 *.orig | *.bak | *~) ;;
6149 *) cat "$f" >> "$ac_dir/Makefile" ;;
6157 [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
6158 # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
6160 eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
6161 # Capture the value of LINGUAS because we need it to compute CATALOGS.
6162 LINGUAS="${LINGUAS-%UNSET%}"
6167 dnl Checks for all prerequisites of the intl subdirectory,
6168 dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
6169 dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
6170 AC_DEFUN([AM_INTL_SUBDIR],
6172 AC_REQUIRE([AC_PROG_INSTALL])dnl
6173 AC_REQUIRE([AM_MKINSTALLDIRS])dnl
6174 AC_REQUIRE([AC_PROG_CC])dnl
6175 AC_REQUIRE([AC_CANONICAL_HOST])dnl
6176 AC_REQUIRE([AC_PROG_RANLIB])dnl
6177 AC_REQUIRE([AC_ISC_POSIX])dnl
6178 AC_REQUIRE([AC_HEADER_STDC])dnl
6179 AC_REQUIRE([AC_C_CONST])dnl
6180 AC_REQUIRE([AC_C_INLINE])dnl
6181 AC_REQUIRE([AC_TYPE_OFF_T])dnl
6182 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
6183 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
6184 AC_REQUIRE([AC_FUNC_MMAP])dnl
6185 AC_REQUIRE([jm_GLIBC21])dnl
6186 AC_REQUIRE([gt_INTDIV0])dnl
6187 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
6188 AC_REQUIRE([gt_INTTYPES_PRI])dnl
6190 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
6191 stdlib.h string.h unistd.h sys/param.h])
6192 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
6193 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
6194 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
6198 if test $ac_cv_header_locale_h = yes; then
6202 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
6203 dnl because plural.y uses bison specific features. It requires at least
6204 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
6206 dnl bison is only needed for the maintainer (who touches plural.y). But in
6207 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
6208 dnl the rule in general Makefile. Now, some people carelessly touch the
6209 dnl files or have a broken "make" program, hence the plural.c rule will
6210 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
6211 dnl present or too old.
6212 AC_CHECK_PROGS([INTLBISON], [bison])
6213 if test -z "$INTLBISON"; then
6216 dnl Found it, now check the version.
6217 AC_MSG_CHECKING([version of bison])
6218 changequote(<<,>>)dnl
6219 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
6220 case $ac_prog_version in
6221 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
6222 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
6224 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
6225 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
6227 AC_MSG_RESULT([$ac_prog_version])
6229 if test $ac_verc_fail = yes; then
6235 AC_DEFUN([AM_MKINSTALLDIRS],
6237 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
6238 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
6239 dnl Try to locate is.
6241 if test -n "$ac_aux_dir"; then
6242 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
6244 if test -z "$MKINSTALLDIRS"; then
6245 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
6247 AC_SUBST(MKINSTALLDIRS)
6251 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
6252 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
6254 # progtest.m4 serial 2 (gettext-0.10.40)
6255 dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
6256 dnl This file is free software, distributed under the terms of the GNU
6257 dnl General Public License. As a special exception to the GNU General
6258 dnl Public License, this file may be distributed as part of a program
6259 dnl that contains a configuration script generated by Autoconf, under
6260 dnl the same distribution terms as the rest of that program.
6262 dnl This file can can be used in projects which are not available under
6263 dnl the GNU General Public License or the GNU Library General Public
6264 dnl License but which still want to provide support for the GNU gettext
6266 dnl Please note that the actual code of the GNU gettext library is covered
6267 dnl by the GNU Library General Public License, and the rest of the GNU
6268 dnl gettext package package is covered by the GNU General Public License.
6269 dnl They are *not* in the public domain.
6272 dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
6274 # Search path for a program which passes the given test.
6276 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
6277 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
6278 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
6279 [# Extract the first word of "$2", so it can be a program name with args.
6280 set dummy $2; ac_word=[$]2
6281 AC_MSG_CHECKING([for $ac_word])
6282 AC_CACHE_VAL(ac_cv_path_$1,
6285 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
6288 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
6289 for ac_dir in ifelse([$5], , $PATH, [$5]); do
6290 test -z "$ac_dir" && ac_dir=.
6291 if test -f $ac_dir/$ac_word; then
6293 ac_cv_path_$1="$ac_dir/$ac_word"
6299 dnl If no 4th arg is given, leave the cache variable unset,
6300 dnl so AC_PATH_PROGS will keep looking.
6301 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
6306 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
6307 AC_MSG_RESULT([$]$1)
6314 # intdiv0.m4 serial 1 (gettext-0.11.3)
6315 dnl Copyright (C) 2002 Free Software Foundation, Inc.
6316 dnl This file is free software, distributed under the terms of the GNU
6317 dnl General Public License. As a special exception to the GNU General
6318 dnl Public License, this file may be distributed as part of a program
6319 dnl that contains a configuration script generated by Autoconf, under
6320 dnl the same distribution terms as the rest of that program.
6322 dnl From Bruno Haible.
6324 AC_DEFUN([gt_INTDIV0],
6326 AC_REQUIRE([AC_PROG_CC])dnl
6327 AC_REQUIRE([AC_CANONICAL_HOST])dnl
6329 AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
6330 gt_cv_int_divbyzero_sigfpe,
6338 sigfpe_handler (int sig)
6340 sigfpe_handler (sig) int sig;
6343 /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
6344 exit (sig != SIGFPE);
6354 signal (SIGFPE, sigfpe_handler);
6355 /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
6356 #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
6357 signal (SIGTRAP, sigfpe_handler);
6359 /* Linux/SPARC yields signal SIGILL. */
6360 #if defined (__sparc__) && defined (__linux__)
6361 signal (SIGILL, sigfpe_handler);
6368 ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
6370 # Guess based on the CPU.
6372 alpha* | i[34567]86 | m68k | s390*)
6373 gt_cv_int_divbyzero_sigfpe="guessing yes";;
6375 gt_cv_int_divbyzero_sigfpe="guessing no";;
6379 case "$gt_cv_int_divbyzero_sigfpe" in
6383 AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
6384 [Define if integer division by zero raises signal SIGFPE.])
6387 # lcmessage.m4 serial 3 (gettext-0.11.3)
6388 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
6389 dnl This file is free software, distributed under the terms of the GNU
6390 dnl General Public License. As a special exception to the GNU General
6391 dnl Public License, this file may be distributed as part of a program
6392 dnl that contains a configuration script generated by Autoconf, under
6393 dnl the same distribution terms as the rest of that program.
6395 dnl This file can can be used in projects which are not available under
6396 dnl the GNU General Public License or the GNU Library General Public
6397 dnl License but which still want to provide support for the GNU gettext
6399 dnl Please note that the actual code of the GNU gettext library is covered
6400 dnl by the GNU Library General Public License, and the rest of the GNU
6401 dnl gettext package package is covered by the GNU General Public License.
6402 dnl They are *not* in the public domain.
6405 dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
6407 # Check whether LC_MESSAGES is available in <locale.h>.
6409 AC_DEFUN([AM_LC_MESSAGES],
6411 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
6412 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
6413 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
6414 if test $am_cv_val_LC_MESSAGES = yes; then
6415 AC_DEFINE(HAVE_LC_MESSAGES, 1,
6416 [Define if your <locale.h> file defines LC_MESSAGES.])