diff options
author | Jia Tan <jiat0218@gmail.com> | 2022-12-29 01:10:53 +0800 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-01-05 00:26:35 +0800 |
commit | 9e3cb514b5b95bd235dcdff3db4436f57444ee4f (patch) | |
tree | 28638a49752e60d16d877672869910d392d1e193 | |
parent | Translations: Add Ukrainian translations of man pages. (diff) | |
download | xz-9e3cb514b5b95bd235dcdff3db4436f57444ee4f.tar.xz |
Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
be set to 0 or 1. However, this macro was needed in xz so if xz was not
built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
will only be set if it is 1.
-rw-r--r-- | CMakeLists.txt | 8 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | src/common/mythread.h | 4 | ||||
-rw-r--r-- | src/xz/mytime.c | 5 |
4 files changed, 11 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 01c73cd5..c4f10594 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,13 +154,11 @@ if(NOT WIN32 AND NOT DEFINED HAVE_CLOCK_GETTIME) endif() if(HAVE_CLOCK_GETTIME) # Check if CLOCK_MONOTONIC is available for clock_gettime(). - check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_DECL_CLOCK_MONOTONIC) + check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_CLOCK_MONOTONIC) - # HAVE_DECL_CLOCK_MONOTONIC should always be defined to 0 or 1 - # when clock_gettime is available. add_compile_definitions( HAVE_CLOCK_GETTIME - HAVE_DECL_CLOCK_MONOTONIC=$<BOOL:"${HAVE_DECL_CLOCK_MONOTONIC}"> + HAVE_CLOCK_MONOTONIC ) endif() endif() @@ -184,7 +182,7 @@ else() add_compile_definitions(MYTHREAD_POSIX) # Check if pthread_condattr_setclock() exists to use CLOCK_MONOTONIC. - if(HAVE_DECL_CLOCK_MONOTONIC) + if(HAVE_CLOCK_MONOTONIC) list(INSERT CMAKE_REQUIRED_LIBRARIES 0 "${CMAKE_THREAD_LIBS_INIT}") check_symbol_exists(pthread_condattr_setclock pthread.h HAVE_PTHREAD_CONDATTR_SETCLOCK) diff --git a/configure.ac b/configure.ac index 7c77215b..a16031b5 100644 --- a/configure.ac +++ b/configure.ac @@ -638,7 +638,10 @@ case $enable_threads in CFLAGS="$CFLAGS $PTHREAD_CFLAGS" AC_SEARCH_LIBS([clock_gettime], [rt]) AC_CHECK_FUNCS([clock_gettime pthread_condattr_setclock]) - AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]]) + AC_CHECK_DECL([CLOCK_MONOTONIC], [AC_DEFINE( + [HAVE_CLOCK_MONOTONIC], [1], [Define to 1 if + CLOCK_MONOTONIC is declared in <time.h>])], [], + [[#include <time.h>]]) CFLAGS=$OLD_CFLAGS ;; win95) diff --git a/src/common/mythread.h b/src/common/mythread.h index 41382183..9be90d4e 100644 --- a/src/common/mythread.h +++ b/src/common/mythread.h @@ -219,8 +219,8 @@ static inline int mythread_cond_init(mythread_cond *mycond) { #ifdef HAVE_CLOCK_GETTIME - // NOTE: HAVE_DECL_CLOCK_MONOTONIC is always defined to 0 or 1. -# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && HAVE_DECL_CLOCK_MONOTONIC +# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && \ + defined(HAVE_CLOCK_MONOTONIC) struct timespec ts; pthread_condattr_t condattr; diff --git a/src/xz/mytime.c b/src/xz/mytime.c index 70444001..a81c88af 100644 --- a/src/xz/mytime.c +++ b/src/xz/mytime.c @@ -12,7 +12,7 @@ #include "private.h" -#if !(defined(HAVE_CLOCK_GETTIME) && HAVE_DECL_CLOCK_MONOTONIC) +#if !(defined(HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_MONOTONIC)) # include <sys/time.h> #endif @@ -28,8 +28,7 @@ static uint64_t next_flush; static uint64_t mytime_now(void) { - // NOTE: HAVE_DECL_CLOCK_MONOTONIC is always defined to 0 or 1. -#if defined(HAVE_CLOCK_GETTIME) && HAVE_DECL_CLOCK_MONOTONIC +#if defined(HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_MONOTONIC) // If CLOCK_MONOTONIC was available at compile time but for some // reason isn't at runtime, fallback to CLOCK_REALTIME which // according to POSIX is mandatory for all implementations. |