Skip to content

Commit 0285172

Browse files
authored
platform/windows_x64: update container image and toolchain for wrapper (#244)
The Windows MSVC toolchain now invokes a wrapper binary when compiling instead of cl.exe. The wrapper binary invokes cl.exe with all arguments but filters /showincludes output, removing EngFlow execroot paths. For example, the line: Note: including file: C:\worker\work\2\exec\cpp\hello.h is replaced with: Note: including file: cpp\hello.h This is a workaround for bazelbuild/bazel#19733. Bazel invokes the compiler with /showincludes to dump all included headers in order to validate them. It strips anything that looks like a local execroot directory followed by the workspace name before performing that validation. EngFlow execroot directories don't look like local execroot directories though. We also don't know Bazel's workspace name, so we can't work around this issue on the server side. Using a wrapper like this instead makes the CppCompile action slightly more hermetic by filtering out those absolute paths. For linear/CUS-81 We'll open source this wrapper tool in a follow-up. Also: change line endings in cpp/main.cc to be LF instead of CRLF.
1 parent 17cb4f3 commit 0285172

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

cpp/main.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#include <iostream>
2-
#include "cpp/hello.h"
3-
4-
int main() {
5-
std::cout << hello() << std::endl;
6-
return 0;
7-
}
1+
#include <iostream>
2+
#include "cpp/hello.h"
3+
4+
int main() {
5+
std::cout << hello() << std::endl;
6+
return 0;
7+
}

platform/windows_x64/BUILD

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ platform(
1313
"@io_bazel_rules_dotnet//dotnet/toolchain:6.0.101",
1414
],
1515
exec_properties = {
16-
"container-image": "docker://645088952840.dkr.ecr.eu-west-1.amazonaws.com/engflow-re/windows-x64:engflow_worker@sha256:bb3d3e9d908f1cfcefdf74b553f210eab5c4f46b8812aa91b6d971c016f23cfa",
16+
"container-image": "docker://645088952840.dkr.ecr.eu-west-1.amazonaws.com/engflow-re/windows-x64:engflow_worker@sha256:47f826fcffd6eee8241e31d1fba044061e1cf5f35d53184a850d54282aecf956",
1717
"Pool": "windows",
1818
},
1919
)
@@ -76,7 +76,7 @@ cc_toolchain_config(
7676
default_link_flags = ["/MACHINE:X64"],
7777
fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
7878
host_system_name = "local",
79-
msvc_cl_path = "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
79+
msvc_cl_path = "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
8080
msvc_env_include = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt",
8181
msvc_env_lib = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64",
8282
msvc_env_path = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\devinit;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.19041.0\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\\\MSBuild\\Current\\Bin;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\Tools\\;;C:\\Windows\\system32;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja",
@@ -89,8 +89,8 @@ cc_toolchain_config(
8989
tool_paths = {
9090
"ar": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/lib.exe",
9191
"ml": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/ml64.exe",
92-
"cpp": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
93-
"gcc": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
92+
"cpp": "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
93+
"gcc": "C:/Program Files/engflow/bin/msvc_filter_showincludes.exe",
9494
"gcov": "wrapper/bin/msvc_nop.bat",
9595
"ld": "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/link.exe",
9696
"nm": "wrapper/bin/msvc_nop.bat",

0 commit comments

Comments
 (0)