986eb3b611
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Reviewed-by: Romain Naour <romain.naour@gmail.com> Tested-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
67 lines
2.0 KiB
Diff
67 lines
2.0 KiB
Diff
Discover monotonic clock using compile-time check
|
|
|
|
monotonic clock check does not work when cross-compiling.
|
|
|
|
Upstream-Status: Denied [Does not work on OpenBSD]
|
|
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
|
|
|
|
|
|
|
Original patch follows:
|
|
|
|
When xorg-xserver is being cross-compiled, there is currently no way
|
|
for us to detect whether the monotonic clock is available on the
|
|
target system, because we aren't able to run a test program on the host
|
|
system. Currently, in this situation, we default to not use the
|
|
monotonic clock. One problem with this situation is that the user will
|
|
be treated as idle when the date is updated.
|
|
|
|
To fix this situation, we now use a compile-time check to detect whether the
|
|
monotonic clock is available. This check can run just fine when we are
|
|
cross-compiling.
|
|
|
|
Signed-off-by: David James <davidjames at google.com>
|
|
|
|
Downloaded from
|
|
https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch
|
|
|
|
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
|
---
|
|
configure.ac | 17 +++++++----------
|
|
1 file changed, 7 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index f7ab48c..26e85cd 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -1048,19 +1048,16 @@ if ! test "x$have_clock_gettime" = xno; then
|
|
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
|
|
fi
|
|
|
|
- AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
#include <time.h>
|
|
-
|
|
-int main(int argc, char *argv[[]]) {
|
|
- struct timespec tp;
|
|
-
|
|
- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
|
|
+#include <unistd.h>
|
|
+int main() {
|
|
+#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
|
|
+ #error No monotonic clock
|
|
+#endif
|
|
return 0;
|
|
- else
|
|
- return 1;
|
|
}
|
|
- ])], [MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no],
|
|
- [MONOTONIC_CLOCK="cross compiling"])
|
|
+]])],[MONOTONIC_CLOCK=yes], [MONOTONIC_CLOCK=no])
|
|
|
|
LIBS="$LIBS_SAVE"
|
|
CPPFLAGS="$CPPFLAGS_SAVE"
|
|
--
|
|
2.1.4
|
|
|