forked from OSchip/llvm-project
[msvc] Honor %INCLUDE%. It should know essential search paths with vcvarsall.bat.
FYI, On VS10, %INCLUDE% contains; (VS10)\VC\INCLUDE (VS10)\VC\ATLMFC\INCLUDE (SDK70A)\include On VS11, (VS11)\VC\INCLUDE (VS11)\VC\ATLMFC\INCLUDE (SDK80)\include\shared (SDK80)\include\um (SDK80)\include\winrt FIXME: It may be enabled also on mingw. llvm-svn: 152589
This commit is contained in:
parent
c114e0cf3c
commit
b5ee8a6deb
|
@ -318,10 +318,26 @@ void Windows::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|||
if (DriverArgs.hasArg(options::OPT_nostdlibinc))
|
||||
return;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// Honor %INCLUDE%. It should know essential search paths with vcvarsall.bat.
|
||||
if (const char *cl_include_dir = getenv("INCLUDE")) {
|
||||
SmallVector<StringRef, 8> Dirs;
|
||||
StringRef(cl_include_dir).split(Dirs, ";");
|
||||
int n = 0;
|
||||
for (SmallVectorImpl<StringRef>::iterator I = Dirs.begin(), E = Dirs.end();
|
||||
I != E; ++I) {
|
||||
StringRef d = *I;
|
||||
if (d.size() == 0)
|
||||
continue;
|
||||
++n;
|
||||
addSystemInclude(DriverArgs, CC1Args, d);
|
||||
}
|
||||
if (n) return;
|
||||
}
|
||||
|
||||
std::string VSDir;
|
||||
std::string WindowsSDKDir;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// When built with access to the proper Windows APIs, try to actually find
|
||||
// the correct include paths first.
|
||||
if (getVisualStudioDir(VSDir)) {
|
||||
|
|
Loading…
Reference in New Issue