xref: /aosp_15_r20/external/angle/build/config/siso/win_sdk.star (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# -*- bazel-starlark -*-
2*8975f5c5SAndroid Build Coastguard Worker# Copyright 2024 The Chromium Authors
3*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker"""Siso configuration fow win sdk."""
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Workerload("@builtin//encoding.star", "json")
8*8975f5c5SAndroid Build Coastguard Workerload("@builtin//lib/gn.star", "gn")
9*8975f5c5SAndroid Build Coastguard Workerload("@builtin//path.star", "path")
10*8975f5c5SAndroid Build Coastguard Workerload("@builtin//runtime.star", "runtime")
11*8975f5c5SAndroid Build Coastguard Workerload("@builtin//struct.star", "module")
12*8975f5c5SAndroid Build Coastguard Workerload("./gn_logs.star", "gn_logs")
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard Workerdef __win_toolchain_dir(ctx):
15*8975f5c5SAndroid Build Coastguard Worker    # build/win_toolchain.json may not exist when
16*8975f5c5SAndroid Build Coastguard Worker    # $env:DEPOT_TOOLS_WIN_TOOLCHAIN=0 or so.
17*8975f5c5SAndroid Build Coastguard Worker    if not ctx.fs.exists("build/win_toolchain.json"):
18*8975f5c5SAndroid Build Coastguard Worker        return None
19*8975f5c5SAndroid Build Coastguard Worker    data = json.decode(str(ctx.fs.read("build/win_toolchain.json")))
20*8975f5c5SAndroid Build Coastguard Worker    if "path" in data:
21*8975f5c5SAndroid Build Coastguard Worker        return ctx.fs.canonpath(data["path"])
22*8975f5c5SAndroid Build Coastguard Worker    return None
23*8975f5c5SAndroid Build Coastguard Worker
24*8975f5c5SAndroid Build Coastguard Workerdef __win_sdk_version(ctx):
25*8975f5c5SAndroid Build Coastguard Worker    return gn_logs.read(ctx).get("windows_sdk_version")
26*8975f5c5SAndroid Build Coastguard Worker
27*8975f5c5SAndroid Build Coastguard Workerdef __enabled(ctx):
28*8975f5c5SAndroid Build Coastguard Worker    if "args.gn" in ctx.metadata:
29*8975f5c5SAndroid Build Coastguard Worker        gn_args = gn.args(ctx)
30*8975f5c5SAndroid Build Coastguard Worker        if gn_args.get("target_os") == '"win"':
31*8975f5c5SAndroid Build Coastguard Worker            return True
32*8975f5c5SAndroid Build Coastguard Worker    return runtime.os == "windows"
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard Workerdef __filegroups(ctx):
35*8975f5c5SAndroid Build Coastguard Worker    win_toolchain_dir = __win_toolchain_dir(ctx)
36*8975f5c5SAndroid Build Coastguard Worker    fg = {}
37*8975f5c5SAndroid Build Coastguard Worker    if win_toolchain_dir:
38*8975f5c5SAndroid Build Coastguard Worker        fg.update({
39*8975f5c5SAndroid Build Coastguard Worker            # for precomputed subtree
40*8975f5c5SAndroid Build Coastguard Worker            win_toolchain_dir + ":headers-ci": {
41*8975f5c5SAndroid Build Coastguard Worker                "type": "glob",
42*8975f5c5SAndroid Build Coastguard Worker                "includes": [
43*8975f5c5SAndroid Build Coastguard Worker                    "*.h",
44*8975f5c5SAndroid Build Coastguard Worker                    "*.inl",
45*8975f5c5SAndroid Build Coastguard Worker                    "*.H",
46*8975f5c5SAndroid Build Coastguard Worker                    "*.Hxx",
47*8975f5c5SAndroid Build Coastguard Worker                    "*.hxx",
48*8975f5c5SAndroid Build Coastguard Worker                    "*.hpp",
49*8975f5c5SAndroid Build Coastguard Worker                    "VC/Tools/MSVC/*/include/*",
50*8975f5c5SAndroid Build Coastguard Worker                    "VC/Tools/MSVC/*/include/*/*",
51*8975f5c5SAndroid Build Coastguard Worker                ],
52*8975f5c5SAndroid Build Coastguard Worker            },
53*8975f5c5SAndroid Build Coastguard Worker        })
54*8975f5c5SAndroid Build Coastguard Worker    return fg
55*8975f5c5SAndroid Build Coastguard Worker
56*8975f5c5SAndroid Build Coastguard Workerdef __step_config(ctx, step_config):
57*8975f5c5SAndroid Build Coastguard Worker    win_toolchain_dir = __win_toolchain_dir(ctx)
58*8975f5c5SAndroid Build Coastguard Worker    if not win_toolchain_dir:
59*8975f5c5SAndroid Build Coastguard Worker        return
60*8975f5c5SAndroid Build Coastguard Worker    win_toolchain_headers = [
61*8975f5c5SAndroid Build Coastguard Worker        win_toolchain_dir + ":headers-ci",
62*8975f5c5SAndroid Build Coastguard Worker    ]
63*8975f5c5SAndroid Build Coastguard Worker    sdk_version = __win_sdk_version(ctx)
64*8975f5c5SAndroid Build Coastguard Worker    if sdk_version:
65*8975f5c5SAndroid Build Coastguard Worker        win_toolchain_headers.extend([
66*8975f5c5SAndroid Build Coastguard Worker            # third_party/abseil-cpp includes "dbghelp.h"
67*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/dbghelp.h"),
68*8975f5c5SAndroid Build Coastguard Worker            # third_party/abseil-cpp includes "aclapi.h"
69*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/aclapi.h"),
70*8975f5c5SAndroid Build Coastguard Worker            # base/debug includes "psapi.h"
71*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/psapi.h"),
72*8975f5c5SAndroid Build Coastguard Worker            # base/process includes "tlhelp32.h"
73*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/tlhelp32.h"),
74*8975f5c5SAndroid Build Coastguard Worker            # base/process includes "userenv.h"
75*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/userenv.h"),
76*8975f5c5SAndroid Build Coastguard Worker            # base includes "shlobj.h"
77*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/shlobj.h"),
78*8975f5c5SAndroid Build Coastguard Worker            # base/win includes "lm.h"
79*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/lm.h"),
80*8975f5c5SAndroid Build Coastguard Worker            # base/win includes "mdmregistration.h"
81*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/mdmregistration.h"),
82*8975f5c5SAndroid Build Coastguard Worker            # base/win includes "shellscalingapi.h"
83*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/shellscalingapi.h"),
84*8975f5c5SAndroid Build Coastguard Worker            # base/win includes "uiviewsettingsinterop.h"
85*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/uiviewsettingsinterop.h"),
86*8975f5c5SAndroid Build Coastguard Worker            # native_client/src/shared/platform/win includes "WinError.h"
87*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "shared/WinError.h"),
88*8975f5c5SAndroid Build Coastguard Worker            # third_party/webrtc/rtc_base/win includes "windows.graphics.directX.direct3d11.h"
89*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "cppwinrt/winrt/windows.graphics.directX.direct3d11.h"),
90*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "winrt/windows.graphics.directX.direct3d11.h"),
91*8975f5c5SAndroid Build Coastguard Worker            # third_party/webrtc/rtc_base/win includes "windows.graphics.directX.direct3d11.interop.h"
92*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/windows.graphics.directX.direct3d11.interop.h"),
93*8975f5c5SAndroid Build Coastguard Worker            # third_party/crashpad/crashpad/handler/win includes "werapi.h"
94*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/werapi.h"),
95*8975f5c5SAndroid Build Coastguard Worker            # chrome/install_static/ includes "wtsapi32.h"
96*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/wtsapi32.h"),
97*8975f5c5SAndroid Build Coastguard Worker            # third_party/dawn/include/dawn/native includes "DXGI1_4.h"
98*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "shared/DXGI1_4.h"),
99*8975f5c5SAndroid Build Coastguard Worker            # v8/src/diagnostics includes "versionhelpers.h"
100*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/versionhelpers.h"),
101*8975f5c5SAndroid Build Coastguard Worker            # ui/gfx/ includes "DXGIType.h"
102*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "shared/DXGIType.h"),
103*8975f5c5SAndroid Build Coastguard Worker            # third_party/unrar includes "PowrProf.h"
104*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/PowrProf.h"),
105*8975f5c5SAndroid Build Coastguard Worker            # device/base/ includes "dbt.h"
106*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/dbt.h"),
107*8975f5c5SAndroid Build Coastguard Worker            # third_party/skia/ includes "ObjBase.h"
108*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/ObjBase.h"),
109*8975f5c5SAndroid Build Coastguard Worker            # third_party/webrtc/rtc_base includes "ws2spi.h"
110*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/ws2spi.h"),
111*8975f5c5SAndroid Build Coastguard Worker            # third_party/skia/ includes "T2EmbApi.h"
112*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/T2EmbApi.h"),
113*8975f5c5SAndroid Build Coastguard Worker            # device/vr/windows/ includes "D3D11_1.h"
114*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/D3D11_1.h"),
115*8975f5c5SAndroid Build Coastguard Worker            # rlz/win/ includes "Sddl.h"
116*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "shared/Sddl.h"),
117*8975f5c5SAndroid Build Coastguard Worker            # chrome/common/safe_browsing/ includes "softpub.h"
118*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/softpub.h"),
119*8975f5c5SAndroid Build Coastguard Worker            # services/device/generic_sensor/ includes "Sensors.h"
120*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Sensors.h"),
121*8975f5c5SAndroid Build Coastguard Worker            # third_party/webrtc/modules/desktop_capture/win includes "windows.graphics.capture.interop.h"
122*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/windows.graphics.capture.interop.h"),
123*8975f5c5SAndroid Build Coastguard Worker            # third_party/skia/ includes "FontSub.h"
124*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/FontSub.h"),
125*8975f5c5SAndroid Build Coastguard Worker            # chrome/updater/ includes "regstr.h"
126*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/regstr.h"),
127*8975f5c5SAndroid Build Coastguard Worker            # services/device/compute_pressure includes "pdh.h"
128*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/pdh.h"),
129*8975f5c5SAndroid Build Coastguard Worker            # chrome/installer/ includes "mshtmhst.h"
130*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/mshtmhst.h"),
131*8975f5c5SAndroid Build Coastguard Worker            # net/ssl/ includes "NCrypt.h"
132*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/NCrypt.h"),
133*8975f5c5SAndroid Build Coastguard Worker            # device/fido/win/ includes "Combaseapi.h"
134*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Combaseapi.h"),
135*8975f5c5SAndroid Build Coastguard Worker            # components/device_signals/core/system_signals/win includes "wscapi.h"
136*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/wscapi.h"),
137*8975f5c5SAndroid Build Coastguard Worker            # net/proxy_resolution/win/ includes "dhcpcsdk.h"
138*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/dhcpcsdk.h"),
139*8975f5c5SAndroid Build Coastguard Worker            # third_party/dawn/third_party/glfw includes "xinput.h"
140*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/xinput.h"),
141*8975f5c5SAndroid Build Coastguard Worker            # v8/tools/v8windbg includes "pathcch.h"
142*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/pathcch.h"),
143*8975f5c5SAndroid Build Coastguard Worker            # remoting/host includes "rpcproxy.h"
144*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/rpcproxy.h"),
145*8975f5c5SAndroid Build Coastguard Worker            # sandbox/win includes "Aclapi.h"
146*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Aclapi.h"),
147*8975f5c5SAndroid Build Coastguard Worker            # ui/accessibility/platform includes "uiautomation.h"
148*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/uiautomation.h"),
149*8975f5c5SAndroid Build Coastguard Worker            # chrome/credential_provider/gaiacp includes "ntsecapi.h"
150*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/ntsecapi.h"),
151*8975f5c5SAndroid Build Coastguard Worker            # net/dns includes "Winsock2.h"
152*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Winsock2.h"),
153*8975f5c5SAndroid Build Coastguard Worker            # media/cdm/win includes "mferror.h"
154*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/mferror.h"),
155*8975f5c5SAndroid Build Coastguard Worker            # chrome/credentialProvider/gaiacp includes "Winternl.h"
156*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Winternl.h"),
157*8975f5c5SAndroid Build Coastguard Worker            # media/audio/win includes "audioclient.h"
158*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/audioclient.h"),
159*8975f5c5SAndroid Build Coastguard Worker            # media/audio/win includes "MMDeviceAPI.h"
160*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/MMDeviceAPI.h"),
161*8975f5c5SAndroid Build Coastguard Worker            # net/proxy_resolution/win includes "dhcpv6csdk.h"
162*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/dhcpv6csdk.h"),
163*8975f5c5SAndroid Build Coastguard Worker            # components/system_media_controls/win includes "systemmediatransportcontrolsinterop.h"
164*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/systemmediatransportcontrolsinterop.h"),
165*8975f5c5SAndroid Build Coastguard Worker            # ui/native_theme includes "Windows.Media.ClosedCaptioning.h"
166*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "cppwinrt/winrt/Windows.Media.ClosedCaptioning.h"),
167*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "winrt/Windows.Media.ClosedCaptioning.h"),
168*8975f5c5SAndroid Build Coastguard Worker            # media/audio/win includes "Functiondiscoverykeys_devpkey.h"
169*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Functiondiscoverykeys_devpkey.h"),
170*8975f5c5SAndroid Build Coastguard Worker            # device/fido includes "Winuser.h"
171*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Winuser.h"),
172*8975f5c5SAndroid Build Coastguard Worker            # chrome/updater/win includes "msxml2.h"
173*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/msxml2.h"),
174*8975f5c5SAndroid Build Coastguard Worker            # remoting/host includes "ime.h"
175*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/ime.h"),
176*8975f5c5SAndroid Build Coastguard Worker            # remoting/host/win includes "D3DCommon.h"
177*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/D3DCommon.h"),
178*8975f5c5SAndroid Build Coastguard Worker            # ui/views/controls/menu includes "Vssym32.h"
179*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Vssym32.h"),
180*8975f5c5SAndroid Build Coastguard Worker            # third_party/wtl includes "richedit.h"
181*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/richedit.h"),
182*8975f5c5SAndroid Build Coastguard Worker            # chrome/updater/net includes "Urlmon.h"
183*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Urlmon.h"),
184*8975f5c5SAndroid Build Coastguard Worker            # device/gamepad includes "XInput.h"
185*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/XInput.h"),
186*8975f5c5SAndroid Build Coastguard Worker            # chrome/credential_provider/gaiacp includes "Shlobj.h"
187*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Shlobj.h"),
188*8975f5c5SAndroid Build Coastguard Worker            # content/renderer includes "mlang.h"
189*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/mlang.h"),
190*8975f5c5SAndroid Build Coastguard Worker            # components/storage_monitor includes "portabledevice.h"
191*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/portabledevice.h"),
192*8975f5c5SAndroid Build Coastguard Worker            # third_party/wtl includes "richole.h"
193*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/richole.h"),
194*8975f5c5SAndroid Build Coastguard Worker            # chrome/utility/importer includes "intshcut.h"
195*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/intshcut.h"),
196*8975f5c5SAndroid Build Coastguard Worker            # chrome/browser/net includes "Ws2spi.h"
197*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/Ws2spi.h"),
198*8975f5c5SAndroid Build Coastguard Worker            # chrome/browser/enterprise/platform_auth includes "proofofpossessioncookieinfo.h)"
199*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/proofofpossessioncookieinfo.h"),
200*8975f5c5SAndroid Build Coastguard Worker            # chrome/utility/importer includes "urlhist.h"
201*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/urlhist.h"),
202*8975f5c5SAndroid Build Coastguard Worker            # chrome/updater/win/installer includes "msiquery.h"
203*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/msiquery.h"),
204*8975f5c5SAndroid Build Coastguard Worker            # third_party/win_virtual_display/controller includes "Devpropdef.h"
205*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "shared/Devpropdef.h"),
206*8975f5c5SAndroid Build Coastguard Worker            # third_party/dawn/third_party/dxc/include/dxc/Support/WinIncludes.h "ObjIdl.h"
207*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/ObjIdl.h"),
208*8975f5c5SAndroid Build Coastguard Worker            # third_party/dawn/third_party/dxc/lib/Support includes "D3Dcommon.h"
209*8975f5c5SAndroid Build Coastguard Worker            # https://github.com/microsoft/DirectXShaderCompiler/pull/6380
210*8975f5c5SAndroid Build Coastguard Worker            path.join(win_toolchain_dir, "Windows Kits/10/Include", sdk_version, "um/D3Dcommon.h"),
211*8975f5c5SAndroid Build Coastguard Worker        ])
212*8975f5c5SAndroid Build Coastguard Worker    else:
213*8975f5c5SAndroid Build Coastguard Worker        # sdk_version may be unknown when first build after `gn clean` (no gn_logs.txt yet)
214*8975f5c5SAndroid Build Coastguard Worker        print("sdk_version is unknown")
215*8975f5c5SAndroid Build Coastguard Worker    step_config["input_deps"].update({
216*8975f5c5SAndroid Build Coastguard Worker        win_toolchain_dir + ":headers": win_toolchain_headers,
217*8975f5c5SAndroid Build Coastguard Worker    })
218*8975f5c5SAndroid Build Coastguard Worker
219*8975f5c5SAndroid Build Coastguard Workerwin_sdk = module(
220*8975f5c5SAndroid Build Coastguard Worker    "win_sdk",
221*8975f5c5SAndroid Build Coastguard Worker    enabled = __enabled,
222*8975f5c5SAndroid Build Coastguard Worker    toolchain_dir = __win_toolchain_dir,
223*8975f5c5SAndroid Build Coastguard Worker    step_config = __step_config,
224*8975f5c5SAndroid Build Coastguard Worker    filegroups = __filegroups,
225*8975f5c5SAndroid Build Coastguard Worker)
226