Remove K&R cruft.
[gnulib.git] / m4 / check-decl.m4
index 66f24a9..4a0fda0 100644 (file)
@@ -1,38 +1,75 @@
-#serial 4
+#serial 19
 
 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,
+AC_DEFUN([jm_CHECK_DECLS],
 [
+  AC_REQUIRE([_jm_DECL_HEADERS])
+  AC_REQUIRE([AC_HEADER_TIME])
   headers='
 #include <stdio.h>
-#ifdef HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
+#include <string.h>
+#include <stdlib.h>
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#include <sys/types.h>
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
 #else
-# ifdef HAVE_STRINGS_H
-#  include <strings.h>
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
 # endif
 #endif
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
+
+#if HAVE_UTMP_H
+# include <utmp.h>
 #endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
+
+#if HAVE_GRP_H
+# include <grp.h>
+#endif
+
+#if HAVE_PWD_H
+# include <pwd.h>
 #endif
 '
-  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(DECL_FREE DECL_LSEEK DECL_MALLOC DECL_MEMCHR DECL_REALLOC \
-                  DECL_STPCPY DECL_STRSTR)
-  fi
-  jm_CHECK_DECLARATIONS($headers, free lseek malloc \
-                        memchr realloc stpcpy strstr)
+
+  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)
 ])