1*6777b538SAndroid Build Coastguard Worker# -*- bazel-starlark -*- 2*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 5*6777b538SAndroid Build Coastguard Worker"""Siso configuration for clang-cl/windows.""" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerload("@builtin//encoding.star", "json") 8*6777b538SAndroid Build Coastguard Workerload("@builtin//path.star", "path") 9*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 10*6777b538SAndroid Build Coastguard Workerload("./clang_all.star", "clang_all") 11*6777b538SAndroid Build Coastguard Workerload("./clang_code_coverage_wrapper.star", "clang_code_coverage_wrapper") 12*6777b538SAndroid Build Coastguard Workerload("./rewrapper_cfg.star", "rewrapper_cfg") 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Workerdef __win_toolchain_dir(ctx): 15*6777b538SAndroid Build Coastguard Worker # build/win_toolchain.json may not exist when 16*6777b538SAndroid Build Coastguard Worker # $env:DEPOT_TOOLS_WIN_TOOLCHAIN=0 or so. 17*6777b538SAndroid Build Coastguard Worker if not ctx.fs.exists("build/win_toolchain.json"): 18*6777b538SAndroid Build Coastguard Worker return None 19*6777b538SAndroid Build Coastguard Worker data = json.decode(str(ctx.fs.read("build/win_toolchain.json"))) 20*6777b538SAndroid Build Coastguard Worker if "path" in data: 21*6777b538SAndroid Build Coastguard Worker return ctx.fs.canonpath(data["path"]) 22*6777b538SAndroid Build Coastguard Worker return None 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx): 25*6777b538SAndroid Build Coastguard Worker win_toolchain_dir = __win_toolchain_dir(ctx) 26*6777b538SAndroid Build Coastguard Worker fg = {} 27*6777b538SAndroid Build Coastguard Worker if win_toolchain_dir: 28*6777b538SAndroid Build Coastguard Worker fg.update({ 29*6777b538SAndroid Build Coastguard Worker # for precomputed subtree 30*6777b538SAndroid Build Coastguard Worker win_toolchain_dir + ":headers-ci": { 31*6777b538SAndroid Build Coastguard Worker "type": "glob", 32*6777b538SAndroid Build Coastguard Worker "includes": [ 33*6777b538SAndroid Build Coastguard Worker "*.h", 34*6777b538SAndroid Build Coastguard Worker "*.inl", 35*6777b538SAndroid Build Coastguard Worker "*.H", 36*6777b538SAndroid Build Coastguard Worker "*.Hxx", 37*6777b538SAndroid Build Coastguard Worker "*.hxx", 38*6777b538SAndroid Build Coastguard Worker "*.hpp", 39*6777b538SAndroid Build Coastguard Worker "VC/Tools/MSVC/*/include/*", 40*6777b538SAndroid Build Coastguard Worker "VC/Tools/MSVC/*/include/*/*", 41*6777b538SAndroid Build Coastguard Worker ], 42*6777b538SAndroid Build Coastguard Worker }, 43*6777b538SAndroid Build Coastguard Worker }) 44*6777b538SAndroid Build Coastguard Worker fg.update(clang_all.filegroups(ctx)) 45*6777b538SAndroid Build Coastguard Worker return fg 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Workerdef __clang_compile_coverage(ctx, cmd): 48*6777b538SAndroid Build Coastguard Worker clang_command = clang_code_coverage_wrapper.run(ctx, list(cmd.args)) 49*6777b538SAndroid Build Coastguard Worker ctx.actions.fix(args = clang_command) 50*6777b538SAndroid Build Coastguard Worker 51*6777b538SAndroid Build Coastguard Worker__handlers = { 52*6777b538SAndroid Build Coastguard Worker "clang_compile_coverage": __clang_compile_coverage, 53*6777b538SAndroid Build Coastguard Worker} 54*6777b538SAndroid Build Coastguard Worker 55*6777b538SAndroid Build Coastguard Workerdef __step_config(ctx, step_config): 56*6777b538SAndroid Build Coastguard Worker cfg = "buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_windows.cfg" 57*6777b538SAndroid Build Coastguard Worker if ctx.fs.exists(cfg): 58*6777b538SAndroid Build Coastguard Worker reproxy_config = rewrapper_cfg.parse(ctx, cfg) 59*6777b538SAndroid Build Coastguard Worker largePlatform = {} 60*6777b538SAndroid Build Coastguard Worker for k, v in reproxy_config["platform"].items(): 61*6777b538SAndroid Build Coastguard Worker if k.startswith("label:action"): 62*6777b538SAndroid Build Coastguard Worker continue 63*6777b538SAndroid Build Coastguard Worker largePlatform[k] = v 64*6777b538SAndroid Build Coastguard Worker largePlatform["label:action_large"] = "1" 65*6777b538SAndroid Build Coastguard Worker step_config["platforms"].update({ 66*6777b538SAndroid Build Coastguard Worker "clang-cl": reproxy_config["platform"], 67*6777b538SAndroid Build Coastguard Worker "clang-cl_large": largePlatform, 68*6777b538SAndroid Build Coastguard Worker }) 69*6777b538SAndroid Build Coastguard Worker step_config["input_deps"].update(clang_all.input_deps) 70*6777b538SAndroid Build Coastguard Worker 71*6777b538SAndroid Build Coastguard Worker # when win_toolchain_dir is unknown (e.g. 72*6777b538SAndroid Build Coastguard Worker # missing build/win_toolchain.json), we can't run 73*6777b538SAndroid Build Coastguard Worker # clang-cl remotely as we can find sysroot files 74*6777b538SAndroid Build Coastguard Worker # under exec_root, so just run locally. 75*6777b538SAndroid Build Coastguard Worker remote = False 76*6777b538SAndroid Build Coastguard Worker win_toolchain_dir = __win_toolchain_dir(ctx) 77*6777b538SAndroid Build Coastguard Worker if win_toolchain_dir: 78*6777b538SAndroid Build Coastguard Worker if reproxy_config["platform"]["OSFamily"] == "Windows": 79*6777b538SAndroid Build Coastguard Worker step_config["input_deps"].update({ 80*6777b538SAndroid Build Coastguard Worker win_toolchain_dir + ":headers": [ 81*6777b538SAndroid Build Coastguard Worker win_toolchain_dir + ":headers-ci", 82*6777b538SAndroid Build Coastguard Worker ], 83*6777b538SAndroid Build Coastguard Worker }) 84*6777b538SAndroid Build Coastguard Worker else: 85*6777b538SAndroid Build Coastguard Worker step_config["input_deps"].update({ 86*6777b538SAndroid Build Coastguard Worker win_toolchain_dir + ":headers": [ 87*6777b538SAndroid Build Coastguard Worker win_toolchain_dir + ":headers-ci", 88*6777b538SAndroid Build Coastguard Worker # third_party/libc++ includes "DeplayIMP.h" 89*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "VC/Tools/MSVC/14.34.31933/include/DelayIMP.h"), 90*6777b538SAndroid Build Coastguard Worker # third_party/abseil-cpp includes "dbghelp.h" 91*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/dbghelp.h"), 92*6777b538SAndroid Build Coastguard Worker # third_party/abseil-cpp includes "aclapi.h" 93*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/aclapi.h"), 94*6777b538SAndroid Build Coastguard Worker # base/debug includes "psapi.h" 95*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/psapi.h"), 96*6777b538SAndroid Build Coastguard Worker # base/process includes "tlhelp32.h" 97*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/tlhelp32.h"), 98*6777b538SAndroid Build Coastguard Worker # base/process includes "userenv.h" 99*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/userenv.h"), 100*6777b538SAndroid Build Coastguard Worker # base includes "shlobj.h" 101*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/shlobj.h"), 102*6777b538SAndroid Build Coastguard Worker # base/win includes "lm.h" 103*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/lm.h"), 104*6777b538SAndroid Build Coastguard Worker # base/win includes "mdmregistration.h" 105*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/mdmregistration.h"), 106*6777b538SAndroid Build Coastguard Worker # base/win includes "shellscalingapi.h" 107*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/shellscalingapi.h"), 108*6777b538SAndroid Build Coastguard Worker # base/win includes "uiviewsettingsinterop.h" 109*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/uiviewsettingsinterop.h"), 110*6777b538SAndroid Build Coastguard Worker # native_client/src/shared/platform/win includes "WinError.h" 111*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/shared/WinError.h"), 112*6777b538SAndroid Build Coastguard Worker # third_party/webrtc/rtc_base/win includes "windows.graphics.directX.direct3d11.h" 113*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/cppwinrt/winrt/windows.graphics.directX.direct3d11.h"), 114*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/winrt/windows.graphics.directX.direct3d11.h"), 115*6777b538SAndroid Build Coastguard Worker # third_party/webrtc/rtc_base/win includes "windows.graphics.directX.direct3d11.interop.h" 116*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/windows.graphics.directX.direct3d11.interop.h"), 117*6777b538SAndroid Build Coastguard Worker # third_party/crashpad/crashpad/handler/win includes "werapi.h" 118*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/werapi.h"), 119*6777b538SAndroid Build Coastguard Worker # chrome/install_static/ includes "wtsapi32.h" 120*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/wtsapi32.h"), 121*6777b538SAndroid Build Coastguard Worker # third_party/dawn/include/dawn/native includes "DXGI1_4.h" 122*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/shared/DXGI1_4.h"), 123*6777b538SAndroid Build Coastguard Worker # v8/src/diagnostics includes "versionhelpers.h" 124*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/versionhelpers.h"), 125*6777b538SAndroid Build Coastguard Worker # ui/gfx/ includes "DXGIType.h" 126*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/shared/DXGIType.h"), 127*6777b538SAndroid Build Coastguard Worker # third_party/unrar includes "PowrProf.h" 128*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/PowrProf.h"), 129*6777b538SAndroid Build Coastguard Worker # device/base/ includes "dbt.h" 130*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/dbt.h"), 131*6777b538SAndroid Build Coastguard Worker # third_party/skia/ includes "ObjBase.h" 132*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/ObjBase.h"), 133*6777b538SAndroid Build Coastguard Worker # third_party/webrtc/rtc_base includes "ws2spi.h" 134*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/ws2spi.h"), 135*6777b538SAndroid Build Coastguard Worker # third_party/skia/ includes "T2EmbApi.h" 136*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/T2EmbApi.h"), 137*6777b538SAndroid Build Coastguard Worker # device/vr/windows/ includes "D3D11_1.h" 138*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/D3D11_1.h"), 139*6777b538SAndroid Build Coastguard Worker # rlz/win/ includes "Sddl.h" 140*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/shared/Sddl.h"), 141*6777b538SAndroid Build Coastguard Worker # chrome/common/safe_browsing/ includes "softpub.h" 142*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/softpub.h"), 143*6777b538SAndroid Build Coastguard Worker # services/device/generic_sensor/ includes "Sensors.h" 144*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Sensors.h"), 145*6777b538SAndroid Build Coastguard Worker # third_party/webrtc/modules/desktop_capture/win includes "windows.graphics.capture.interop.h" 146*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/windows.graphics.capture.interop.h"), 147*6777b538SAndroid Build Coastguard Worker # third_party/skia/ includes "FontSub.h" 148*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/FontSub.h"), 149*6777b538SAndroid Build Coastguard Worker # chrome/updater/ includes "regstr.h" 150*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/regstr.h"), 151*6777b538SAndroid Build Coastguard Worker # services/device/compute_pressure includes "pdh.h" 152*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/pdh.h"), 153*6777b538SAndroid Build Coastguard Worker # chrome/installer/ includes "mshtmhst.h" 154*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/mshtmhst.h"), 155*6777b538SAndroid Build Coastguard Worker # net/ssl/ includes "NCrypt.h" 156*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/NCrypt.h"), 157*6777b538SAndroid Build Coastguard Worker # device/fido/win/ includes "Combaseapi.h" 158*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Combaseapi.h"), 159*6777b538SAndroid Build Coastguard Worker # components/device_signals/core/system_signals/win includes "wscapi.h" 160*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/wscapi.h"), 161*6777b538SAndroid Build Coastguard Worker # net/proxy_resolution/win/ includes "dhcpcsdk.h" 162*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/dhcpcsdk.h"), 163*6777b538SAndroid Build Coastguard Worker # third_party/dawn/third_party/glfw includes "xinput.h" 164*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/xinput.h"), 165*6777b538SAndroid Build Coastguard Worker # v8/tools/v8windbg includes "pathcch.h" 166*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/pathcch.h"), 167*6777b538SAndroid Build Coastguard Worker # remoting/host includes "rpcproxy.h" 168*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/rpcproxy.h"), 169*6777b538SAndroid Build Coastguard Worker # sandbox/win includes "Aclapi.h" 170*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Aclapi.h"), 171*6777b538SAndroid Build Coastguard Worker # ui/accessibility/platform includes "uiautomation.h" 172*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/uiautomation.h"), 173*6777b538SAndroid Build Coastguard Worker # chrome/credential_provider/gaiacp includes "ntsecapi.h" 174*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/ntsecapi.h"), 175*6777b538SAndroid Build Coastguard Worker # net/dns includes "Winsock2.h" 176*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Winsock2.h"), 177*6777b538SAndroid Build Coastguard Worker # media/cdm/win includes "mferror.h" 178*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/mferror.h"), 179*6777b538SAndroid Build Coastguard Worker # chrome/credentialProvider/gaiacp includes "Winternl.h" 180*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Winternl.h"), 181*6777b538SAndroid Build Coastguard Worker # media/audio/win includes "audioclient.h" 182*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/audioclient.h"), 183*6777b538SAndroid Build Coastguard Worker # media/audio/win includes "MMDeviceAPI.h" 184*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/MMDeviceAPI.h"), 185*6777b538SAndroid Build Coastguard Worker # net/proxy_resolution/win includes "dhcpv6csdk.h" 186*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/dhcpv6csdk.h"), 187*6777b538SAndroid Build Coastguard Worker # components/system_media_controls/win includes "systemmediatransportcontrolsinterop.h" 188*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/systemmediatransportcontrolsinterop.h"), 189*6777b538SAndroid Build Coastguard Worker # ui/native_theme includes "Windows.Media.ClosedCaptioning.h" 190*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/cppwinrt/winrt/Windows.Media.ClosedCaptioning.h"), 191*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/winrt/Windows.Media.ClosedCaptioning.h"), 192*6777b538SAndroid Build Coastguard Worker # media/audio/win includes "Functiondiscoverykeys_devpkey.h" 193*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Functiondiscoverykeys_devpkey.h"), 194*6777b538SAndroid Build Coastguard Worker # device/fido includes "Winuser.h" 195*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Winuser.h"), 196*6777b538SAndroid Build Coastguard Worker # chrome/updater/win includes "msxml2.h" 197*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/msxml2.h"), 198*6777b538SAndroid Build Coastguard Worker # remoting/host includes "ime.h" 199*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/ime.h"), 200*6777b538SAndroid Build Coastguard Worker # remoting/host/win includes "D3DCommon.h" 201*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/D3DCommon.h"), 202*6777b538SAndroid Build Coastguard Worker # ui/views/controls/menu includes "Vssym32.h" 203*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Vssym32.h"), 204*6777b538SAndroid Build Coastguard Worker # third_party/wtl includes "richedit.h" 205*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/richedit.h"), 206*6777b538SAndroid Build Coastguard Worker # chrome/updater/net includes "Urlmon.h" 207*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Urlmon.h"), 208*6777b538SAndroid Build Coastguard Worker # device/gamepad includes "XInput.h" 209*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/XInput.h"), 210*6777b538SAndroid Build Coastguard Worker # chrome/credential_provider/gaiacp includes "Shlobj.h" 211*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Shlobj.h"), 212*6777b538SAndroid Build Coastguard Worker # content/renderer includes "mlang.h" 213*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/mlang.h"), 214*6777b538SAndroid Build Coastguard Worker # components/storage_monitor includes "portabledevice.h" 215*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/portabledevice.h"), 216*6777b538SAndroid Build Coastguard Worker # third_party/wtl includes "richole.h" 217*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/richole.h"), 218*6777b538SAndroid Build Coastguard Worker # chrome/utility/importer includes "intshcut.h" 219*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/intshcut.h"), 220*6777b538SAndroid Build Coastguard Worker # chrome/browser/net includes "Ws2spi.h" 221*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/Ws2spi.h"), 222*6777b538SAndroid Build Coastguard Worker # chrome/browser/enterprise/platform_auth includes "proofofpossessioncookieinfo.h)" 223*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/proofofpossessioncookieinfo.h"), 224*6777b538SAndroid Build Coastguard Worker # chrome/utility/importer includes "urlhist.h" 225*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/urlhist.h"), 226*6777b538SAndroid Build Coastguard Worker # chrome/updater/win/installer includes "msiquery.h" 227*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/msiquery.h"), 228*6777b538SAndroid Build Coastguard Worker # third_party/win_virtual_display/controller includes "Devpropdef.h" 229*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/shared/Devpropdef.h"), 230*6777b538SAndroid Build Coastguard Worker # third_party/dawn/third_party/dxc/include/dxc/Support/WinIncludes.h "ObjIdl.h" 231*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/ObjIdl.h"), 232*6777b538SAndroid Build Coastguard Worker # third_party/dawn/third_party/dxc/lib/Support includes "D3Dcommon.h" 233*6777b538SAndroid Build Coastguard Worker # https://github.com/microsoft/DirectXShaderCompiler/pull/6380 234*6777b538SAndroid Build Coastguard Worker path.join(win_toolchain_dir, "Windows Kits/10/Include/10.0.22621.0/um/D3Dcommon.h"), 235*6777b538SAndroid Build Coastguard Worker ], 236*6777b538SAndroid Build Coastguard Worker }) 237*6777b538SAndroid Build Coastguard Worker remote = True 238*6777b538SAndroid Build Coastguard Worker remote_wrapper = reproxy_config.get("remote_wrapper") 239*6777b538SAndroid Build Coastguard Worker step_config["rules"].extend([ 240*6777b538SAndroid Build Coastguard Worker { 241*6777b538SAndroid Build Coastguard Worker "name": "clang-cl/cxx", 242*6777b538SAndroid Build Coastguard Worker "action": "(.*_)?cxx", 243*6777b538SAndroid Build Coastguard Worker "command_prefix": "..\\..\\third_party\\llvm-build\\Release+Asserts\\bin\\clang-cl.exe", 244*6777b538SAndroid Build Coastguard Worker "inputs": [ 245*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang-cl.exe", 246*6777b538SAndroid Build Coastguard Worker ], 247*6777b538SAndroid Build Coastguard Worker "exclude_input_patterns": ["*.stamp"], 248*6777b538SAndroid Build Coastguard Worker "platform_ref": "clang-cl", 249*6777b538SAndroid Build Coastguard Worker "remote": remote, 250*6777b538SAndroid Build Coastguard Worker "remote_wrapper": remote_wrapper, 251*6777b538SAndroid Build Coastguard Worker "timeout": "2m", 252*6777b538SAndroid Build Coastguard Worker }, 253*6777b538SAndroid Build Coastguard Worker { 254*6777b538SAndroid Build Coastguard Worker "name": "clang-cl/cc", 255*6777b538SAndroid Build Coastguard Worker "action": "(.*_)?cc", 256*6777b538SAndroid Build Coastguard Worker "command_prefix": "..\\..\\third_party\\llvm-build\\Release+Asserts\\bin\\clang-cl.exe", 257*6777b538SAndroid Build Coastguard Worker "inputs": [ 258*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang-cl.exe", 259*6777b538SAndroid Build Coastguard Worker ], 260*6777b538SAndroid Build Coastguard Worker "exclude_input_patterns": ["*.stamp"], 261*6777b538SAndroid Build Coastguard Worker "platform_ref": "clang-cl", 262*6777b538SAndroid Build Coastguard Worker "remote": remote, 263*6777b538SAndroid Build Coastguard Worker "remote_wrapper": remote_wrapper, 264*6777b538SAndroid Build Coastguard Worker "timeout": "2m", 265*6777b538SAndroid Build Coastguard Worker }, 266*6777b538SAndroid Build Coastguard Worker { 267*6777b538SAndroid Build Coastguard Worker "name": "clang-coverage/cxx", 268*6777b538SAndroid Build Coastguard Worker "action": "(.*_)?cxx", 269*6777b538SAndroid Build Coastguard Worker "command_prefix": "python3.exe ../../build/toolchain/clang_code_coverage_wrapper.py", 270*6777b538SAndroid Build Coastguard Worker "inputs": [ 271*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang++", 272*6777b538SAndroid Build Coastguard Worker ], 273*6777b538SAndroid Build Coastguard Worker "exclude_input_patterns": ["*.stamp"], 274*6777b538SAndroid Build Coastguard Worker "handler": "clang_compile_coverage", 275*6777b538SAndroid Build Coastguard Worker "platform_ref": "clang-cl", 276*6777b538SAndroid Build Coastguard Worker "remote": remote, 277*6777b538SAndroid Build Coastguard Worker "remote_wrapper": remote_wrapper, 278*6777b538SAndroid Build Coastguard Worker "timeout": "2m", 279*6777b538SAndroid Build Coastguard Worker }, 280*6777b538SAndroid Build Coastguard Worker { 281*6777b538SAndroid Build Coastguard Worker "name": "clang-coverage/cc", 282*6777b538SAndroid Build Coastguard Worker "action": "(.*_)?cc", 283*6777b538SAndroid Build Coastguard Worker "command_prefix": "python3.exe ../../build/toolchain/clang_code_coverage_wrapper.py", 284*6777b538SAndroid Build Coastguard Worker "inputs": [ 285*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang", 286*6777b538SAndroid Build Coastguard Worker ], 287*6777b538SAndroid Build Coastguard Worker "exclude_input_patterns": ["*.stamp"], 288*6777b538SAndroid Build Coastguard Worker "handler": "clang_compile_coverage", 289*6777b538SAndroid Build Coastguard Worker "platform_ref": "clang-cl", 290*6777b538SAndroid Build Coastguard Worker "remote": remote, 291*6777b538SAndroid Build Coastguard Worker "remote_wrapper": remote_wrapper, 292*6777b538SAndroid Build Coastguard Worker "timeout": "2m", 293*6777b538SAndroid Build Coastguard Worker }, 294*6777b538SAndroid Build Coastguard Worker ]) 295*6777b538SAndroid Build Coastguard Worker return step_config 296*6777b538SAndroid Build Coastguard Worker 297*6777b538SAndroid Build Coastguard Workerclang = module( 298*6777b538SAndroid Build Coastguard Worker "clang", 299*6777b538SAndroid Build Coastguard Worker step_config = __step_config, 300*6777b538SAndroid Build Coastguard Worker filegroups = __filegroups, 301*6777b538SAndroid Build Coastguard Worker handlers = __handlers, 302*6777b538SAndroid Build Coastguard Worker) 303