diff --git a/README.fuchsia b/README.fuchsia
new file mode 100644
index 0000000..c2fd7dd
--- /dev/null
+++ b/README.fuchsia
@@ -0,0 +1,6 @@
+Name: gmmlib
+URL: n/a
+License: MIT
+License File: LICENSE.md
+Upstream Git: https://github.com/intel/gmmlib
+Description: The Intel(R) Graphics Memory Management Library provides device specific and buffer management for the Intel(R) Graphics Compute Runtime for OpenCL(TM) and the Intel(R) Media Driver for VAAPI.
diff --git a/Source/GmmLib/CMakeLists.txt b/Source/GmmLib/CMakeLists.txt
index 69938db..5e97c09 100644
--- a/Source/GmmLib/CMakeLists.txt
+++ b/Source/GmmLib/CMakeLists.txt
@@ -510,7 +510,7 @@
     set(CMAKE_INSTALL_SYSCONFDIR "usr/share/defaults/etc")
 endif()
 
-if(UNIX)
+if(UNIX OR ${CMAKE_SYSTEM_NAME} STREQUAL "Fuchsia")
     include(GNUInstallDirs)
 
     configure_file(${BS_DIR_GMMLIB}/igdgmm.h.in ${CMAKE_BINARY_DIR}/igdgmm.h)
diff --git a/Source/GmmLib/Platform/GmmPlatforms.h b/Source/GmmLib/Platform/GmmPlatforms.h
index 0659c33..92cb737 100644
--- a/Source/GmmLib/Platform/GmmPlatforms.h
+++ b/Source/GmmLib/Platform/GmmPlatforms.h
@@ -86,7 +86,7 @@
         {
 #if defined(__GMM_KMD__) || _WIN32
             InterlockedIncrement((LONG *)&RefCount);
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__Fuchsia__)
             __sync_fetch_and_add(&RefCount, 1);
 #endif
             //TODO[Android]
@@ -96,7 +96,7 @@
         {
 #if defined(__GMM_KMD__) || _WIN32
             return(InterlockedDecrement((LONG *)&RefCount));
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__Fuchsia__)
             return(__sync_sub_and_fetch(&RefCount, 1));
 #endif
             //TODO[Android]
diff --git a/Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp b/Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp
index 546815f..cd60e15 100644
--- a/Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp
+++ b/Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp
@@ -22,7 +22,7 @@
 
 #include "Internal/Common/GmmLibInc.h"
 
-#if defined(__linux__) && !LHDM
+#if (defined(__linux__) || defined(__Fuchsia__)) && !LHDM
 #include "Internal/Linux/GmmResourceInfoLinInt.h"
 
 /////////////////////////////////////////////////////////////////////////////////////
diff --git a/Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp b/Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp
index d7fefce..43ec121 100644
--- a/Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp
+++ b/Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp
@@ -28,7 +28,7 @@
 #include "../TranslationTable/GmmUmdTranslationTable.h"
 #include "External/Common/GmmClientContext.h"
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__Fuchsia__)
 #include "Internal/Linux/GmmResourceInfoLinInt.h"
 #endif
 
@@ -44,7 +44,7 @@
         LeaveCriticalSection(&PoolLock); \
     }
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__Fuchsia__)
 GMM_STATUS GmmLib::__GmmDeviceAlloc(GmmClientContext *        pClientContext,
                                     GMM_DEVICE_CALLBACKS_INT *pDeviceCbInt,
                                     GMM_DEVICE_ALLOC *        pAlloc)
@@ -607,7 +607,7 @@
     return GMM_SUCCESS;
 }
 
-#if defined(__linux__) && !_WIN32
+#if defined(__linux__) || defined(__Fuchsia__) && !_WIN32
 /////////////////////////////////////////////////////////////////////////////////////
 /// Gets size of PageTable buffer object (BOs) list
 ///
