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([fetish_FUNC_RMDIR_NOTEMPTY])
74 AC_REQUIRE([jm_FUNC_CHOWN])
75 AC_REQUIRE([jm_FUNC_MKTIME])
76 AC_REQUIRE([jm_FUNC_LSTAT])
77 AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
78 AC_REQUIRE([jm_FUNC_STAT])
79 AC_REQUIRE([jm_FUNC_REALLOC])
80 AC_REQUIRE([jm_FUNC_MALLOC])
81 AC_REQUIRE([AC_FUNC_STRERROR_R])
82 AC_REQUIRE([jm_FUNC_NANOSLEEP])
83 AC_REQUIRE([jm_FUNC_READDIR])
84 AC_REQUIRE([jm_FUNC_MEMCMP])
85 AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
86 AC_REQUIRE([jm_FUNC_FNMATCH])
87 AC_REQUIRE([jm_FUNC_GROUP_MEMBER])
88 AC_REQUIRE([jm_FUNC_PUTENV])
90 AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
91 AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
92 AC_REQUIRE([AM_FUNC_ERROR_AT_LINE])
93 AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
94 AC_REQUIRE([jm_FUNC_MKTIME])
95 AC_REQUIRE([jm_FUNC_FPENDING])
97 AC_REQUIRE([jm_FUNC_GETGROUPS])
98 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
100 AC_REQUIRE([AC_FUNC_VPRINTF])
101 AC_REQUIRE([AC_FUNC_ALLOCA])
102 AC_FUNC_GETLOADAVG([lib])
103 AC_REQUIRE([jm_SYS_PROC_UPTIME])
104 AC_REQUIRE([jm_FUNC_FTRUNCATE])
106 AC_REPLACE_FUNCS(strcasecmp strncasecmp)
107 AC_REPLACE_FUNCS(dup2)
108 AC_REPLACE_FUNCS(gethostname getusershell)
109 AC_REPLACE_FUNCS(stime strcspn stpcpy strstr strtol strtoul)
110 AC_REPLACE_FUNCS(strpbrk)
111 AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
112 AC_REPLACE_FUNCS(atexit)
113 AC_REPLACE_FUNCS(strnlen)
114 AC_REPLACE_FUNCS(getpass)
116 dnl used by e.g. intl/*domain.c and lib/canon-host.c
117 AC_REPLACE_FUNCS(strdup)
119 AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset)
120 AC_CHECK_FUNCS(getpagesize)
122 # By default, argmatch should fail calling usage (1).
123 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
124 [Define to the function xargmatch calls on failures.])
125 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
126 [Define to the declaration of the xargmatch failure function.])
128 dnl Used to define SETVBUF in sys2.h.
129 dnl This evokes the following warning from autoconf:
130 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
131 AC_FUNC_SETVBUF_REVERSED
133 # used by sleep and shred
134 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
135 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
137 # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
138 # programs in the package would end up linked with that potentially-shared
139 # library, inducing unnecessary run-time overhead.
140 fetish_saved_libs=$LIBS
141 AC_SEARCH_LIBS(clock_gettime, [rt posix4],
142 [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
143 AC_SUBST(LIB_CLOCK_GETTIME)
144 AC_CHECK_FUNCS(clock_gettime)
145 LIBS=$fetish_saved_libs
146 AC_CHECK_FUNCS(gettimeofday)
148 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
149 AC_REQUIRE([jm_FUNC_UTIME])
183 if test $am_cv_func_working_getline != yes; then
184 AC_CHECK_FUNCS(getdelim)
190 test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm
192 # See if linking `seq' requires -lm.
193 # It does on nearly every system. The single exception (so far) is
194 # BeOS which has all the math functions in the normal runtime library
195 # and doesn't have a separate math library.
203 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
204 [ac_seq_save_LIBS="$LIBS"
206 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
207 LIBS="$ac_seq_save_LIBS"
213 jm_FUNC_UNLINK_BUSY_TEXT
215 # These tests are for df.
216 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
218 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
219 if test $list_mounted_fs = yes && test $space = yes; then
227 # This macro must be invoked before any tests that run the compiler.
228 AC_DEFUN(jm_CHECK_ALL_TYPES,
230 # FIXME: I shouldn't have to require this macro here. Rather, it should
231 # be required by any autoconf macro that performs a compile-time test or
232 # otherwise uses confdefs.h.
233 AC_REQUIRE([AC__GNU_SOURCE])
235 dnl This test must come as early as possible after the compiler configuration
236 dnl tests, because the choice of the file model can (in principle) affect
237 dnl whether functions and headers are available, whether they work, etc.
238 AC_REQUIRE([AC_SYS_LARGEFILE])
240 dnl This test must precede tests of compiler characteristics like
241 dnl that for the inline keyword, since it may change the degree to
242 dnl which the compiler supports such features.
243 AC_REQUIRE([AM_C_PROTOTYPES])
245 dnl Checks for typedefs, structures, and compiler characteristics.
246 AC_REQUIRE([AC_C_BIGENDIAN])
247 AC_REQUIRE([AC_PROG_CC_STDC])
248 AC_REQUIRE([AC_C_CONST])
249 AC_REQUIRE([AC_C_VOLATILE])
250 AC_REQUIRE([AC_C_INLINE])
251 AC_REQUIRE([AC_C_LONG_DOUBLE])
253 AC_REQUIRE([AC_HEADER_DIRENT])
254 AC_REQUIRE([AC_HEADER_STDC])
255 AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
256 #include <sys/stat.h>
258 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
260 AC_REQUIRE([AC_STRUCT_TM])
261 AC_REQUIRE([AC_STRUCT_TIMEZONE])
262 AC_REQUIRE([AC_HEADER_STAT])
263 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
264 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
265 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
267 AC_REQUIRE([AC_TYPE_GETGROUPS])
268 AC_REQUIRE([AC_TYPE_MODE_T])
269 AC_REQUIRE([AC_TYPE_OFF_T])
270 AC_REQUIRE([AC_TYPE_PID_T])
271 AC_REQUIRE([AC_TYPE_SIGNAL])
272 AC_REQUIRE([AC_TYPE_SIZE_T])
273 AC_REQUIRE([AC_TYPE_UID_T])
274 AC_CHECK_TYPE(ino_t, unsigned long)
276 dnl This relies on the fact that autoconf 2.14a's implementation of
277 dnl AC_CHECK_TYPE checks includes unistd.h.
278 AC_CHECK_TYPE(ssize_t, int)
280 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
281 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
283 AC_REQUIRE([AC_HEADER_MAJOR])
284 AC_REQUIRE([AC_HEADER_DIRENT])