1 #serial 107 -*- autoconf -*-
3 dnl Misc type-related macros for coreutils.
5 # Copyright (C) 1998, 2000-2008 Free Software Foundation, Inc.
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 # Written by Jim Meyering.
22 AC_DEFUN([coreutils_MACROS],
24 AM_MISSING_PROG(HELP2MAN, help2man)
27 dnl This macro actually runs replacement code. See isc-posix.m4.
28 AC_REQUIRE([AC_ISC_POSIX])dnl
32 AC_REQUIRE([gl_CHECK_DECLS])
34 AC_REQUIRE([gl_PREREQ])
36 AC_REQUIRE([AC_FUNC_FSEEKO])
38 # By default, argmatch should fail calling usage (1).
39 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
40 [Define to the function xargmatch calls on failures.])
41 AC_DEFINE(ARGMATCH_DIE_DECL, [void usage ()],
42 [Define to the declaration of the xargmatch failure function.])
45 AC_REQUIRE([gl_CLOCK_TIME])
47 AC_CHECK_FUNCS_ONCE(directio)
50 AC_CHECK_FUNCS_ONCE([matchpathcon_init_prefix])
53 AC_CHECK_FUNCS_ONCE([nl_langinfo])
55 AC_CHECK_FUNCS_ONCE( \
73 dnl This can't use AC_REQUIRE; I'm not quite sure why.
76 # for dd.c and shred.c
77 coreutils_saved_libs=$LIBS
78 AC_SEARCH_LIBS([fdatasync], [rt posix4],
79 [test "$ac_cv_search_fdatasync" = "none required" ||
80 LIB_FDATASYNC=$ac_cv_search_fdatasync])
81 AC_SUBST([LIB_FDATASYNC])
82 AC_CHECK_FUNCS(fdatasync)
83 LIBS=$coreutils_saved_libs
85 # See if linking `seq' requires -lm.
86 # It does on nearly every system. The single exception (so far) is
87 # BeOS which has all the math functions in the normal runtime library
88 # and doesn't have a separate math library.
96 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
97 [ac_seq_save_LIBS="$LIBS"
99 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
100 LIBS="$ac_seq_save_LIBS"
103 AC_REQUIRE([AM_LANGINFO_CODESET])
106 AC_DEFUN([gl_CHECK_ALL_HEADERS],
108 AC_CHECK_HEADERS_ONCE( \
122 AC_CHECK_HEADERS(sys/sysctl.h, [], [],
124 [#if HAVE_SYS_PARAM_H
125 #include <sys/param.h>
129 # This macro must be invoked before any tests that run the compiler.
130 AC_DEFUN([gl_CHECK_ALL_TYPES],
132 dnl This test must come as early as possible after the compiler configuration
133 dnl tests, because the choice of the file model can (in principle) affect
134 dnl whether functions and headers are available, whether they work, etc.
135 AC_REQUIRE([AC_SYS_LARGEFILE])
137 dnl This test must precede tests of compiler characteristics like
138 dnl that for the inline keyword, since it may change the degree to
139 dnl which the compiler supports such features.
140 AC_REQUIRE([AM_C_PROTOTYPES])
142 dnl Checks for typedefs, structures, and compiler characteristics.
143 AC_REQUIRE([AC_C_BIGENDIAN])
144 AC_REQUIRE([AC_C_VOLATILE])
145 AC_REQUIRE([AC_C_INLINE])
146 AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
148 AC_REQUIRE([gl_CHECK_ALL_HEADERS])
150 [struct stat.st_author],,,
151 [$ac_includes_default
152 #include <sys/stat.h>
154 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
156 AC_REQUIRE([AC_TYPE_GETGROUPS])
157 AC_REQUIRE([AC_TYPE_MBSTATE_T])
158 AC_REQUIRE([AC_TYPE_MODE_T])
159 AC_REQUIRE([AC_TYPE_OFF_T])
160 AC_REQUIRE([AC_TYPE_PID_T])
161 AC_REQUIRE([AC_TYPE_SIZE_T])
162 AC_REQUIRE([AC_TYPE_UID_T])
163 AC_CHECK_TYPE(ino_t, unsigned long int)
165 dnl This relies on the fact that Autoconf's implementation of
166 dnl AC_CHECK_TYPE checks includes unistd.h.
167 AC_CHECK_TYPE(major_t, unsigned int)
168 AC_CHECK_TYPE(minor_t, unsigned int)
170 AC_REQUIRE([AC_HEADER_MAJOR])