* jm-macros.m4 (jm_MACROS): check for rpmatch.
[findutils.git] / m4 / jm-macros.m4
blobe64243315c25f695dbcb62987f4f570b7ce15522
1 #serial 13, with several lines deleted for fileutils.
3 dnl Misc type-related macros for fileutils, sh-utils, textutils.
5 AC_DEFUN(jm_MACROS,
7   AC_PREREQ(2.14a)
9   GNU_PACKAGE="GNU $PACKAGE"
10   AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE",
11     [The concatenation of the strings `GNU ', and PACKAGE.])
12   AC_SUBST(GNU_PACKAGE)
14   AC_SUBST(OPTIONAL_BIN_PROGS)
15   AC_SUBST(OPTIONAL_BIN_ZCRIPTS)
16   AC_SUBST(MAN)
17   AC_SUBST(DF_PROG)
19   dnl This macro actually runs replacement code.  See isc-posix.m4.
20   AC_REQUIRE([AC_ISC_POSIX])dnl
22   AC_CHECK_HEADERS( \
23     errno.h  \
24     fcntl.h \
25     fenv.h \
26     float.h \
27     limits.h \
28     memory.h \
29     mntent.h \
30     mnttab.h \
31     netdb.h \
32     paths.h \
33     stdlib.h \
34     stddef.h \
35     string.h \
36     sys/acl.h \
37     sys/filsys.h \
38     sys/fs/s5param.h \
39     sys/fs_types.h \
40     sys/fstyp.h \
41     sys/ioctl.h \
42     sys/mntent.h \
43     sys/mount.h \
44     sys/param.h \
45     sys/socket.h \
46     sys/statfs.h \
47     sys/statvfs.h \
48     sys/systeminfo.h \
49     sys/time.h \
50     sys/timeb.h \
51     sys/vfs.h \
52     sys/wait.h \
53     syslog.h \
54     termios.h \
55     unistd.h \
56     values.h \
57   )
59   jm_INCLUDED_REGEX([lib/regex.c])
61   AC_REQUIRE([jm_ASSERT])
62   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
63   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
64   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
65   AC_REQUIRE([jm_CHECK_DECLS])
67   AC_REQUIRE([jm_PREREQ])
69   AC_REQUIRE([jm_FUNC_MKTIME])
70   AC_REQUIRE([jm_FUNC_LSTAT])
71   AC_REQUIRE([jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
72   AC_REQUIRE([jm_FUNC_STAT])
73   AC_REQUIRE([jm_FUNC_REALLOC])
74   AC_REQUIRE([jm_FUNC_MALLOC])
75   AC_REQUIRE([jm_FUNC_STRERROR_R])
76   AC_REQUIRE([jm_FUNC_READDIR])
77   AC_REQUIRE([jm_FUNC_MEMCMP])
78   AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
79   AC_REQUIRE([kd_FUNC_FNMATCH_CASE_RPL])
80   AC_REQUIRE([jm_AFS])
81   AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
82   AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
83   AC_REQUIRE([AM_FUNC_ERROR_AT_LINE])
84   AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
85   AC_REQUIRE([jm_FUNC_MKTIME])
87   AC_REQUIRE([AC_FUNC_VPRINTF])
88   AC_REQUIRE([AC_FUNC_ALLOCA])
90   AC_REPLACE_FUNCS(strncasecmp)
91   AC_REPLACE_FUNCS(stpcpy strstr strtol strtoul)
92   AC_REPLACE_FUNCS(memcmp rpmatch)
94   dnl used by e.g. intl/*domain.c and lib/canon-host.c
95   AC_REPLACE_FUNCS(strdup)
97   AC_REPLACE_FUNCS(memcpy memset)
98   AC_CHECK_FUNCS(getpagesize)
100   # By default, argmatch should fail calling usage (1).
101   AC_DEFINE(ARGMATCH_DIE, [usage (1)],
102             [Define to the function xargmatch calls on failures.])
103   AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
104             [Define to the declaration of the xargmatch failure function.])
106   dnl Used to define SETVBUF in sys2.h.
107   dnl This evokes the following warning from autoconf:
108   dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
109   AC_FUNC_SETVBUF_REVERSED
111   # used by sleep and shred
112   # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
113   # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
114   AC_SEARCH_LIBS(clock_gettime, [rt posix4])
115   AC_CHECK_FUNCS(clock_gettime)
116   AC_CHECK_FUNCS(gettimeofday)
118   AC_CHECK_FUNCS(getdelim)
120   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
122   AC_CHECK_FUNCS( \
123     acl \
124     bcopy \
125     endgrent \
126     endpwent \
127     fchdir \
128     fdatasync \
129     fseeko \
130     ftime \
131     ftruncate \
132     getcwd \
133     gethrtime \
134     getmntinfo \
135     hasmntopt \
136     isascii \
137     listmntent \
138     localeconv \
139     memcpy \
140     mempcpy \
141     mkfifo \
142     realpath \
143     resolvepath \
144     sethostname \
145     strchr \
146     strerror \
147     strrchr \
148     sysinfo \
149     tzset \
150   )
152   AM_FUNC_GETLINE
153   if test $am_cv_func_working_getline != yes; then
154     AC_CHECK_FUNCS(getdelim)
155   fi
158 AC_DEFUN(jm_CHECK_ALL_TYPES,
160   dnl Checks for typedefs, structures, and compiler characteristics.
161   AC_REQUIRE([AC_C_BIGENDIAN])
162   AC_REQUIRE([AC_PROG_CC_STDC])
163   AC_REQUIRE([AC_C_CONST])
164   AC_REQUIRE([AC_C_VOLATILE])
165   AC_REQUIRE([AC_C_INLINE])
166   AC_REQUIRE([AC_C_LONG_DOUBLE])
168   AC_REQUIRE([AC_HEADER_DIRENT])
169   AC_REQUIRE([AC_HEADER_STDC])
170   AC_CHECK_MEMBERS((struct stat.st_blksize),,,[$ac_includes_default
171 #include <sys/stat.h>
172   ])
173   AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
175   AC_REQUIRE([AC_STRUCT_TM])
176   AC_REQUIRE([AC_STRUCT_TIMEZONE])
177   AC_REQUIRE([AC_HEADER_STAT])
178   AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
179   AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
180   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
182   AC_REQUIRE([AC_TYPE_GETGROUPS])
183   AC_REQUIRE([AC_TYPE_MODE_T])
184   AC_REQUIRE([AC_TYPE_OFF_T])
185   AC_REQUIRE([AC_TYPE_PID_T])
186   AC_REQUIRE([AC_TYPE_SIGNAL])
187   AC_REQUIRE([AC_TYPE_SIZE_T])
188   AC_REQUIRE([AC_TYPE_UID_T])
189   AC_CHECK_TYPE(ino_t, unsigned long)
191   dnl This relies on the fact that autoconf 2.14a's implementation of
192   dnl AC_CHECK_TYPE checks includes unistd.h.
193   AC_CHECK_TYPE(ssize_t, int)
195   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
196   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
198   AC_REQUIRE([AC_HEADER_MAJOR])
199   AC_REQUIRE([AC_HEADER_DIRENT])