--- winpr/libwinpr/synch/synch.h 2025-04-14 21:11:41.000000000 +0800 +++ winpr/libwinpr/synch/synch.h 2025-05-08 20:34:34.000000000 +0800 @@ -48,6 +48,10 @@ #define winpr_sem_t sem_t #endif +#ifdef __APPLE__ +#include +#endif + struct winpr_mutex { WINPR_HANDLE common; @@ -76,7 +80,7 @@ #include #define TIMER_IMPL_POSIX -#elif defined(__APPLE__) +#elif defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED > 1060 #define TIMER_IMPL_DISPATCH #include #else # Original code here is just wrong: --- winpr/libwinpr/synch/timer.c 2025-04-14 21:11:41.000000000 +0800 +++ winpr/libwinpr/synch/timer.c 2025-05-08 20:42:08.000000000 +0800 @@ -655,7 +655,7 @@ if (Type != HANDLE_TYPE_TIMER) return FALSE; -#if defined(__APPLE__) +#if defined(TIMER_IMPL_DISPATCH) { WINPR_TIMER* timer = (WINPR_TIMER*)Object; if (timer->running)