Based on pull request feedback. See commit 60c5222 for why the pthread header is necessary.
@@ -30,6 +30,10 @@
#ifndef GOOGLE_PROTOBUF_STUBS_MUTEX_H_
#define GOOGLE_PROTOBUF_STUBS_MUTEX_H_
+#ifdef GOOGLE_PROTOBUF_NO_THREADLOCAL
+#include <pthread.h>
+#endif
+
#include <google/protobuf/stubs/macros.h>
// ===================================================================
@@ -115,8 +115,6 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
// TLS support on android.
// iOS also does not support the __thread keyword.
#define GOOGLE_PROTOBUF_NO_THREADLOCAL
-
-#include <pthread.h>
#endif
#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_