forked from OSchip/llvm-project
Fix up default header paths for CloudABI.
CloudABI is a pure cross compilation target. This means that we should not add /usr/include and /usr/local/include. Instead, headers are stored in $sysroot/$triple/include. The method of going back to the sysroot (by using "../../..") is also used in this function for some of the other environments (e.g., MinGW). llvm-svn: 231913
This commit is contained in:
parent
f33c607c0a
commit
2b60d1eee5
|
@ -227,6 +227,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
|||
|
||||
if (HSOpts.UseStandardSystemIncludes) {
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
case llvm::Triple::FreeBSD:
|
||||
case llvm::Triple::NetBSD:
|
||||
case llvm::Triple::OpenBSD:
|
||||
|
@ -270,6 +271,14 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
|||
case llvm::Triple::Linux:
|
||||
llvm_unreachable("Include management is handled in the driver.");
|
||||
|
||||
case llvm::Triple::CloudABI: {
|
||||
// <sysroot>/<triple>/include
|
||||
SmallString<128> P = StringRef(HSOpts.ResourceDir);
|
||||
llvm::sys::path::append(P, "../../..", triple.str(), "include");
|
||||
AddPath(P.str(), System, false);
|
||||
break;
|
||||
}
|
||||
|
||||
case llvm::Triple::Haiku:
|
||||
AddPath("/boot/common/include", System, false);
|
||||
AddPath("/boot/develop/headers/os", System, false);
|
||||
|
@ -340,8 +349,14 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
|||
break;
|
||||
}
|
||||
|
||||
if ( os != llvm::Triple::RTEMS )
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
case llvm::Triple::RTEMS:
|
||||
break;
|
||||
default:
|
||||
AddPath("/usr/include", ExternCSystem, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void InitHeaderSearch::
|
||||
|
|
Loading…
Reference in New Issue