timegm.m4 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # timegm.m4 serial 8
  2. dnl Copyright (C) 2003, 2007, 2009, 2010 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. REPLACE_TIMEGM=0
  11. AC_CHECK_FUNCS_ONCE([timegm])
  12. if test $ac_cv_func_timegm = yes; then
  13. if test $ac_cv_func_working_mktime = no; then
  14. # Assume that timegm is buggy if mktime is.
  15. REPLACE_TIMEGM=1
  16. fi
  17. else
  18. HAVE_TIMEGM=0
  19. fi
  20. if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
  21. AC_LIBOBJ([timegm])
  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. ])