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