[browser][coreCLR] link out icu/globalization module on InvariantGlobalization flag#129336
Merged
pavelsavara merged 3 commits intoJun 14, 2026
Merged
Conversation
Contributor
|
Tagging subscribers to this area: @dotnet/area-system-globalization |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Browser WASM CoreCLR managed-to-native generation + link pipeline to honor InvariantGlobalization=true by excluding libSystem.Globalization.Native P/Invokes from the generated table and conditionally omitting the corresponding globalization/ICU static libraries from the link step.
Changes:
- Extend the CoreCLR
PInvokeTableGeneratorpipeline to accept an “ignored modules” list and filter those modules out of the generated P/Invoke table. - Update
BrowserWasmApp.CoreCLR.targetsto (a) stop allowinglibSystem.Globalization.NativewhenInvariantGlobalization=trueand (b) stop linkinglibSystem.Globalization.Native.aand ICU archives in that mode. - Add a CoreCLR-only WASM build test asserting
GlobalizationNative_*entries and ICU/globalization archives are absent under invariant globalization.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/tasks/WasmAppBuilder/coreclr/PInvokeTableGenerator.cs | Adds support for ignoring specified P/Invoke modules during table generation. |
| src/tasks/WasmAppBuilder/coreclr/ManagedToNativeGenerator.cs | Plumbs ignored-module input into generation and records it in the cache file. |
| src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs | Adds regression coverage ensuring invariant CoreCLR builds don’t emit globalization pinvokes or link ICU/globalization archives. |
| src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | Conditions module allowlist and native library linking on InvariantGlobalization. |
pavelsavara
marked this pull request as ready for review
June 13, 2026 20:45
pavelsavara
requested review from
akoeplinger,
ilonatommy and
maraf
as code owners
June 13, 2026 20:45
maraf
approved these changes
Jun 14, 2026
# Conflicts: # eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt
This was referenced Jun 14, 2026
Open
Member
Author
|
Member
Author
|
/ba-g unrelated failures |
eiriktsarpalis
pushed a commit
that referenced
this pull request
Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #129242