fix-clang-path-and-build

===================================================================

Gbp-Pq: Name fix-clang-path-and-build.diff
This commit is contained in:
LLVM Packaging Team 2022-06-27 14:58:43 +08:00 committed by Lu zhiping
parent 2452ec642a
commit e868a2ffff
1 changed files with 13 additions and 2 deletions

View File

@ -12,6 +12,7 @@
#include "Arch/PPC.h"
#include "Arch/RISCV.h"
#include "CommonArgs.h"
#include "clang/Basic/Version.h"
#include "clang/Config/config.h"
#include "clang/Driver/Distro.h"
#include "clang/Driver/Driver.h"
@ -661,8 +662,18 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
SmallString<128> ResourceDirInclude(D.ResourceDir);
llvm::sys::path::append(ResourceDirInclude, "include");
if (!DriverArgs.hasArg(options::OPT_nobuiltininc) &&
(!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc)))
addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
(!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) {
if (llvm::sys::fs::exists(ResourceDirInclude)) {
/* Include the build include directory only
* Otherwise, it fails with stage2 when clang headers are available on the system
* they usually fail because of the include_next. Two llvm/clang headers are found
* while we are waiting for the lib C++ (std or not)
*/
addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
} else {
addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/");
}
}
if (DriverArgs.hasArg(options::OPT_nostdlibinc))
return;