X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fcheck-decl.m4;h=b282bdebc7d7dfb50764b07767ec588779c6991b;hb=28cd162544eb2e781597f3e3c59d70b0fb22893b;hp=0596ce018a9a72f1ce67e958905d12db34a102d5;hpb=d22fdbb6446143a78b3257ff3877958e37d8c121;p=gnulib.git diff --git a/m4/check-decl.m4 b/m4/check-decl.m4 index 0596ce018..b282bdebc 100644 --- a/m4/check-decl.m4 +++ b/m4/check-decl.m4 @@ -1,16 +1,85 @@ +#serial 17 + dnl This is just a wrapper function to encapsulate this kludge. dnl Putting it in a separate file like this helps share it between dnl different packages. AC_DEFUN(jm_CHECK_DECLS, [ - if test x = y; then - dnl This code is deliberately never run via ./configure. - dnl FIXME: this is a gross hack to make autoheader put entries - dnl for each of these symbols in the config.h.in. - dnl Otherwise, I'd have to update acconfig.h every time I change - dnl this list of functions. - AC_CHECK_FUNCS(DECLARATION_FREE DECLARATION_MALLOC DECLARATION_REALLOC \ - DECLARATION_STPCPY DECLARATION_STRSTR) - fi - jm_CHECK_DECLARATIONS(free malloc realloc stpcpy strstr) + AC_REQUIRE([_jm_DECL_HEADERS]) + AC_REQUIRE([AC_HEADER_TIME]) + headers=' +#include +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#else +# if HAVE_STRINGS_H +# include +# endif +#endif +#if HAVE_STDLIB_H +# include +#endif +#if HAVE_UNISTD_H +# include +#endif + +#include +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#if HAVE_UTMP_H +# include +#endif + +#if HAVE_GRP_H +# include +#endif + +#if HAVE_PWD_H +# include +#endif +' + + AC_CHECK_DECLS([ + free, + getenv, + geteuid, + getgrgid, + getlogin, + getpwuid, + getuid, + getutent, + lseek, + malloc, + memchr, + memrchr, + nanosleep, + realloc, + stpcpy, + strndup, + strnlen, + strstr, + strtoul, + strtoull, + ttyname], , , $headers) +]) + +dnl FIXME: when autoconf has support for it. +dnl This is a little helper so we can require these header checks. +AC_DEFUN(_jm_DECL_HEADERS, +[ + AC_REQUIRE([AC_HEADER_STDC]) + AC_CHECK_HEADERS(grp.h memory.h pwd.h string.h strings.h stdlib.h \ + unistd.h sys/time.h utmp.h utmpx.h) ])