From b359cd2c3cc41ee8a3327f9f753b5f3d2c6aa29f Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
Date: Tue, 11 Aug 2020 07:54:20 +0000
Subject: [PATCH] wayland-info: disable Linux-only clocks if not available

Previously, building on DragonFly, FreeBSD, NetBSD, OpenBSD failed with:
wayland-info/wayland-info.c:1783:4: error: use of undeclared identifier 'CLOCK_MONOTONIC_RAW'
             [CLOCK_MONOTONIC_RAW] = "CLOCK_MONOTONIC_RAW",
              ^
wayland-info/wayland-info.c:1784:4: error: use of undeclared identifier 'CLOCK_REALTIME_COARSE'
             [CLOCK_REALTIME_COARSE] =       "CLOCK_REALTIME_COARSE",
              ^
wayland-info/wayland-info.c:1785:4: error: use of undeclared identifier 'CLOCK_MONOTONIC_COARSE'
             [CLOCK_MONOTONIC_COARSE] =      "CLOCK_MONOTONIC_COARSE",
              ^
wayland-info/wayland-info.c:1791:40: error: invalid application of 'sizeof' to an incomplete type 'const char *[]'
        if (clk_id < 0 || (unsigned)clk_id >= ARRAY_LENGTH(names))
                                              ^~~~~~~~~~~~~~~~~~~
wayland-info/wayland-info.c:49:33: note: expanded from macro 'ARRAY_LENGTH'
 #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
                                 ^~~

Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
---
 wayland-info/wayland-info.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/wayland-info/wayland-info.c b/wayland-info/wayland-info.c
index 51ff488..4913684 100644
--- a/wayland-info/wayland-info.c
+++ b/wayland-info/wayland-info.c
@@ -1809,9 +1809,15 @@ clock_name(clockid_t clk_id)
 	static const char *names[] = {
 		[CLOCK_REALTIME] =		"CLOCK_REALTIME",
 		[CLOCK_MONOTONIC] =		"CLOCK_MONOTONIC",
+#ifdef CLOCK_MONOTONIC_RAW
 		[CLOCK_MONOTONIC_RAW] =	"CLOCK_MONOTONIC_RAW",
+#endif
+#ifdef CLOCK_REALTIME_COARSE
 		[CLOCK_REALTIME_COARSE] =	"CLOCK_REALTIME_COARSE",
+#endif
+#ifdef CLOCK_MONOTONIC_COARSE
 		[CLOCK_MONOTONIC_COARSE] =	"CLOCK_MONOTONIC_COARSE",
+#endif
 #ifdef CLOCK_BOOTTIME
 		[CLOCK_BOOTTIME] =		"CLOCK_BOOTTIME",
 #endif
-- 
GitLab