From e776b8b57b7381e52153caacdb64c80867bfc45a Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Thu, 3 May 2018 01:38:49 +0000 Subject: [PATCH] [Support] Support building LLVM for Fuchsia These are necessary changes to support building LLVM for Fuchsia. While these are not sufficient to run on Fuchsia, they are still useful when cross-compiling LLVM libraries and runtimes for Fuchsia. Differential Revision: https://reviews.llvm.org/D46345 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331423 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/HandleLLVMOptions.cmake | 6 +++--- lib/Support/Unix/Path.inc | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 86ce0bbcfd0..66ccebddbdc 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -115,7 +115,7 @@ if(WIN32) set(LLVM_ON_UNIX 0) endif(CYGWIN) else(WIN32) - if(UNIX) + if(FUCHSIA OR UNIX) set(LLVM_ON_WIN32 0) set(LLVM_ON_UNIX 1) if(APPLE OR ${CMAKE_SYSTEM_NAME} MATCHES "AIX") @@ -123,9 +123,9 @@ else(WIN32) else() set(LLVM_HAVE_LINK_VERSION_SCRIPT 1) endif() - else(UNIX) + else(FUCHSIA OR UNIX) MESSAGE(SEND_ERROR "Unable to determine platform") - endif(UNIX) + endif(FUCHSIA OR UNIX) endif(WIN32) set(EXEEXT ${CMAKE_EXECUTABLE_SUFFIX}) diff --git a/lib/Support/Unix/Path.inc b/lib/Support/Unix/Path.inc index 9bd8cca3738..f9778321dd2 100644 --- a/lib/Support/Unix/Path.inc +++ b/lib/Support/Unix/Path.inc @@ -365,6 +365,9 @@ static bool is_local_impl(struct STATVFS &Vfs) { #elif defined(__CYGWIN__) // Cygwin doesn't expose this information; would need to use Win32 API. return false; +#elif defined(__Fuchsia__) + // Fuchsia doesn't yet support remote filesystem mounts. + return true; #elif defined(__sun) // statvfs::f_basetype contains a null-terminated FSType name of the mounted target StringRef fstype(Vfs.f_basetype);