mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1412952
- Loosen clang's MSVC detection to accept our automation's fake paths. r=froydnj
In a proper VS install, the path to cl.exe looks like: ...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe In our automation, the path is just: ...\VC\bin\HostX64\x64\cl.exe Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
This commit is contained in:
parent
a70dbf7123
commit
b7a86dd2b5
@ -10,5 +10,8 @@
|
||||
"libcxx_repo": "https://llvm.org/svn/llvm-project/libcxx/trunk",
|
||||
"python_path": "c:/mozilla-build/python/python.exe",
|
||||
"cc": "cl.exe",
|
||||
"cxx": "cl.exe"
|
||||
"cxx": "cl.exe",
|
||||
"patches": [
|
||||
"build/src/build/build-clang/loosen-msvc-detection.patch"
|
||||
]
|
||||
}
|
||||
|
@ -11,5 +11,8 @@
|
||||
"python_path": "c:/mozilla-build/python/python.exe",
|
||||
"cc": "cl.exe",
|
||||
"cxx": "cl.exe",
|
||||
"ml": "ml64.exe"
|
||||
"ml": "ml64.exe",
|
||||
"patches": [
|
||||
"build/src/build/build-clang/loosen-msvc-detection.patch"
|
||||
]
|
||||
}
|
||||
|
22
build/build-clang/loosen-msvc-detection.patch
Normal file
22
build/build-clang/loosen-msvc-detection.patch
Normal file
@ -0,0 +1,22 @@
|
||||
In a proper VS install, the path to cl.exe looks like:
|
||||
...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe
|
||||
|
||||
In our automation, the path is just:
|
||||
...\VC\bin\HostX64\x64\cl.exe
|
||||
|
||||
Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp
|
||||
index 7978a6941cb..0159e89fa27 100644
|
||||
--- a/clang/lib/Driver/ToolChains/MSVC.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/MSVC.cpp
|
||||
@@ -152,8 +152,7 @@ static bool findVCToolChainViaEnvironment(std::string &Path,
|
||||
// path components with these prefixes when walking backwards through
|
||||
// the path.
|
||||
// Note: empty strings match anything.
|
||||
- llvm::StringRef ExpectedPrefixes[] = {"", "Host", "bin", "",
|
||||
- "MSVC", "Tools", "VC"};
|
||||
+ llvm::StringRef ExpectedPrefixes[] = {"", "Host", "bin"};
|
||||
|
||||
auto It = llvm::sys::path::rbegin(PathEntry);
|
||||
auto End = llvm::sys::path::rend(PathEntry);
|
Loading…
Reference in New Issue
Block a user