diff --git a/include/enet.h b/include/enet.h index 69057b3b0..6405875d7 100644 --- a/include/enet.h +++ b/include/enet.h @@ -5125,11 +5125,53 @@ extern "C" { } #endif #elif __APPLE__ && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 - #define CLOCK_REALTIME 0 - #define CLOCK_MONOTONIC 1 +#include +#define STR2(x) #x +#define STR(x) STR2(x) +#pragma message("__MAC_OS_X_VERSION_MIN_REQUIRED = " STR(__MAC_OS_X_VERSION_MIN_REQUIRED)) + +typedef enum { + _CLOCK_REALTIME = 0, +#if !defined(CLOCK_REALTIME) +#define CLOCK_REALTIME _CLOCK_REALTIME +#endif + _CLOCK_MONOTONIC = 6, +#if !defined(CLOCK_MONOTONIC) +#define CLOCK_MONOTONIC _CLOCK_MONOTONIC +#endif +#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) + _CLOCK_MONOTONIC_RAW = 4, +#if !defined(CLOCK_MONOTONIC_RAW) +#define CLOCK_MONOTONIC_RAW _CLOCK_MONOTONIC_RAW +#endif + _CLOCK_MONOTONIC_RAW_APPROX = 5, +#if !defined(CLOCK_MONOTONIC_RAW_APPROX) +#define CLOCK_MONOTONIC_RAW_APPROX _CLOCK_MONOTONIC_RAW_APPROX +#endif + _CLOCK_UPTIME_RAW = 8, +#if !defined(CLOCK_UPTIME_RAW) +#define CLOCK_UPTIME_RAW _CLOCK_UPTIME_RAW +#endif + _CLOCK_UPTIME_RAW_APPROX = 9, +#if !defined(CLOCK_UPTIME_RAW_APPROX) +#define CLOCK_UPTIME_RAW_APPROX _CLOCK_UPTIME_RAW_APPROX +#endif +#endif + _CLOCK_PROCESS_CPUTIME_ID = 12, +#if !defined(CLOCK_PROCESS_CPUTIME_ID) +#define CLOCK_PROCESS_CPUTIME_ID _CLOCK_PROCESS_CPUTIME_ID +#endif + _CLOCK_THREAD_CPUTIME_ID = 16 +#if !defined(CLOCK_THREAD_CPUTIME_ID) +#define CLOCK_THREAD_CPUTIME_ID _CLOCK_THREAD_CPUTIME_ID +#endif +} clockid_t; + extern "C" { - int clock_gettime(int X, struct timespec *tv); + /* clock_gettime() only available in macOS 10.12+ (Sierra) */ + int clock_gettime(clockid_t clk_id, struct timespec *tp); } + #if 0 #define CLOCK_MONOTONIC 0 diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index 7bf640b98..2ecdcabfd 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -60,11 +60,45 @@ extern "C" { #include #include -#define CLOCK_REALTIME 0 -#define CLOCK_MONOTONIC 1 +typedef enum { + _CLOCK_REALTIME = 0, +#if !defined(CLOCK_REALTIME) +#define CLOCK_REALTIME _CLOCK_REALTIME +#endif + _CLOCK_MONOTONIC = 6, +#if !defined(CLOCK_MONOTONIC) +#define CLOCK_MONOTONIC _CLOCK_MONOTONIC +#endif +#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) + _CLOCK_MONOTONIC_RAW = 4, +#if !defined(CLOCK_MONOTONIC_RAW) +#define CLOCK_MONOTONIC_RAW _CLOCK_MONOTONIC_RAW +#endif + _CLOCK_MONOTONIC_RAW_APPROX = 5, +#if !defined(CLOCK_MONOTONIC_RAW_APPROX) +#define CLOCK_MONOTONIC_RAW_APPROX _CLOCK_MONOTONIC_RAW_APPROX +#endif + _CLOCK_UPTIME_RAW = 8, +#if !defined(CLOCK_UPTIME_RAW) +#define CLOCK_UPTIME_RAW _CLOCK_UPTIME_RAW +#endif + _CLOCK_UPTIME_RAW_APPROX = 9, +#if !defined(CLOCK_UPTIME_RAW_APPROX) +#define CLOCK_UPTIME_RAW_APPROX _CLOCK_UPTIME_RAW_APPROX +#endif +#endif + _CLOCK_PROCESS_CPUTIME_ID = 12, +#if !defined(CLOCK_PROCESS_CPUTIME_ID) +#define CLOCK_PROCESS_CPUTIME_ID _CLOCK_PROCESS_CPUTIME_ID +#endif + _CLOCK_THREAD_CPUTIME_ID = 16 +#if !defined(CLOCK_THREAD_CPUTIME_ID) +#define CLOCK_THREAD_CPUTIME_ID _CLOCK_THREAD_CPUTIME_ID +#endif +} clockid_t; /* clock_gettime() only available in macOS 10.12+ (Sierra) */ -int clock_gettime(int clk_id, struct timespec *tp) { +int clock_gettime(clockid_t clk_id, struct timespec *tp) { if (clk_id == CLOCK_REALTIME) { struct timeval now; gettimeofday(&now, NULL); diff --git a/src/hardware/serialport/misc_util.cpp b/src/hardware/serialport/misc_util.cpp index ebe6d0be8..e3d2058f7 100644 --- a/src/hardware/serialport/misc_util.cpp +++ b/src/hardware/serialport/misc_util.cpp @@ -33,20 +33,6 @@ #undef WITH_ENET_IMPLEMENTATION #endif -#if __APPLE__ && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -#include -#define STR2(x) #x -#define STR(x) STR2(x) -#pragma message("__MAC_OS_X_VERSION_MIN_REQUIRED = " STR(__MAC_OS_X_VERSION_MIN_REQUIRED)) - -#define CLOCK_REALTIME 0 -#define CLOCK_MONOTONIC 1 - -extern "C" { - int clock_gettime(int X, struct timespec *tv); /* macOS 10.12+ has clock_gettime() */ -} -#endif - #if defined(WITH_ENET_IMPLEMENTATION) #define ENET_IMPLEMENTATION #include "enet.h" diff --git a/src/misc/ethernet_slirp.cpp b/src/misc/ethernet_slirp.cpp index eb3129387..49866d099 100644 --- a/src/misc/ethernet_slirp.cpp +++ b/src/misc/ethernet_slirp.cpp @@ -31,10 +31,46 @@ extern std::string niclist; #if __APPLE__ && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200 -#define CLOCK_REALTIME 0 -#define CLOCK_MONOTONIC 1 -extern "C"{ - int clock_gettime(int X, struct timespec *ts); /* macOS 10.12+ has clock_gettime() */ +typedef enum { + _CLOCK_REALTIME = 0, +#if !defined(CLOCK_REALTIME) +#define CLOCK_REALTIME _CLOCK_REALTIME +#endif + _CLOCK_MONOTONIC = 6, +#if !defined(CLOCK_MONOTONIC) +#define CLOCK_MONOTONIC _CLOCK_MONOTONIC +#endif +#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) + _CLOCK_MONOTONIC_RAW = 4, +#if !defined(CLOCK_MONOTONIC_RAW) +#define CLOCK_MONOTONIC_RAW _CLOCK_MONOTONIC_RAW +#endif + _CLOCK_MONOTONIC_RAW_APPROX = 5, +#if !defined(CLOCK_MONOTONIC_RAW_APPROX) +#define CLOCK_MONOTONIC_RAW_APPROX _CLOCK_MONOTONIC_RAW_APPROX +#endif + _CLOCK_UPTIME_RAW = 8, +#if !defined(CLOCK_UPTIME_RAW) +#define CLOCK_UPTIME_RAW _CLOCK_UPTIME_RAW +#endif + _CLOCK_UPTIME_RAW_APPROX = 9, +#if !defined(CLOCK_UPTIME_RAW_APPROX) +#define CLOCK_UPTIME_RAW_APPROX _CLOCK_UPTIME_RAW_APPROX +#endif +#endif + _CLOCK_PROCESS_CPUTIME_ID = 12, +#if !defined(CLOCK_PROCESS_CPUTIME_ID) +#define CLOCK_PROCESS_CPUTIME_ID _CLOCK_PROCESS_CPUTIME_ID +#endif + _CLOCK_THREAD_CPUTIME_ID = 16 +#if !defined(CLOCK_THREAD_CPUTIME_ID) +#define CLOCK_THREAD_CPUTIME_ID _CLOCK_THREAD_CPUTIME_ID +#endif +} clockid_t; + +extern "C" { +/* clock_gettime() only available in macOS 10.12+ (Sierra) */ +int clock_gettime(clockid_t clk_id, struct timespec *tp); } #endif