xref: /netbsd/external/gpl2/xcvs/dist/m4/time_r.m4 (revision 6550d01e)
1dnl Reentrant time functions like localtime_r.
2
3dnl Copyright (C) 2003 Free Software Foundation, Inc.
4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved.
7
8dnl Written by Paul Eggert.
9
10AC_DEFUN([gl_TIME_R],
11[
12  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
13  AC_REQUIRE([gl_C_RESTRICT])
14
15  AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature],
16    [gl_cv_time_r_posix],
17    [AC_TRY_COMPILE(
18       [#include <time.h>],
19       [/* We don't need to append 'restrict's to the argument types,
20	   even though the POSIX signature has the 'restrict's,
21	   since C99 says they can't affect type compatibility.  */
22	struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;],
23       [gl_cv_time_r_posix=yes],
24       [gl_cv_time_r_posix=no])])
25  if test $gl_cv_time_r_posix = yes; then
26    AC_DEFINE([HAVE_TIME_R_POSIX], 1,
27      [Define to 1 if localtime_r, etc. have the type signatures that
28       POSIX requires.])
29  else
30    AC_LIBOBJ([time_r])
31    gl_PREREQ_TIME_R
32  fi
33])
34
35# Prerequisites of lib/time_r.c.
36AC_DEFUN([gl_PREREQ_TIME_R], [
37  :
38])
39