From 8f11ab2b475623d5c00e146a7d6108f356a16b52 Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
Date: Thu, 21 Dec 2017 11:48:15 +0100
Subject: build: guess availability of monotonic clock for cross compilation

When cross compiling, the value of MONOTONIC_CLOCK would be "cross
compiling", because AC_RUN_IFELSE doesn't work. However when enabling
wayland, a monotonic clock is required and configure aborts.

We change detection of CLOCK_MONOTONIC to degrade it gracefully from a
run check to a declaration check in case of cross compilation based on
the assumption that most systems will have a monotonic clock and those
that don't won't be able to run Xwayland anyway. The trade-off
essentially is either "always fail cross compilation" or "produce an
unusable Xwayland for unusual platform" and this commit switches to the
latter.

Signed-off-by: Helmut Grohne <helmut@subdivi.de>
Bug-Debian: https://bugs.debian.org/882531
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit c601c8faf54ff9e3bcbc653421828d71042deef7)

diff --git a/configure.ac b/configure.ac
index 2bfafb140..a9e311b51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1066,6 +1066,10 @@ int main(int argc, char *argv[[]]) {
     ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
        [MONOTONIC_CLOCK="cross compiling"])
 
+    if test "$MONOTONIC_CLOCK" = "cross compiling"; then
+        AC_CHECK_DECL([CLOCK_MONOTONIC],[MONOTONIC_CLOCK="guessing yes"],[MONOTONIC_CLOCK=no],[#include <time.h>])
+    fi
+
     LIBS="$LIBS_SAVE"
     CPPFLAGS="$CPPFLAGS_SAVE"
 else
@@ -1073,6 +1077,9 @@ else
 fi
 
 AC_MSG_RESULT([$MONOTONIC_CLOCK])
+if test "$MONOTONIC_CLOCK" = "guessing yes"; then
+	MONOTONIC_CLOCK=yes
+fi
 
 if test "x$MONOTONIC_CLOCK" = xyes; then
     AC_DEFINE(MONOTONIC_CLOCK, 1, [Have monotonic clock from clock_gettime()])
