Relax Linux checks for the code works on any non-Windows platform.

CMake Error at IGC/CMakeLists.txt:1974 (message):
  IGC_OPTION__ARCHITECTURE_TARGET: Target architecture is not specified and
  cannot be deduced from context.

  Please specify one, e.g.  Windows32, Linux64, Android32, ...

--- IGC/CMakeLists.txt.orig	2019-11-27 01:05:20 UTC
+++ IGC/CMakeLists.txt
@@ -834,11 +834,11 @@ function(igc_arch_detect targetArchVarName hostArchVar
       set(_targetArchitecture "Windows32")
     endif()
   # Use system processor set by toolchain or CMake.
-  elseif(ANDROID OR (CMAKE_SYSTEM_NAME MATCHES "Linux")
+  elseif(ANDROID OR (UNIX AND NOT APPLE)
       )
     if(ANDROID)
       set(_targetArchOS "Android")
-    elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+    elseif(UNIX AND NOT APPLE)
       set(_targetArchOS "Linux")
     endif()
 
@@ -865,9 +865,9 @@ function(igc_arch_detect targetArchVarName hostArchVar
       set(_hostArchitecture "Windows32")
     endif()
   # Use 'uname -m' to detect kernel architecture.
-  elseif((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+  elseif((UNIX AND NOT APPLE)
       )
-    if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
+    if(UNIX AND NOT APPLE)
       set(_hostArchOS "Linux")
     endif()
 
@@ -2171,7 +2171,7 @@ endif()
 
 # NOTE: LLVM_ON_UNIX is also true for Android (CMAKE_SYSTEM_NAME specified by Android toolchain file is also "Linux",
 # but we should make sure so there is no errors in our assumptions).
-if((CMAKE_SYSTEM_NAME MATCHES "Linux") OR ANDROID)
+if((UNIX AND NOT APPLE) OR ANDROID)
   set(LLVM_ON_UNIX ON)
 else()
   set(LLVM_ON_UNIX OFF)
--- 3d/common/iStdLib/File.h.orig	2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/File.h
@@ -105,12 +105,9 @@ inline DWORD GetModuleFileName( char* pFileName, DWORD
 #elif defined(ISTDLIB_UMD)
     #if defined(_WIN32)
         return ::GetModuleFileNameA( NULL, pFileName, bufSize );
-    #elif defined(__linux__)
+    #else
         //TODO: add Linux implementation.
         return 0;
-    #else
-        // TO DO: replace with non-Windows version
-        #error "TODO implement non-Windows equivalent of GetModuleFileName"
     #endif
 #else
     // this compilation path is not intended
--- 3d/common/iStdLib/Object.h.orig	2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/Object.h
@@ -150,7 +150,7 @@ inline long CObject<CAllocatorType>::Acquire( void )
     ASSERT( m_RefCount >= 0 );
     ASSERT( m_RefCount < LONG_MAX );
 
-#if defined(ISTDLIB_MT) && defined(__linux__)
+#if defined(ISTDLIB_MT) && defined(__GNUC__)
     __sync_fetch_and_add(&m_RefCount, 1);
 #elif defined(ISTDLIB_MT)
     ::InterlockedIncrement(&m_RefCount);
@@ -182,7 +182,7 @@ inline long CObject<CAllocatorType>::Release( void )
 {
     ASSERT( m_RefCount > 0 );
 
-#if defined(ISTDLIB_MT) && defined(__linux__)
+#if defined(ISTDLIB_MT) && defined(__GNUC__)
     __sync_sub_and_fetch(&m_RefCount, 1);
 #elif defined(ISTDLIB_MT)
     ::InterlockedDecrement(&m_RefCount);
--- 3d/common/iStdLib/utility.h.orig	2019-11-27 01:05:20 UTC
+++ 3d/common/iStdLib/utility.h
@@ -431,7 +431,7 @@ __forceinline DWORD bsr64( const unsigned long long in
     _BitScanReverse64( &index, static_cast<_int64>( mask ) );
     return static_cast<DWORD>( index );
 
-#elif defined __linux__
+#elif defined __GNUC__
     return static_cast<unsigned int>( 63 - __builtin_clzll( mask ) );
 
 #else
@@ -464,7 +464,7 @@ __forceinline DWORD bsr( const DWORD mask )
     _BitScanReverse( &index, mask );
     return static_cast<DWORD>(index);
 
-#elif defined __linux__
+#elif defined __GNUC__
     return static_cast<unsigned int>( 31 - __builtin_clz( mask ) );
 
 #else
@@ -497,7 +497,7 @@ __forceinline DWORD bsf64( const unsigned long long in
     _BitScanForward64( &index, static_cast<_int64>( mask ) );
     return static_cast<DWORD>( index );
 
-#elif defined __linux__
+#elif defined __GNUC__
     return static_cast<unsigned int>( __builtin_ffsll( mask ) - 1 );
 
 #else
@@ -529,7 +529,7 @@ __forceinline DWORD bsf( const DWORD mask )
     _BitScanForward( &index, mask );
     return index;
 
-#elif defined __linux__
+#elif defined __GNUC__
     return static_cast<unsigned int>( __builtin_ffsl( mask ) - 1 );
 
 #else
--- IGC/AdaptorCommon/customApi.cpp.orig	2019-11-27 01:05:20 UTC
+++ IGC/AdaptorCommon/customApi.cpp
@@ -457,7 +457,7 @@ namespace IGC
                 return "";
             IGCBaseFolder = "/sdcard/intel/igc/";
 
-#elif defined __linux__
+#elif !defined __APPLE__
         if (!IGC_IS_FLAG_ENABLED(DumpToCustomDir))
         {
             IGCBaseFolder = "/tmp/IntelIGC/";
@@ -560,7 +560,7 @@ namespace IGC
 
                 g_shaderOutputFolder = "";
 
-#elif defined __linux__
+#elif !defined __APPLE__
             if (!IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !IGC_IS_FLAG_ENABLED(DumpToCustomDir))
             {
                 bool needMkdir = false;
--- IGC/AdaptorOCL/CLElfLib/CLElfTypes.h.orig	2020-05-19 05:44:04 UTC
+++ IGC/AdaptorOCL/CLElfLib/CLElfTypes.h
@@ -30,7 +30,7 @@ Abstract:  Defines the types used for ELF headers/sect
 \******************************************************************************/
 #pragma once
 
-#if defined(__linux__) && defined(OGL)
+#if !defined(__APPLE__) && !defined(_WIN32) && defined(OGL)
     #include "os_inc.h"
 #endif
 
--- IGC/AdaptorOCL/DriverInfoOCL.hpp.orig	2020-02-22 05:52:18 UTC
+++ IGC/AdaptorOCL/DriverInfoOCL.hpp
@@ -71,7 +71,7 @@ namespace TC
         bool supportsStatelessSpacePrivateMemory() const override { return true; }
 
         bool NeedFP64(PRODUCT_FAMILY productFamily) const override {
-#if defined(__linux__)
+#if !defined(__APPLE__) && !defined(_WIN32)
           if (IGC_IS_FLAG_ENABLED(EnableDPEmulation)) {
               return true;
           }
--- IGC/GenISAIntrinsics/GenIntrinsics.h.orig	2020-02-10 06:06:31 UTC
+++ IGC/GenISAIntrinsics/GenIntrinsics.h
@@ -67,7 +67,7 @@ namespace GenISAIntrinsic {
   /// Thus the type array should two elements:
   ///    Type Ts[2]{int2, int2}: to resolve to the first instance.
   ///    Type Ts[2]{int4, int4}: to resolve to the second.
-#if defined(ANDROID) || defined(__linux__)
+#if defined(__GNUC__)
   __attribute__ ((visibility ("default"))) Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> OverloadedTys = None);
 #else
   Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> OverloadedTys = None);
--- IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp.orig	2019-11-27 01:05:20 UTC
+++ IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
@@ -65,9 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #if defined(_WIN32 )|| defined( _WIN64 )
 #include <direct.h>
 #include <process.h>
-#endif
-
-#if defined __linux__
+#elif !defined(__APPLE__)
 #include "iStdLib/File.h"
 #endif
 
@@ -311,7 +309,7 @@ namespace FCL
 
             IGCBaseFolder = pathBuf;
         }
-#elif defined __linux__
+#elif !defined(__APPLE__)
         if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir))
         {
             IGCBaseFolder = "/tmp/IntelIGC/";
@@ -387,7 +385,7 @@ namespace FCL
             iSTD::CreateAppOutputDir(pathBuf, 256, GetBaseIGCOutputFolder(), false, true, !FCL_IGC_IS_FLAG_ENABLED(ShaderDumpPidDisable));
             g_shaderOutputFolder = pathBuf;
         }
-#elif defined __linux__
+#elif !defined(__APPLE__)
         if (!FCL_IGC_IS_FLAG_ENABLED(DumpToCurrentDir) && g_shaderOutputFolder == "" && !FCL_IGC_IS_FLAG_ENABLED(DumpToCustomDir))
         {
             bool needMkdir = true;
--- IGC/VectorCompiler/lib/GenXCodeGen/SPIRVWrapper.cpp.orig	2021-03-08 06:23:56 UTC
+++ IGC/VectorCompiler/lib/GenXCodeGen/SPIRVWrapper.cpp
@@ -48,7 +48,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "llvm/Support/DynamicLibrary.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/Process.h"
-#if defined(__linux__)
+#if !defined(_WIN32)
 #include <dlfcn.h>
 #endif // __linux__
 #if defined(_WIN32)
@@ -172,7 +172,7 @@ Expected<SpirvReadVerifyType *> getSpirvReadVerifyFunc
   constexpr char *SpirvReadVerifyName = "spirv_read_verify_module";
 
   const std::string SpirvLibPath = findSpirvDLL();
-#if defined(__linux__)
+#if defined(RTLD_DEEPBIND)
   // Hack to workaround cmoc crashes during loading of SPIRV library
   static auto DeepBindHack =
       dlopen(SpirvLibPath.c_str(), RTLD_NOW | RTLD_DEEPBIND);
--- IGC/common/LLVMWarningsPop.hpp.orig	2019-11-27 01:05:20 UTC
+++ IGC/common/LLVMWarningsPop.hpp
@@ -58,6 +58,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #   pragma  warning( pop )
 #endif
 
-#if defined(__linux__)
+#if defined(__GNUC__)
 #   pragma GCC diagnostic pop
 #endif
--- IGC/common/LLVMWarningsPush.hpp.orig	2020-09-16 10:27:28 UTC
+++ IGC/common/LLVMWarningsPush.hpp
@@ -55,7 +55,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #   pragma warning( push )
 #endif
 
-#if defined(__linux__)
+#if defined(__GNUC__)
 #   pragma GCC diagnostic push
 #   if __GNUC__ > 8
 #       pragma GCC diagnostic ignored "-Winit-list-lifetime"
--- IGC/common/Stats.cpp.orig	2021-03-22 09:55:24 UTC
+++ IGC/common/Stats.cpp
@@ -1061,7 +1061,7 @@ void TimeStats::printTimeCSV( std::string const& corpu
     else
         subFile += IGC::Debug::GetShaderCorpusName();
     const std::string outputFilePath = 
-#if defined(__linux__)
+#if !defined(_WIN32)
     subFile + ".csv";
 #else
     std::string("c:\\Intel\\") + subFile + ".csv";
--- IGC/common/igc_regkeys.hpp.orig	2019-11-27 01:05:20 UTC
+++ IGC/common/igc_regkeys.hpp
@@ -39,7 +39,7 @@ typedef char debugString[256];
 #define IGC_DEBUG_VARIABLES
 #endif
 
-#if defined( __linux__ )
+#if !defined( __APPLE__ ) && !defined( _WIN32 )
 #define IGC_DEBUG_VARIABLES
 #endif
 
@@ -67,7 +67,7 @@ struct SRegKeyVariableMetaData
     }
 };
 
-#if defined ( __linux__ ) && !defined( _DEBUG ) && !defined( _INTERNAL )
+#if !defined ( _WIN32 ) && !defined( _DEBUG ) && !defined( _INTERNAL )
 #define LINUX_RELEASE_MODE
 #endif
 
--- visa/BuildCISAIRImpl.cpp.orig	2020-09-16 10:27:28 UTC
+++ visa/BuildCISAIRImpl.cpp
@@ -576,7 +576,6 @@ extern void CISA_delete_buffer(YY_BUFFER_STATE buf);
 
 int CISA_IR_Builder::ParseVISAText(const std::string& visaHeader, const std::string& visaText, const std::string& visaTextFile)
 {
-#if defined(__linux__) || defined(_WIN64) || defined(_WIN32)
     // Direct output of parser to null
 #if defined(_WIN64) || defined(_WIN32)
     CISAout = fopen("nul", "w");
@@ -627,16 +626,11 @@ int CISA_IR_Builder::ParseVISAText(const std::string& 
     }
 
     return status;
-#else
-    assert(0 && "vISA asm parsing not supported on this platform");
-    return VISA_FAILURE;
-#endif
 }
 
 // Parses inline asm file from ShaderOverride
 int CISA_IR_Builder::ParseVISAText(const std::string& visaFile)
 {
-#if defined(__linux__) || defined(_WIN64) || defined(_WIN32)
     // Direct output of parser to null
 #if defined(_WIN64) || defined(_WIN32)
     CISAout = fopen("nul", "w");
@@ -662,10 +656,6 @@ int CISA_IR_Builder::ParseVISAText(const std::string& 
         fclose(CISAout);
     }
     return VISA_SUCCESS;
-#else
-    assert(0 && "Asm parsing not supported on this platform");
-    return VISA_FAILURE;
-#endif
 }
 
 // default size of the kernel mem manager in bytes
