maint: update copyright
[gnulib.git] / m4 / gethrxtime.m4
index 2b6fe36..5ce9a91 100644 (file)
@@ -1,5 +1,5 @@
-# gethrxtime.m4 serial 3
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# gethrxtime.m4 serial 12
+dnl Copyright (C) 2005-2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,17 +8,37 @@ dnl Written by Paul Eggert.
 
 AC_DEFUN([gl_GETHRXTIME],
 [
-  AC_LIBSOURCES([gethrxtime.c, gethrxtime.h, xtime.h])
   AC_REQUIRE([gl_ARITHMETIC_HRTIME_T])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_XTIME])
-  AC_CHECK_DECLS([gethrtime], [], [], [#include <time.h>])
-  case $ac_cv_have_decl_gethrtime,$gl_cv_arithmetic_hrtime_t in
-  yes,yes) ;;
-  *)
-    AC_LIBOBJ([gethrxtime])
-    gl_PREREQ_GETHRXTIME;;
-  esac
+  AC_CHECK_DECLS([gethrtime], [], [], [[#include <time.h>]])
+  LIB_GETHRXTIME=
+  if test $ac_cv_have_decl_gethrtime = no \
+     || test $gl_cv_arithmetic_hrtime_t = no; then
+    dnl Find libraries needed to link lib/gethrxtime.c.
+    AC_REQUIRE([gl_CLOCK_TIME])
+    AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+    AC_CHECK_FUNCS_ONCE([microuptime nanouptime])
+    if test $ac_cv_func_nanouptime != yes \
+       && { test $ac_cv_have_decl_gethrtime = no \
+            || test $gl_cv_arithmetic_hrtime_t = no; }; then
+      AC_CACHE_CHECK([whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined],
+        [gl_cv_have_clock_gettime_macro],
+        [AC_EGREP_CPP([have_clock_gettime_macro],
+          [
+#          include <time.h>
+#          if defined CLOCK_MONOTONIC || defined CLOCK_REALTIME
+            have_clock_gettime_macro
+#          endif
+          ],
+          [gl_cv_have_clock_gettime_macro=yes],
+          [gl_cv_have_clock_gettime_macro=no])])
+      if test $gl_cv_have_clock_gettime_macro = yes; then
+        LIB_GETHRXTIME=$LIB_CLOCK_GETTIME
+      fi
+    fi
+  fi
+  AC_SUBST([LIB_GETHRXTIME])
 ])
 
 # Test whether hrtime_t is an arithmetic type.
@@ -27,14 +47,14 @@ AC_DEFUN([gl_GETHRXTIME],
 AC_DEFUN([gl_ARITHMETIC_HRTIME_T],
 [
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CACHE_CHECK([for arithmetic hrtime_t], gl_cv_arithmetic_hrtime_t,
+  AC_CACHE_CHECK([for arithmetic hrtime_t], [gl_cv_arithmetic_hrtime_t],
     [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM([#include <time.h>],
-         [hrtime_t x = 0; return x/x;])],
+       [AC_LANG_PROGRAM([[#include <time.h>]],
+          [[hrtime_t x = 0; return x/x;]])],
        [gl_cv_arithmetic_hrtime_t=yes],
        [gl_cv_arithmetic_hrtime_t=no])])
   if test $gl_cv_arithmetic_hrtime_t = yes; then
-    AC_DEFINE([HAVE_ARITHMETIC_HRTIME_T], 1,
+    AC_DEFINE([HAVE_ARITHMETIC_HRTIME_T], [1],
       [Define if you have an arithmetic hrtime_t type.])
   fi
 ])
@@ -42,34 +62,6 @@ AC_DEFUN([gl_ARITHMETIC_HRTIME_T],
 # Prerequisites of lib/xtime.h.
 AC_DEFUN([gl_XTIME],
 [
-  AC_REQUIRE([AC_C_INLINE])
-  AC_REQUIRE([gl_AC_TYPE_LONG_LONG])
+  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
   :
 ])
-
-# Prerequisites of lib/gethrxtime.c.
-AC_DEFUN([gl_PREREQ_GETHRXTIME],
-[
-  AC_REQUIRE([gl_CLOCK_TIME])
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  AC_CHECK_FUNCS_ONCE(microuptime nanouptime)
-
-  if test $ac_cv_func_nanouptime != yes; then
-    LIB_GETHRXTIME=
-    AC_CACHE_CHECK([whether CLOCK_MONOTONIC is defined],
-      gl_cv_have_CLOCK_MONOTONIC,
-      [AC_EGREP_CPP([have_CLOCK_MONOTONIC],
-       [
-#        include <time.h>
-#        ifdef CLOCK_MONOTONIC
-         have_CLOCK_MONOTONIC
-#        endif
-       ],
-       gl_cv_have_CLOCK_MONOTONIC=yes,
-       gl_cv_have_CLOCK_MONOTONIC=no)])
-    if test $gl_cv_have_CLOCK_MONOTONIC = yes; then
-      LIB_GETHRXTIME=$LIB_CLOCK_GETTIME
-    fi
-    AC_SUBST([LIB_GETHRXTIME])
-  fi
-])