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])
184 if test $am_cv_func_working_getline != yes; then
185 AC_CHECK_FUNCS(getdelim)
191 test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm
193 # See if linking `seq' requires -lm.
194 # It does on nearly every system. The single exception (so far) is
195 # BeOS which has all the math functions in the normal runtime library
196 # and doesn't have a separate math library.
204 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
205 [ac_seq_save_LIBS="$LIBS"
207 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
208 LIBS="$ac_seq_save_LIBS"
214 jm_FUNC_UNLINK_BUSY_TEXT
216 # These tests are for df.
217 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
219 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
220 if test $list_mounted_fs = yes && test $space = yes; then
228 # This macro must be invoked before any tests that run the compiler.
229 AC_DEFUN(jm_CHECK_ALL_TYPES,
231 # FIXME: I shouldn't have to require this macro here. Rather, it should
232 # be required by any autoconf macro that performs a compile-time test or
233 # otherwise uses confdefs.h.
234 AC_REQUIRE([AC__GNU_SOURCE])
236 dnl This test must come as early as possible after the compiler configuration
237 dnl tests, because the choice of the file model can (in principle) affect
238 dnl whether functions and headers are available, whether they work, etc.
239 AC_REQUIRE([AC_SYS_LARGEFILE])
241 dnl This test must precede tests of compiler characteristics like
242 dnl that for the inline keyword, since it may change the degree to
243 dnl which the compiler supports such features.
244 AC_REQUIRE([AM_C_PROTOTYPES])
246 dnl Checks for typedefs, structures, and compiler characteristics.
247 AC_REQUIRE([AC_C_BIGENDIAN])
248 AC_REQUIRE([AC_PROG_CC_STDC])
249 AC_REQUIRE([AC_C_CONST])
250 AC_REQUIRE([AC_C_VOLATILE])
251 AC_REQUIRE([AC_C_INLINE])
252 AC_REQUIRE([AC_C_LONG_DOUBLE])
254 AC_REQUIRE([AC_HEADER_DIRENT])
255 AC_REQUIRE([AC_HEADER_STDC])
256 AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
257 #include <sys/stat.h>
259 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
261 AC_REQUIRE([AC_STRUCT_TM])
262 AC_REQUIRE([AC_STRUCT_TIMEZONE])
263 AC_REQUIRE([AC_HEADER_STAT])
264 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
265 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
266 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
268 AC_REQUIRE([AC_TYPE_GETGROUPS])
269 AC_REQUIRE([AC_TYPE_MODE_T])
270 AC_REQUIRE([AC_TYPE_OFF_T])
271 AC_REQUIRE([AC_TYPE_PID_T])
272 AC_REQUIRE([AC_TYPE_SIGNAL])
273 AC_REQUIRE([AC_TYPE_SIZE_T])
274 AC_REQUIRE([AC_TYPE_UID_T])
275 AC_CHECK_TYPE(ino_t, unsigned long)
277 dnl This relies on the fact that autoconf 2.14a's implementation of
278 dnl AC_CHECK_TYPE checks includes unistd.h.
279 AC_CHECK_TYPE(ssize_t, int)
281 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
282 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
284 AC_REQUIRE([AC_HEADER_MAJOR])
285 AC_REQUIRE([AC_HEADER_DIRENT])