X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fgettimeofday.m4;h=e7a5a6db6e7e8c2977acc3a0a0ba0a3d877b5b97;hb=02d97fa1f7a73756747951b74de8655d9f11b509;hp=2d893b7da68b8fc03b347233e52d5e58938a7f5f;hpb=861de20310c738270408d500ca81235649faf242;p=gnulib.git diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 index 2d893b7da..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_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([ @@ -52,14 +52,31 @@ main () exit (0); } ], - jm_cv_func_gettimeofday_clobber=yes, jm_cv_func_gettimeofday_clobber=no, + jm_cv_func_gettimeofday_clobber=yes, dnl When crosscompiling, assume it is broken. jm_cv_func_gettimeofday_clobber=yes) ]) if test $jm_cv_func_gettimeofday_clobber = yes; then - AC_LIBOBJ(gettimeofday) - AC_DEFINE_UNQUOTED(gettimeofday, rpl_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]) +])