123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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
|