xref: /netbsd-src/external/gpl2/diffutils/dist/m4/check-decl.m4 (revision 75f6d617e282811cb173c2ccfbf5df0dd71f7045)
1#serial 18
2
3dnl This is just a wrapper function to encapsulate this kludge.
4dnl Putting it in a separate file like this helps share it between
5dnl different packages.
6AC_DEFUN([jm_CHECK_DECLS],
7[
8  AC_REQUIRE([_jm_DECL_HEADERS])
9  AC_REQUIRE([AC_HEADER_TIME])
10  headers='
11#include <stdio.h>
12#if HAVE_STRING_H
13# if !STDC_HEADERS && HAVE_MEMORY_H
14#  include <memory.h>
15# endif
16# include <string.h>
17#else
18# if HAVE_STRINGS_H
19#  include <strings.h>
20# endif
21#endif
22#if HAVE_STDLIB_H
23# include <stdlib.h>
24#endif
25#if HAVE_UNISTD_H
26# include <unistd.h>
27#endif
28
29#include <sys/types.h>
30#if TIME_WITH_SYS_TIME
31# include <sys/time.h>
32# include <time.h>
33#else
34# if HAVE_SYS_TIME_H
35#  include <sys/time.h>
36# else
37#  include <time.h>
38# endif
39#endif
40
41#if HAVE_UTMP_H
42# include <utmp.h>
43#endif
44
45#if HAVE_GRP_H
46# include <grp.h>
47#endif
48
49#if HAVE_PWD_H
50# include <pwd.h>
51#endif
52'
53
54  AC_CHECK_DECLS([
55    free,
56    getenv,
57    geteuid,
58    getgrgid,
59    getlogin,
60    getpwuid,
61    getuid,
62    getutent,
63    lseek,
64    malloc,
65    memchr,
66    memrchr,
67    nanosleep,
68    realloc,
69    stpcpy,
70    strndup,
71    strnlen,
72    strstr,
73    strtoul,
74    strtoull,
75    ttyname], , , $headers)
76])
77
78dnl FIXME: when autoconf has support for it.
79dnl This is a little helper so we can require these header checks.
80AC_DEFUN([_jm_DECL_HEADERS],
81[
82  AC_REQUIRE([AC_HEADER_STDC])
83  AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \
84                   unistd.h sys/time.h utmp.h utmpx.h)
85])
86