diff --git a/src/chacha20poly1305.c b/src/chacha20poly1305.c index 9b320d1..2651bdb 100644 --- a/src/chacha20poly1305.c +++ b/src/chacha20poly1305.c @@ -370,13 +370,20 @@ static size_t read_urandom(void* buf, size_t n) return 0; } +#if defined(__APPLE__) +#include "TargetConditionals.h" +#endif + #if defined(__APPLE__) && defined(__MAC_10_12) && !defined(__IPHONE_OS_VERSION_MIN_REQUIRED) #include #endif static size_t entropy(void* buf, size_t n) { -#if defined(__APPLE__) && defined(__MAC_10_12) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_12 +#if defined(__APPLE__) && ((defined(__MAC_10_12) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_12) || TARGET_OS_TV || TARGET_OS_WATCH) +#if TARGET_OS_TV || TARGET_OS_WATCH + extern int getentropy(void* buffer, size_t buflen); +#endif if (getentropy(buf, n) == 0) return n; #elif defined(__linux__) && defined(SYS_getrandom)