timegm.m4 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # timegm.m4 serial 6
  2. dnl Copyright (C) 2003, 2007, 2009 Free Software Foundation, Inc.
  3. dnl This file is free software; the Free Software Foundation
  4. dnl gives unlimited permission to copy and/or distribute it,
  5. dnl with or without modifications, as long as this notice is preserved.
  6. AC_DEFUN([gl_FUNC_TIMEGM],
  7. [
  8. AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
  9. AC_REQUIRE([gl_FUNC_MKTIME])
  10. if test $ac_cv_func_working_mktime = no; then
  11. # Assume that timegm is buggy if mktime is.
  12. AC_LIBOBJ([timegm])
  13. ac_cv_func_timegm=no
  14. else
  15. AC_REPLACE_FUNCS([timegm])
  16. fi
  17. REPLACE_TIMEGM=1
  18. if test $ac_cv_func_timegm = yes; then
  19. AC_CHECK_DECLS([timegm], [REPLACE_TIMEGM=0], [], [#include <time.h>])
  20. fi
  21. if test $REPLACE_TIMEGM = 1; then
  22. gl_PREREQ_TIMEGM
  23. fi
  24. ])
  25. # Prerequisites of lib/timegm.c.
  26. AC_DEFUN([gl_PREREQ_TIMEGM], [
  27. AC_REQUIRE([gl_TIME_R])
  28. AC_REQUIRE([gl_FUNC_MKTIME])
  29. if test $ac_cv_func_working_mktime = yes; then
  30. AC_CHECK_FUNC([__mktime_internal], ,
  31. [# mktime works but it doesn't export __mktime_internal,
  32. # so we need to substitute our own mktime implementation.
  33. AC_LIBOBJ([mktime])
  34. AC_DEFINE([mktime], [rpl_mktime],
  35. [Define to rpl_mktime if the replacement function should be used.])
  36. gl_PREREQ_MKTIME])
  37. fi
  38. ])