Merge commit '0bb930fc0fbe5258261e807ee875bb77258c1a8' into master

Change-Id: I9cf4f50f3b8d42e5e34a83bfeaf66ab72807f2b4
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
index 5f51476..656a4ed 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
@@ -1,6 +1,6 @@
 if(WIN32)
     add_subdirectory(OSDependent/Windows)
-elseif(UNIX)
+elseif(UNIX OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
     add_subdirectory(OSDependent/Unix)
 else(WIN32)
     message("unknown platform")
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index f59bbce..02d6fe4 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -45,7 +45,10 @@
 #include <stdint.h>
 #include <cstdio>
 #include <sys/time.h>
+
+#ifdef DUMP_COUNTERS
 #include <sys/resource.h>
+#endif
 
 namespace glslang {
 
@@ -70,7 +73,8 @@
 //
 void OS_CleanupThreadData(void)
 {
-#ifdef __ANDROID__
+    // Fuchsia does not have a meaningful pthread_cancel.
+#if defined(__Fuchsia__) || defined(__ANDROID__)
     DetachThreadLinux(NULL);
 #else
     int old_cancel_state, old_cancel_type;