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