Skip to content

Conversation

SingleAccretion
Copy link
Contributor

@SingleAccretion SingleAccretion commented Sep 2, 2025

This simplifies the WASM build, making this data just another static library. We produce two flavors of it: full and disabled, the latter to support the invariant timezone switch. The static library itself uses some inline assembly to embed the data, but once we do the next EMSDK bump, we can rewrite it to use C23's #embed (the WASI SDK clang already supports this feature).

This is a port, though a bit amended and refactored, of a downstream implementation of the same idea (you can see the original code in the first commit).

@SingleAccretion SingleAccretion changed the title [WASM] Time zone build [WASM] Build the time zone data for WASM as part of libs.native Sep 2, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Sep 2, 2025
@SingleAccretion SingleAccretion force-pushed the TimeZoneBuild branch 3 times, most recently from 6ed9563 to acc3fcf Compare September 3, 2025 12:42
@jkotas jkotas added the arch-wasm WebAssembly architecture label Sep 3, 2025
Copy link
Contributor

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

@SingleAccretion SingleAccretion force-pushed the TimeZoneBuild branch 7 times, most recently from 231e15a to df9ff46 Compare September 3, 2025 17:13
@pavelsavara pavelsavara self-assigned this Sep 4, 2025
@pavelsavara
Copy link
Member

/azp run runtime-wasm

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

SingleAccretion and others added 6 commits September 4, 2025 22:18
Allows:
  dotnet build /t:Test System.Runtime.InvariantTimezone.Tests.csproj /p:TargetOS=browser /p:TargetArchitecture=wasm /p:JSEngine=NodeJS
This simplifies the WASM build, making this data just another
static library. We produce two flavors of it: full and disabled,
the latter to support the invariant timezone switch.
@pavelsavara
Copy link
Member

/azp run runtime-wasm

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@SingleAccretion SingleAccretion marked this pull request as ready for review September 5, 2025 10:56
@pavelsavara
Copy link
Member

/azp run runtime-wasm

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara pavelsavara merged commit 267102d into dotnet:main Sep 5, 2025
117 of 119 checks passed
@SingleAccretion SingleAccretion deleted the TimeZoneBuild branch September 5, 2025 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm WebAssembly architecture area-Build-mono community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants