3 dnl Misc type-related macros for fileutils, sh-utils, textutils.
9 GNU_PACKAGE="GNU $PACKAGE"
10 AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
11 [The concatenation of the strings `GNU ', and PACKAGE.])
14 AC_SUBST(OPTIONAL_BIN_PROGS)
15 AC_SUBST(OPTIONAL_BIN_ZCRIPTS)
19 dnl This macro actually runs replacement code. See isc-posix.m4.
20 AC_REQUIRE([AC_ISC_POSIX])dnl
60 jm_INCLUDED_REGEX([lib/regex.c])
62 AC_REQUIRE([jm_BISON])
63 AC_REQUIRE([jm_ASSERT])
64 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
65 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_UTIMBUF])
66 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
67 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
68 AC_REQUIRE([jm_CHECK_DECLS])
70 AC_REQUIRE([jm_PREREQ])
72 AC_REQUIRE([jm_FUNC_LCHOWN])
73 AC_REQUIRE([jm_FUNC_CHOWN])
74 AC_REQUIRE([jm_FUNC_MKTIME])
75 AC_REQUIRE([jm_FUNC_LSTAT])
76 AC_REQUIRE([jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
77 AC_REQUIRE([jm_FUNC_STAT])
78 AC_REQUIRE([jm_FUNC_REALLOC])
79 AC_REQUIRE([jm_FUNC_MALLOC])
80 AC_REQUIRE([jm_FUNC_STRERROR_R])
81 AC_REQUIRE([jm_FUNC_NANOSLEEP])
82 AC_REQUIRE([jm_FUNC_READDIR])
83 AC_REQUIRE([jm_FUNC_MEMCMP])
84 AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
85 AC_REQUIRE([jm_FUNC_FNMATCH])
86 AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
87 AC_REQUIRE([jm_FUNC_PUTENV])
89 AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
90 AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
91 AC_REQUIRE([AM_FUNC_ERROR_AT_LINE])
92 AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
93 AC_REQUIRE([jm_FUNC_MKTIME])
95 AC_REQUIRE([jm_FUNC_GETGROUPS])
96 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
98 AC_REQUIRE([AC_FUNC_VPRINTF])
99 AC_REQUIRE([AC_FUNC_ALLOCA])
100 AC_REQUIRE([AM_FUNC_GETLOADAVG])
101 AC_REQUIRE([jm_SYS_PROC_UPTIME])
102 AC_REQUIRE([jm_FUNC_FTRUNCATE])
104 AC_REPLACE_FUNCS(strcasecmp strncasecmp)
105 AC_REPLACE_FUNCS(dup2)
106 AC_REPLACE_FUNCS(gethostname getusershell)
107 AC_REPLACE_FUNCS(stime strcspn stpcpy strstr strtol strtoul)
108 AC_REPLACE_FUNCS(strpbrk)
109 AC_REPLACE_FUNCS(euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp)
111 dnl used by e.g. intl/*domain.c and lib/canon-host.c
112 AC_REPLACE_FUNCS(strdup)
114 AC_REPLACE_FUNCS(memchr memmove memcpy memset)
115 AC_CHECK_FUNCS(getpagesize)
117 # By default, argmatch should fail calling usage (1).
118 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
119 [Define to the function xargmatch calls on failures.])
120 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
121 [Define to the declaration of the xargmatch failure function.])
123 dnl Used to define SETVBUF in sys2.h.
124 dnl This evokes the following warning from autoconf:
125 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
126 AC_FUNC_SETVBUF_REVERSED
128 # used by sleep and shred
129 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
130 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
131 AC_SEARCH_LIBS(clock_gettime, [rt posix4])
132 AC_CHECK_FUNCS(clock_gettime)
133 AC_CHECK_FUNCS(gettimeofday)
135 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
136 AC_REQUIRE([jm_FUNC_UTIME])
170 if test $am_cv_func_working_getline != yes; then
171 AC_CHECK_FUNCS(getdelim)
177 test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm
183 # These tests are for df.
184 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
186 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
187 if test $list_mounted_fs = yes && test $space = yes; then
189 LIBOBJS="$LIBOBJS fsusage.$ac_objext"
190 LIBOBJS="$LIBOBJS mountlist.$ac_objext"
195 # This macro must be invoked before any tests that run the compiler.
196 AC_DEFUN(jm_CHECK_ALL_TYPES,
198 # Emit this code into config.h.in.
199 # The ifndef is to avoid redefinition warnings.
200 AH_VERBATIM([_GNU_SOURCE], [#ifndef _GNU_SOURCE
204 # Enable GNU extensions.
205 AC_DEFINE([_GNU_SOURCE])
207 dnl This test must come as early as possible after the compiler configuration
208 dnl tests, because the choice of the file model can (in principle) affect
209 dnl whether functions and headers are available, whether they work, etc.
210 AC_REQUIRE([AC_SYS_LARGEFILE])
212 dnl This test must precede tests of compiler characteristics like
213 dnl that for the inline keyword, since it may change the degree to
214 dnl which the compiler supports such features.
215 AC_REQUIRE([AM_C_PROTOTYPES])
217 dnl Checks for typedefs, structures, and compiler characteristics.
218 AC_REQUIRE([AC_C_BIGENDIAN])
219 AC_REQUIRE([AC_PROG_CC_STDC])
220 AC_REQUIRE([AC_C_CONST])
221 AC_REQUIRE([AC_C_VOLATILE])
222 AC_REQUIRE([AC_C_INLINE])
223 AC_REQUIRE([AC_C_LONG_DOUBLE])
225 AC_REQUIRE([AC_HEADER_DIRENT])
226 AC_REQUIRE([AC_HEADER_STDC])
227 AC_CHECK_MEMBERS((struct stat.st_blksize),,,[$ac_includes_default
228 #include <sys/stat.h>
230 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
232 AC_REQUIRE([AC_STRUCT_TM])
233 AC_REQUIRE([AC_STRUCT_TIMEZONE])
234 AC_REQUIRE([AC_HEADER_STAT])
235 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
236 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
237 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
239 AC_REQUIRE([AC_TYPE_GETGROUPS])
240 AC_REQUIRE([AC_TYPE_MODE_T])
241 AC_REQUIRE([AC_TYPE_OFF_T])
242 AC_REQUIRE([AC_TYPE_PID_T])
243 AC_REQUIRE([AC_TYPE_SIGNAL])
244 AC_REQUIRE([AC_TYPE_SIZE_T])
245 AC_REQUIRE([AC_TYPE_UID_T])
246 AC_CHECK_TYPE(ino_t, unsigned long)
248 dnl This relies on the fact that autoconf 2.14a's implementation of
249 dnl AC_CHECK_TYPE checks includes unistd.h.
250 AC_CHECK_TYPE(ssize_t, int)
252 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
253 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
255 AC_REQUIRE([AC_HEADER_MAJOR])
256 AC_REQUIRE([AC_HEADER_DIRENT])