X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fgettimeofday.m4;h=e7a5a6db6e7e8c2977acc3a0a0ba0a3d877b5b97;hb=02d97fa1f7a73756747951b74de8655d9f11b509;hp=895f89269361a7283ee48a4928f081fd49bf9f37;hpb=6fe8d7498529e40705598c70355fd2f38efc7aea;p=gnulib.git diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 index 895f89269..e7a5a6db6 100644 --- a/m4/gettimeofday.m4 +++ b/m4/gettimeofday.m4 @@ -1,4 +1,4 @@ -#serial 1 +#serial 4 dnl From Jim Meyering. dnl @@ -6,13 +6,13 @@ dnl See if gettimeofday clobbers the static buffer that localtime uses dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4, dnl i.e. Darwin 1.3.7 has this problem. dnl -dnl If it does, then arrange to use gettimeofday only via the wrapper -dnl function that works around the problem. +dnl If it does, then arrange to use gettimeofday and localtime only via +dnl the wrapper functions that work around the problem. AC_DEFUN([AC_FUNC_GETTIMEOFDAY_CLOBBER], [ AC_REQUIRE([AC_HEADER_TIME]) - AC_CHECK_HEADERS(string.h stdlib.h) + AC_CHECK_HEADERS_ONCE(stdlib.h string.h) AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], jm_cv_func_gettimeofday_clobber, [AC_TRY_RUN([ @@ -58,10 +58,25 @@ main () jm_cv_func_gettimeofday_clobber=yes) ]) if test $jm_cv_func_gettimeofday_clobber = yes; then - AC_LIBOBJ(gettimeofday) + gl_GETTIMEOFDAY_REPLACE_LOCALTIME + AC_DEFINE(gettimeofday, rpl_gettimeofday, [Define to rpl_gettimeofday if the replacement function should be used.]) AC_DEFINE(GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, 1, [Define if gettimeofday clobbers localtime's static buffer.]) + gl_PREREQ_GETTIMEOFDAY fi ]) + +AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ + AC_LIBOBJ(gettimeofday) + AC_DEFINE(gmtime, rpl_gmtime, + [Define to rpl_gmtime if the replacement function should be used.]) + AC_DEFINE(localtime, rpl_localtime, + [Define to rpl_localtime if the replacement function should be used.]) +]) + +# Prerequisites of lib/gettimeofday.c. +AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [ + AC_REQUIRE([AC_HEADER_TIME]) +])