reflects addition of codeset.m4 from gettext-0.10.38, automatically
[findutils.git] / m4 / jm-macros.m4
blob951a668bd9084d4339bf23c32b199a5284ebd07f
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   )
58   jm_INCLUDED_REGEX([lib/regex.c])
60   AC_REQUIRE([jm_ASSERT])
61   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
62   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])
63   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_DIRENT_D_INO])
64   AC_REQUIRE([jm_CHECK_DECLS])
66   AC_REQUIRE([jm_PREREQ])
68   AC_REQUIRE([jm_FUNC_MKTIME])
69   AC_REQUIRE([jm_FUNC_LSTAT])
70   AC_REQUIRE([jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
71   AC_REQUIRE([jm_FUNC_STAT])
72   AC_REQUIRE([jm_FUNC_REALLOC])
73   AC_REQUIRE([jm_FUNC_MALLOC])
74   AC_REQUIRE([AC_FUNC_STRERROR_R])
75   AC_REQUIRE([jm_FUNC_READDIR])
76   AC_REQUIRE([jm_FUNC_MEMCMP])
77   AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
78   AC_REQUIRE([kd_FUNC_FNMATCH_CASE_RPL])
79   AC_REQUIRE([jm_AFS])
80   AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
81   AC_REQUIRE([jm_AC_FUNC_LINK_FOLLOWS_SYMLINK])
82   AC_REQUIRE([AM_FUNC_ERROR_AT_LINE])
83   AC_REQUIRE([jm_FUNC_GNU_STRFTIME])
84   AC_REQUIRE([jm_FUNC_MKTIME])
86   AC_REQUIRE([AC_FUNC_VPRINTF])
87   AC_REQUIRE([AC_FUNC_ALLOCA])
89   AC_REPLACE_FUNCS(strncasecmp)
90   AC_REPLACE_FUNCS(stpcpy strstr strtol strtoul)
91   AC_REPLACE_FUNCS(memcmp rpmatch)
93   dnl used by e.g. intl/*domain.c and lib/canon-host.c
94   AC_REPLACE_FUNCS(strdup)
96   AC_REPLACE_FUNCS(memcpy memset)
97   AC_CHECK_FUNCS(getpagesize)
99   # By default, argmatch should fail calling usage (1).
100   AC_DEFINE(ARGMATCH_DIE, [usage (1)],
101             [Define to the function xargmatch calls on failures.])
102   AC_DEFINE(ARGMATCH_DIE_DECL, [extern void usage ()],
103             [Define to the declaration of the xargmatch failure function.])
105   dnl Used to define SETVBUF in sys2.h.
106   dnl This evokes the following warning from autoconf:
107   dnl ...: warning: AC_TRY_RUN called without default to allow cross compiling
108   AC_FUNC_SETVBUF_REVERSED
110   AC_CHECK_FUNCS(getdelim)
112   AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID])
114   AC_CHECK_FUNCS( \
115     acl \
116     bcopy \
117     endgrent \
118     endpwent \
119     fchdir \
120     fdatasync \
121     fseeko \
122     ftime \
123     getcwd \
124     gethrtime \
125     getmntinfo \
126     hasmntopt \
127     isascii \
128     listmntent \
129     localeconv \
130     memcpy \
131     mempcpy \
132     mkfifo \
133     realpath \
134     resolvepath \
135     sethostname \
136     strchr \
137     strerror \
138     strrchr \
139     sysinfo \
140     tzset \
141   )
143   AM_FUNC_GETLINE
144   if test $am_cv_func_working_getline != yes; then
145     AC_CHECK_FUNCS(getdelim)
146   fi
148   jm_GLIBC21
149   jm_ICONV
151   # These tests are for df.
152   jm_FSTYPENAME
156 AC_DEFUN(jm_CHECK_ALL_TYPES,
158   dnl Checks for typedefs, structures, and compiler characteristics.
159   AC_REQUIRE([AC_C_BIGENDIAN])
160   AC_REQUIRE([AC_PROG_CC_STDC])
161   AC_REQUIRE([AC_C_CONST])
162   AC_REQUIRE([AC_C_VOLATILE])
163   AC_REQUIRE([AC_C_INLINE])
164   AC_REQUIRE([AC_C_LONG_DOUBLE])
166   AC_REQUIRE([AC_HEADER_DIRENT])
167   AC_REQUIRE([AC_HEADER_STDC])
168   AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default
169 #include <sys/stat.h>
170   ])
171   AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
173   AC_REQUIRE([AC_STRUCT_TM])
174   AC_REQUIRE([AC_STRUCT_TIMEZONE])
175   AC_REQUIRE([AC_HEADER_STAT])
176   AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
177   AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
178   AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
180   AC_REQUIRE([AC_TYPE_GETGROUPS])
181   AC_REQUIRE([AC_TYPE_MODE_T])
182   AC_REQUIRE([AC_TYPE_OFF_T])
183   AC_REQUIRE([AC_TYPE_PID_T])
184   AC_REQUIRE([AC_TYPE_SIGNAL])
185   AC_REQUIRE([AC_TYPE_SIZE_T])
186   AC_REQUIRE([AC_TYPE_UID_T])
187   AC_CHECK_TYPE(ino_t, unsigned long)
189   dnl This relies on the fact that autoconf 2.14a's implementation of
190   dnl AC_CHECK_TYPE checks includes unistd.h.
191   AC_CHECK_TYPE(ssize_t, int)
193   AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
194   AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
196   AC_REQUIRE([AC_HEADER_MAJOR])
197   AC_REQUIRE([AC_HEADER_DIRENT])