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])
96 AC_REQUIRE([jm_FUNC_GETGROUPS])
97 test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
99 AC_REQUIRE([AC_FUNC_VPRINTF])
100 AC_REQUIRE([AC_FUNC_ALLOCA])
101 AC_FUNC_GETLOADAVG([lib])
102 AC_REQUIRE([jm_SYS_PROC_UPTIME])
103 AC_REQUIRE([jm_FUNC_FTRUNCATE])
105 AC_REPLACE_FUNCS(strcasecmp strncasecmp)
106 AC_REPLACE_FUNCS(dup2)
107 AC_REPLACE_FUNCS(gethostname getusershell)
108 AC_REPLACE_FUNCS(stime strcspn stpcpy strstr strtol strtoul)
109 AC_REPLACE_FUNCS(strpbrk)
110 AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp)
111 AC_REPLACE_FUNCS(atexit)
112 AC_REPLACE_FUNCS(strnlen)
113 AC_REPLACE_FUNCS(getpass)
115 dnl used by e.g. intl/*domain.c and lib/canon-host.c
116 AC_REPLACE_FUNCS(strdup)
118 AC_REPLACE_FUNCS(memchr memmove memcpy memset)
119 AC_CHECK_FUNCS(getpagesize)
121 # By default, argmatch should fail calling usage (1).
122 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
123 [Define to the function xargmatch calls on failures.])
124 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
125 [Define to the declaration of the xargmatch failure function.])
127 dnl Used to define SETVBUF in sys2.h.
128 dnl This evokes the following warning from autoconf:
129 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
130 AC_FUNC_SETVBUF_REVERSED
132 # used by sleep and shred
133 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
134 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
136 # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
137 # programs in the package would end up linked with that potentially-shared
138 # library, inducing unnecessary run-time overhead.
139 fetish_saved_libs=$LIBS
140 AC_SEARCH_LIBS(clock_gettime, [rt posix4],
141 [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
142 AC_SUBST(LIB_CLOCK_GETTIME)
143 AC_CHECK_FUNCS(clock_gettime)
144 LIBS=$fetish_saved_libs
145 AC_CHECK_FUNCS(gettimeofday)
147 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
148 AC_REQUIRE([jm_FUNC_UTIME])
182 if test $am_cv_func_working_getline != yes; then
183 AC_CHECK_FUNCS(getdelim)
189 test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm
191 # See if linking `seq' requires -lm.
192 # It does on nearly every system. The single exception (so far) is
193 # BeOS which doesn't even have a separate math library.
200 AC_TRY_LINK([#include <math.h>], $ac_seq_body, ,
201 [ac_seq_save_LIBS="$LIBS"
203 AC_TRY_LINK([#include <math.h>], $ac_seq_body, SEQ_LIBM=-lm)
204 LIBS="$ac_seq_save_LIBS"
211 # These tests are for df.
212 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
214 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
215 if test $list_mounted_fs = yes && test $space = yes; then
223 # This macro must be invoked before any tests that run the compiler.
224 AC_DEFUN(jm_CHECK_ALL_TYPES,
226 # FIXME: I shouldn't have to require this macro here. Rather, it should
227 # be required by any autoconf macro that performs a compile-time test or
228 # otherwise uses confdefs.h.
229 AC_REQUIRE([AC__GNU_SOURCE])
231 dnl This test must come as early as possible after the compiler configuration
232 dnl tests, because the choice of the file model can (in principle) affect
233 dnl whether functions and headers are available, whether they work, etc.
234 AC_REQUIRE([AC_SYS_LARGEFILE])
236 dnl This test must precede tests of compiler characteristics like
237 dnl that for the inline keyword, since it may change the degree to
238 dnl which the compiler supports such features.
239 AC_REQUIRE([AM_C_PROTOTYPES])
241 dnl Checks for typedefs, structures, and compiler characteristics.
242 AC_REQUIRE([AC_C_BIGENDIAN])
243 AC_REQUIRE([AC_PROG_CC_STDC])
244 AC_REQUIRE([AC_C_CONST])
245 AC_REQUIRE([AC_C_VOLATILE])
246 AC_REQUIRE([AC_C_INLINE])
247 AC_REQUIRE([AC_C_LONG_DOUBLE])
249 AC_REQUIRE([AC_HEADER_DIRENT])
250 AC_REQUIRE([AC_HEADER_STDC])
251 AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
252 #include <sys/stat.h>
254 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
256 AC_REQUIRE([AC_STRUCT_TM])
257 AC_REQUIRE([AC_STRUCT_TIMEZONE])
258 AC_REQUIRE([AC_HEADER_STAT])
259 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
260 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
261 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
263 AC_REQUIRE([AC_TYPE_GETGROUPS])
264 AC_REQUIRE([AC_TYPE_MODE_T])
265 AC_REQUIRE([AC_TYPE_OFF_T])
266 AC_REQUIRE([AC_TYPE_PID_T])
267 AC_REQUIRE([AC_TYPE_SIGNAL])
268 AC_REQUIRE([AC_TYPE_SIZE_T])
269 AC_REQUIRE([AC_TYPE_UID_T])
270 AC_CHECK_TYPE(ino_t, unsigned long)
272 dnl This relies on the fact that autoconf 2.14a's implementation of
273 dnl AC_CHECK_TYPE checks includes unistd.h.
274 AC_CHECK_TYPE(ssize_t, int)
276 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
277 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
279 AC_REQUIRE([AC_HEADER_MAJOR])
280 AC_REQUIRE([AC_HEADER_DIRENT])