diff --git a/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp b/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp
index 3d94fcc..5588900 100644
--- a/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp
+++ b/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp
@@ -31,7 +31,7 @@
 
 #if !defined(__GMM_KMD)
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__Fuchsia__)
 #include "Internal/Linux/GmmResourceInfoLinInt.h"
 
 #define _aligned_free(ptr) free(ptr)
diff --git a/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h b/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h
index 74de21d..01a5c8b 100644
--- a/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h
+++ b/Source/GmmLib/TranslationTable/GmmUmdTranslationTable.h
@@ -27,7 +27,7 @@
 #pragma once
 #include "External/Common/GmmPageTableMgr.h"
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__Fuchsia__)
 #include <pthread.h>
 #include <string.h>
 
@@ -445,7 +445,7 @@
     public:
 #ifdef _WIN32
         CRITICAL_SECTION    TTLock;                  //synchronized access of PageTable obj
-#elif defined __linux__
+#elif defined __linux__ || defined(__Fuchsia__)
         pthread_mutex_t TTLock;
 #endif
 
diff --git a/Source/GmmLib/inc/External/Common/GmmCachePolicyCommon.h b/Source/GmmLib/inc/External/Common/GmmCachePolicyCommon.h
index 43fc980..cea5b1f 100644
--- a/Source/GmmLib/inc/External/Common/GmmCachePolicyCommon.h
+++ b/Source/GmmLib/inc/External/Common/GmmCachePolicyCommon.h
@@ -58,7 +58,7 @@
             {
                 #if defined(__GMM_KMD__) || _WIN32
                     InterlockedIncrement((LONG *)&RefCount);
-                #elif defined(__linux__)
+                #elif defined(__linux__) || defined(__Fuchsia__)
                     __sync_fetch_and_add(&RefCount, 1);
                 #endif
                 //TODO[Android]
@@ -68,7 +68,7 @@
             {
                 #if defined(__GMM_KMD__) || _WIN32
                     return(InterlockedDecrement((LONG *)&RefCount));
-                #elif defined(__linux__)
+                #elif defined(__linux__) || defined(__Fuchsia__)
                     return(__sync_sub_and_fetch(&RefCount, 1));
                 #endif
                 //TODO[Android]
diff --git a/Source/GmmLib/inc/External/Common/GmmCommonExt.h b/Source/GmmLib/inc/External/Common/GmmCommonExt.h
index 6c57195..71a5ef3 100644
--- a/Source/GmmLib/inc/External/Common/GmmCommonExt.h
+++ b/Source/GmmLib/inc/External/Common/GmmCommonExt.h
@@ -72,7 +72,7 @@
 #define GMM_NO_FENCE_REG        0xDEADBEEF
 #define GMM_MAX_DISPLAYS        3
 
-#if defined __linux__
+#if defined __linux__ || defined(__Fuchsia__)
 typedef void* HANDLE;
 #endif
 
diff --git a/Source/GmmLib/inc/External/Common/GmmInfo.h b/Source/GmmLib/inc/External/Common/GmmInfo.h
index 52cfe5a..10cc17f 100644
--- a/Source/GmmLib/inc/External/Common/GmmInfo.h
+++ b/Source/GmmLib/inc/External/Common/GmmInfo.h
@@ -127,7 +127,7 @@
         {
 #if defined(_WIN32)
             return(InterlockedIncrement((LONG *)&RefCount) - 1);  //InterLockedIncrement() returns incremented value
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__Fuchsia__)
             return(__sync_fetch_and_add(&RefCount, 1));
 #endif
         }
@@ -149,7 +149,7 @@
                 }
 #if defined(_WIN32)
             } while (!(InterlockedCompareExchange((LONG *)&RefCount, TargetValue, CurrentValue) == CurrentValue));
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__Fuchsia__)
             } while (!__sync_bool_compare_and_swap(&RefCount, CurrentValue, TargetValue));
 #endif
 
