diff --git a/include/mbedtls/threading.h b/include/mbedtls/threading.h
index 0707152..e613be9 100644
--- a/include/mbedtls/threading.h
+++ b/include/mbedtls/threading.h
@@ -100,13 +100,18 @@
 extern mbedtls_threading_mutex_t mbedtls_threading_readdir_mutex;
 #endif
 #if defined(MBEDTLS_HAVE_TIME_DATE)
-#if !defined(_WIN32) && (defined(__unix__) || \
-    (defined(__APPLE__) && defined(__MACH__)))
+#if !defined(_WIN32) && (defined(unix) || defined(__unix) || \
+    defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)))
 #include <unistd.h>
 #if !defined(_POSIX_VERSION) || 200112L > _POSIX_THREAD_SAFE_FUNCTIONS
+/*
+ * The preprocessor conditions above are the same as in platform_utils.c and
+ * threading.c. Remember to update the code there when changing the conditions
+ * here
+ */
 extern mbedtls_threading_mutex_t mbedtls_threading_gmtime_mutex;
 #endif /* !_POSIX_VERSION || 200112L > _POSIX_THREAD_SAFE_FUNCTIONS */
-#endif /* !_WIN32 && (__unix__ || (__APPLE__ && __MACH__)) */
+#endif /* !_WIN32 && (unix || __unix || __unix__ || (__APPLE__ && __MACH__)) */
 #endif /* MBEDTLS_HAVE_TIME_DATE */
 #endif /* MBEDTLS_THREADING_C */
 
diff --git a/library/platform_util.c b/library/platform_util.c
index e440e5a..2dd530d 100644
--- a/library/platform_util.c
+++ b/library/platform_util.c
@@ -75,13 +75,20 @@
 
 #if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_PLATFORM_GMTIME_ALT)
 #include <time.h>
-#if !defined(_WIN32) && (defined(__unix__) || \
-    (defined(__APPLE__) && defined(__MACH__)))
+#if !defined(_WIN32) && (defined(unix) || defined(__unix) || \
+    defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)))
 #include <unistd.h>
 #if !defined(_POSIX_VERSION) || _POSIX_C_SOURCE > _POSIX_THREAD_SAFE_FUNCTIONS
+/*
+ * This is a convenience shorthand macro to avoid checking the long
+ * preprocessor conditions above. Ideally, we could expose this macro in
+ * platform_utils.h and simply use it in platform_utils.c, threading.c and
+ * threading.h. However, this macro is not part of the Mbed TLS public API, so
+ * we keep it private by only definining it in this file
+ */
 #define PLATFORM_UTIL_USE_GMTIME
 #endif /* !_POSIX_VERSION || _POSIX_C_SOURCE > _POSIX_THREAD_SAFE_FUNCTIONS */
-#endif /* !_WIN32 && (__unix__ || (__APPLE__ && __MACH__)) */
+#endif /* !_WIN32 && (unix || __unix || __unix__ || (__APPLE__ && __MACH__)) */
 
 struct tm *mbedtls_platform_gmtime( const mbedtls_time_t *tt,
                                     struct tm *tm_buf )
diff --git a/library/threading.c b/library/threading.c
index c22a1da..f7bca0f 100644
--- a/library/threading.c
+++ b/library/threading.c
@@ -35,13 +35,20 @@
 
 #include "mbedtls/threading.h"
 
-#if !defined(_WIN32) && (defined(__unix__) || \
-    (defined(__APPLE__) && defined(__MACH__)))
+#if !defined(_WIN32) && (defined(unix) || defined(__unix) || \
+    defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)))
 #include <unistd.h>
 #if !defined(_POSIX_VERSION) || 200112L > _POSIX_THREAD_SAFE_FUNCTIONS
+/*
+ * This is a convenience shorthand macro to avoid checking the long
+ * preprocessor conditions above. Ideally, we could expose this macro in
+ * platform_utils.h and simply use it in platform_utils.c, threading.c and
+ * threading.h. However, this macro is not part of the Mbed TLS public API, so
+ * we keep it private by only definining it in this file
+ */
 #define THREADING_USE_GMTIME
 #endif /* !_POSIX_VERSION || 200112L > _POSIX_THREAD_SAFE_FUNCTIONS */
-#endif /* !_WIN32 && (__unix__ || (__APPLE__ && __MACH__)) */
+#endif /* !_WIN32 && (unix || __unix || __unix__ || (__APPLE__ && __MACH__)) */
 
 #if defined(MBEDTLS_THREADING_PTHREAD)
 static void threading_mutex_init_pthread( mbedtls_threading_mutex_t *mutex )
