From ec936db8d7fbc6576dd94c6a2621e59da894b63a Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 18 Oct 1998 01:08:22 +0000 Subject: [PATCH] (jm_CHECK_DECLS): Reflect interface change. (jm_CHECK_DECL_LOCALTIME_R): New macro. --- m4/check-decl.m4 | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/m4/check-decl.m4 b/m4/check-decl.m4 index eb8faa2..e8bb16c 100644 --- a/m4/check-decl.m4 +++ b/m4/check-decl.m4 @@ -1,10 +1,29 @@ -#serial 2 +#serial 3 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, [ + headers=' +#include +#ifdef HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#else +# ifdef HAVE_STRINGS_H +# include +# endif +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#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 @@ -14,5 +33,44 @@ AC_DEFUN(jm_CHECK_DECLS, AC_CHECK_FUNCS(DECL_FREE DECL_LSEEK DECL_MALLOC DECL_MEMCHR DECL_REALLOC \ DECL_STPCPY DECL_STRSTR) fi - jm_CHECK_DECLARATIONS(free lseek malloc memchr realloc stpcpy strstr) + jm_CHECK_DECLARATIONS($headers, free lseek malloc \ + memchr realloc stpcpy strstr) + + # Check for a declaration of localtime_r. + jm_CHECK_DECL_LOCALTIME_R +]) + +dnl localtime_r is a special case... +dnl Code that uses the result of this test must use the same cpp +dnl directives as are used below. Also include the following declaration +dnl after the inclusion of time.h. +dnl +dnl #if ! defined HAVE_DECL_LOCALTIME_R +dnl extern struct tm* localtime_r (); +dnl #endif +AC_DEFUN(jm_CHECK_DECL_LOCALTIME_R, +[ + 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_LOCALTIME_R) + fi + + headers=' +/* Some systems need this in order to declare localtime_r properly. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + +#if HAVE_UNISTD_H +# include +#endif + +#include +#include +' + jm_CHECK_DECLARATIONS($headers, localtime_r) ]) -- 2.7.4