Home | History | Annotate | Line # | Download | only in m4
      1 #serial 18
      2 
      3 dnl This is just a wrapper function to encapsulate this kludge.
      4 dnl Putting it in a separate file like this helps share it between
      5 dnl different packages.
      6 AC_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 
     78 dnl FIXME: when autoconf has support for it.
     79 dnl This is a little helper so we can require these header checks.
     80 AC_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