Files
raven/scripts
Raymond Bennett 788eb0f142 build: generate the Windows Runtime declarations from pinned windows-rs metadata
scripts/generate-winrt-header.py writes, from the bindings windows-rs
generates from Microsoft's Windows metadata (pinned revision, each file
SHA-256 checked), the C declarations raven-web and the shared
raven-winrt plumbing use:

- native/upstream/raven-web/windows.web.http.h, the Windows.Web.Http,
  Headers and Filters namespaces, with what they need of other
  namespaces at its minimum (the certificate and socket enumerations,
  forward declarations of the classes they pass);
- native/upstream/raven-winrt/foundation.h, what they need of
  Windows.Foundation, its collections and Windows.Storage.Streams, and
  the generic instances of those types alone.

They hold each interface's identifier, its methods in vtable order with
their types, the structures and enumerations, and the generic instances
used, whose identifiers are computed from their type signatures as the
Windows Runtime type system specifies; the generic interfaces come from
windows-rs's collections, future and reference crates. Every method is
checked against its raw vtable entry, for as many arguments and as
indirect, before anything is written.

Nothing depends on widl or on Wine's IDL files, nor on MinGW's headers
for these namespaces, whose declarations differ between its releases
(13.0 lacks IInputStream, which 14.0 has); only its classic COM headers
are included. Each interface is guarded as widl's headers guard it.
--check compares the committed headers with what the pinned sources
give.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the generator and the headers it writes, checked against widl's header from the previous IDL and MinGW's headers
2026-10-31 14:40:21 -07:00
..
2026-10-31 14:09:33 +00:00