diff --git a/Source/GmmLib/inc/External/Common/GmmPageTableMgr.h b/Source/GmmLib/inc/External/Common/GmmPageTableMgr.h
index beaed19..97f0f99 100644
--- a/Source/GmmLib/inc/External/Common/GmmPageTableMgr.h
+++ b/Source/GmmLib/inc/External/Common/GmmPageTableMgr.h
@@ -28,7 +28,7 @@
 #pragma once
 #include "GmmHw.h"
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__Fuchsia__)
 #include <pthread.h>
 #endif
 
@@ -108,7 +108,7 @@
         GmmClientContext    *pClientContext;    ///< ClientContext of the client creating this Object
 
          //OS-specific defn
-#if defined  __linux__
+#if defined  __linux__ || defined(__Fuchsia__)
 	pthread_mutex_t PoolLock;
 #endif
     public:
@@ -134,7 +134,7 @@
         GMM_VIRTUAL GMM_PAGETABLEPool * __GetFreePoolNode(uint32_t * FreePoolNodeIdx, POOL_TYPE PoolType);
 
 
-#if defined __linux__
+#if defined __linux__ || defined(__Fuchsia__)
         //returns number of BOs for indicated TTs = NumNodePoolElements+1 BOs for root table and pools
         GMM_VIRTUAL int GetNumOfPageTableBOs(uint8_t TTFlags);
         //returns BO* list for indicated TT in client allocated memory
diff --git a/Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h b/Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h
index c50ac11..6d590e4 100644
--- a/Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h
+++ b/Source/GmmLib/inc/External/Common/GmmResourceInfoExt.h
@@ -181,7 +181,7 @@
 // TBD - Place holder for GMM_RESOURCE_FLAG definition.
 //---------------------------------------------------------------------------
 #include "GmmResourceFlags.h"
-#if defined __linux__
+#if defined __linux__ || defined(__Fuchsia__)
     #include "External/Linux/GmmResourceInfoLinExt.h"
 #endif
 
diff --git a/Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h b/Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h
index 20d3b95..cca8990 100644
--- a/Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h
+++ b/Source/GmmLib/inc/External/Linux/GmmResourceInfoLinExt.h
@@ -21,7 +21,7 @@
 ============================================================================*/
 #pragma once
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__Fuchsia__)
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/Source/GmmLib/inc/Internal/Common/Texture/GmmTextureCalc.h b/Source/GmmLib/inc/Internal/Common/Texture/GmmTextureCalc.h
index e29f113..4a52322 100644
--- a/Source/GmmLib/inc/Internal/Common/Texture/GmmTextureCalc.h
+++ b/Source/GmmLib/inc/Internal/Common/Texture/GmmTextureCalc.h
@@ -176,7 +176,7 @@
             {
                 #if defined(__GMM_KMD__) || _WIN32
                     InterlockedIncrement((LONG *)&RefCount);
-                #elif defined(__linux__)
+                #elif defined(__linux__) || defined(__Fuchsia__)
                     __sync_fetch_and_add(&RefCount, 1);
                 #endif
                     //TODO[Android]
@@ -186,7 +186,7 @@
             {
                 #if defined(__GMM_KMD__) || _WIN32
                     return(InterlockedDecrement((LONG *)&RefCount));
-                #elif defined(__linux__)
+                #elif defined(__linux__) || defined(__Fuchsia__)
                     return(__sync_sub_and_fetch(&RefCount, 1));
                 #endif
                     //TODO[Android]
diff --git a/Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h b/Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h
index 750d537..9545e6c 100644
--- a/Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h
+++ b/Source/GmmLib/inc/Internal/Linux/GmmResourceInfoLinInt.h
@@ -22,7 +22,7 @@
 
 #pragma once
 
-#if defined(__linux__) && !LHDM
+#if (defined(__linux__) || defined(__Fuchsia__)) && !LHDM
 
 // GMM Lib Client Exports
 #include "External/Common/GmmCommonExt.h"
