.
[gnulib.git] / m4 / decl.m4
index 10a8062..69438b7 100644 (file)
@@ -1,57 +1,43 @@
+#serial 3
+
 AC_DEFUN(jm_CHECK_DECLARATION,
 [
-  AC_REQUIRE(AC_HEADER_STDC)
+  AC_REQUIRE([AC_HEADER_STDC])dnl
   test -z "$ac_cv_header_memory_h" && AC_CHECK_HEADERS(memory.h)
   test -z "$ac_cv_header_string_h" && AC_CHECK_HEADERS(string.h)
   test -z "$ac_cv_header_strings_h" && AC_CHECK_HEADERS(strings.h)
+  test -z "$ac_cv_header_stdlib_h" && AC_CHECK_HEADERS(stdlib.h)
   test -z "$ac_cv_header_unistd_h" && AC_CHECK_HEADERS(unistd.h)
   AC_MSG_CHECKING([whether $1 is declared])
   AC_CACHE_VAL(jm_cv_func_decl_$1,
-    [AC_TRY_COMPILE([
-#include <stdio.h>
-#ifdef HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#else
-# ifdef HAVE_STRINGS_H
-#  include <strings.h>
-# endif
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif],
-[
+    [AC_TRY_COMPILE($2,
+      [
 #ifndef $1
 char *(*pfn) = (char *(*)) $1
 #endif
-],
-  eval "jm_cv_func_decl_$1=yes",
-  eval "jm_cv_func_decl_$1=no")])
+      ],
+      eval "jm_cv_func_decl_$1=yes",
+      eval "jm_cv_func_decl_$1=no")])
 
-if eval "test \"`echo '$jm_cv_func_decl_'$1`\" = yes"; then
-  AC_MSG_RESULT(yes)
-  ifelse([$2], , :, [$2])
-else
-  AC_MSG_RESULT(no)
-  ifelse([$3], , , [$3
+  if eval "test \"`echo '$jm_cv_func_decl_'$1`\" = yes"; then
+    AC_MSG_RESULT(yes)
+    ifelse([$3], , :, [$3])
+  else
+    AC_MSG_RESULT(no)
+    ifelse([$4], , , [$4
 ])dnl
-fi
+  fi
 ])dnl
 
-dnl jm_CHECK_DECLARATIONS(FUNCTION... [, ACTION-IF-DECLARED
+dnl jm_CHECK_DECLARATIONS(INCLUDES, FUNCTION... [, ACTION-IF-DECLARED
 dnl                       [, ACTION-IF-NOT-DECLARED]])
 AC_DEFUN(jm_CHECK_DECLARATIONS,
 [
-  for jm_func in $1
+  for jm_func in $2
   do
-    jm_CHECK_DECLARATION($jm_func,
+    jm_CHECK_DECLARATION($jm_func, $1,
     [
-      jm_tr_func=HAVE_DECLARATION_`echo $jm_func | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
-      AC_DEFINE_UNQUOTED($jm_tr_func) $2], $3)dnl
+      jm_tr_func=HAVE_DECL_`echo $jm_func | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
+      AC_DEFINE_UNQUOTED($jm_tr_func) $3], $4)dnl
   done
 ])