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([jm_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([jm_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_REQUIRE([AM_FUNC_GETLOADAVG])
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 mkdir rmdir rpmatch strndup strverscmp)
111 AC_REPLACE_FUNCS(atexit)
112 AC_REPLACE_FUNCS(strnlen)
114 dnl used by e.g. intl/*domain.c and lib/canon-host.c
115 AC_REPLACE_FUNCS(strdup)
117 AC_REPLACE_FUNCS(memchr memmove memcpy memset)
118 AC_CHECK_FUNCS(getpagesize)
120 # By default, argmatch should fail calling usage (1).
121 AC_DEFINE(ARGMATCH_DIE, [usage (1)],
122 [Define to the function xargmatch calls on failures.])
123 AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
124 [Define to the declaration of the xargmatch failure function.])
126 dnl Used to define SETVBUF in sys2.h.
127 dnl This evokes the following warning from autoconf:
128 dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
129 AC_FUNC_SETVBUF_REVERSED
131 # used by sleep and shred
132 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
133 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
135 # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
136 # programs in the package would end up linked with that potentially-shared
137 # library, inducing unnecessary run-time overhead.
138 fetish_saved_libs=$LIBS
139 AC_SEARCH_LIBS(clock_gettime, [rt posix4],
140 [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
141 AC_SUBST(LIB_CLOCK_GETTIME)
142 AC_CHECK_FUNCS(clock_gettime)
143 LIBS=$fetish_saved_libs
144 AC_CHECK_FUNCS(gettimeofday)
146 AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
147 AC_REQUIRE([jm_FUNC_UTIME])
181 if test $am_cv_func_working_getline != yes; then
182 AC_CHECK_FUNCS(getdelim)
188 test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm
194 # These tests are for df.
195 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
197 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
198 if test $list_mounted_fs = yes && test $space = yes; then
200 LIBOBJS="$LIBOBJS fsusage.$ac_objext"
201 LIBOBJS="$LIBOBJS mountlist.$ac_objext"
206 # This macro must be invoked before any tests that run the compiler.
207 AC_DEFUN(jm_CHECK_ALL_TYPES,
209 # Emit this code into config.h.in.
210 # The ifndef is to avoid redefinition warnings.
211 AH_VERBATIM([_GNU_SOURCE], [#ifndef _GNU_SOURCE
215 dnl This test must come as early as possible after the compiler configuration
216 dnl tests, because the choice of the file model can (in principle) affect
217 dnl whether functions and headers are available, whether they work, etc.
218 AC_REQUIRE([AC_SYS_LARGEFILE])
220 dnl This test must precede tests of compiler characteristics like
221 dnl that for the inline keyword, since it may change the degree to
222 dnl which the compiler supports such features.
223 AC_REQUIRE([AM_C_PROTOTYPES])
225 dnl Checks for typedefs, structures, and compiler characteristics.
226 AC_REQUIRE([AC_C_BIGENDIAN])
227 AC_REQUIRE([AC_PROG_CC_STDC])
228 AC_REQUIRE([AC_C_CONST])
229 AC_REQUIRE([AC_C_VOLATILE])
230 AC_REQUIRE([AC_C_INLINE])
231 AC_REQUIRE([AC_C_LONG_DOUBLE])
233 AC_REQUIRE([AC_HEADER_DIRENT])
234 AC_REQUIRE([AC_HEADER_STDC])
235 AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
236 #include <sys/stat.h>
238 AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
240 AC_REQUIRE([AC_STRUCT_TM])
241 AC_REQUIRE([AC_STRUCT_TIMEZONE])
242 AC_REQUIRE([AC_HEADER_STAT])
243 AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
244 AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
245 AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
247 AC_REQUIRE([AC_TYPE_GETGROUPS])
248 AC_REQUIRE([AC_TYPE_MODE_T])
249 AC_REQUIRE([AC_TYPE_OFF_T])
250 AC_REQUIRE([AC_TYPE_PID_T])
251 AC_REQUIRE([AC_TYPE_SIGNAL])
252 AC_REQUIRE([AC_TYPE_SIZE_T])
253 AC_REQUIRE([AC_TYPE_UID_T])
254 AC_CHECK_TYPE(ino_t, unsigned long)
256 dnl This relies on the fact that autoconf 2.14a's implementation of
257 dnl AC_CHECK_TYPE checks includes unistd.h.
258 AC_CHECK_TYPE(ssize_t, int)
260 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
261 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
263 AC_REQUIRE([AC_HEADER_MAJOR])
264 AC_REQUIRE([AC_HEADER_DIRENT])