Home | History | Annotate | Line # | Download | only in m4
      1 dnl Reentrant time functions like localtime_r.
      2 
      3 dnl Copyright (C) 2003 Free Software Foundation, Inc.
      4 dnl This file is free software; the Free Software Foundation
      5 dnl gives unlimited permission to copy and/or distribute it,
      6 dnl with or without modifications, as long as this notice is preserved.
      7 
      8 dnl Written by Paul Eggert.
      9 
     10 AC_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.
     36 AC_DEFUN([gl_PREREQ_TIME_R], [
     37   :
     38 ])
     39