Build fix: macOS Sierra provides clock_gettime
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 29 Sep 2016 00:43:57 +0000 (20:43 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 29 Sep 2016 01:20:50 +0000 (21:20 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
configure.ac
src/common/compat/time.h

index 5cfe9731584b11e23b35a1d19934148611b67ad8..810e1f19dc51ec35482b200d6fb723f5bd0d80de 100644 (file)
@@ -369,6 +369,8 @@ PKG_CHECK_MODULES([UUID], [uuid],
 AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"])
 AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"])
 
+AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
+
 # URCU library version needed or newer
 m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.8.0 is needed])
 
index c8d5859ff9ef22ea8b48c5d3429752342ed89120..17447b3724bee5ef4c0bf0a30a080317f40d7748 100644 (file)
@@ -26,8 +26,8 @@
 #include <time.h>
 
 #ifdef __APPLE__
+
 typedef uint64_t timer_t;
-typedef int clockid_t;
 
 #include <mach/mach.h>
 #include <mach/clock.h>
@@ -36,6 +36,12 @@ typedef int clockid_t;
 #undef NSEC_PER_MSEC
 #undef NSEC_PER_USEC
 
+#endif /* __APPLE__ */
+
+/* macOS/OS X 10.12 (Sierra) and up provide clock_gettime() */
+#if defined(__APPLE__) && !defined(LTTNG_HAVE_CLOCK_GETTIME)
+
+typedef int clockid_t;
 #define CLOCK_REALTIME CALENDAR_CLOCK
 #define CLOCK_MONOTONIC SYSTEM_CLOCK
 
@@ -69,7 +75,7 @@ end:
        return ret;
 }
 
-#else /* __APPLE__ */
+#else /* __APPLE__ && !LTTNG_HAVE_CLOCK_GETTIME */
 
 static inline
 int lttng_clock_gettime(clockid_t clk_id, struct timespec *tp)
@@ -77,6 +83,6 @@ int lttng_clock_gettime(clockid_t clk_id, struct timespec *tp)
        return clock_gettime(clk_id, tp);
 }
 
-#endif /* __APPLE__ */
+#endif /* __APPLE__ && !LTTNG_HAVE_CLOCK_GETTIME */
 
 #endif /* _COMPAT_TIME_H */
This page took 0.026527 seconds and 4 git commands to generate.