diff options
author | Ekaterina Romanova <katya_romanova@playstation.sony.com> | 2015-10-14 01:09:02 +0000 |
---|---|---|
committer | Ekaterina Romanova <katya_romanova@playstation.sony.com> | 2015-10-14 01:09:02 +0000 |
commit | ae50156fbf658b08147f359c4639a7e23fd0b42b (patch) | |
tree | fbe4f535c8e2edebcdeb2a7ccea018e7c3e4d560 /clang/lib/Frontend/InitHeaderSearch.cpp | |
parent | 29ada6d178890d843133fd67300b96427951086a (diff) | |
download | bcm5719-llvm-ae50156fbf658b08147f359c4639a7e23fd0b42b.tar.gz bcm5719-llvm-ae50156fbf658b08147f359c4639a7e23fd0b42b.zip |
I took care of the build problem in the commit 250252.
Resubmitting the patch.
This patch adds missing pieces to clang, including the PS4 toolchain
definition, added warnings, PS4 defaults, and Driver changes needed for
our compiler.
A patch by Filipe Cabecinhas, Pierre Gousseau and Katya Romanova!
Differential Revision: http://reviews.llvm.org/D13482
llvm-svn: 250262
Diffstat (limited to 'clang/lib/Frontend/InitHeaderSearch.cpp')
-rw-r--r-- | clang/lib/Frontend/InitHeaderSearch.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp index 3c4aed12b13..1de46271d19 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Frontend/InitHeaderSearch.cpp @@ -215,6 +215,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, case llvm::Triple::OpenBSD: case llvm::Triple::Bitrig: case llvm::Triple::NaCl: + case llvm::Triple::PS4: break; case llvm::Triple::Win32: if (triple.getEnvironment() != llvm::Triple::Cygnus) @@ -318,6 +319,28 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, case llvm::Triple::RTEMS: case llvm::Triple::NaCl: break; + case llvm::Triple::PS4: { + // <isysroot> gets prepended later in AddPath(). + std::string BaseSDKPath = ""; + if (!HasSysroot) { + const char *envValue = getenv("SCE_PS4_SDK_DIR"); + if (envValue) + BaseSDKPath = envValue; + else { + // HSOpts.ResourceDir variable contains the location of Clang's + // resource files. + // Assuming that Clang is configured for PS4 without + // --with-clang-resource-dir option, the location of Clang's resource + // files is <SDK_DIR>/host_tools/lib/clang + SmallString<128> P = StringRef(HSOpts.ResourceDir); + llvm::sys::path::append(P, "../../.."); + BaseSDKPath = P.str(); + } + } + AddPath(BaseSDKPath + "/target/include", System, false); + if (triple.isPS4CPU()) + AddPath(BaseSDKPath + "/target/include_common", System, false); + } default: AddPath("/usr/include", ExternCSystem, false); break; |