-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mono][NativeAOT] System.Globalization.Native build improvements #82393
Conversation
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger Issue DetailsFixes #82389
|
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsFixes #82389
|
The build failures are relevant. I'll try to remove the duplicate build from Mono sources. (For posterity, took me a while to trace the Mono ICU build all the way to #35790. I think there's no reason to link ICU shim directly into the runtime anymore. This is likely a relict of the same thing being done in CoreCLR in the past.) |
This comment was marked as outdated.
This comment was marked as outdated.
d59baf0
to
bc07402
Compare
The WASI part has overlap with #82444. |
src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets
Show resolved
Hide resolved
@filipnavara is there anything for this PR or is it waiting for a review? |
Waiting for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor note: The title seems outdated as the PR changes now affect mono builds and other platforms as well. I don't have a strong opinion but something like [mono][NativeAOT] System.Globalization.Native build improvements
might be more suitable.
Other than that, LGTM.
Thank you very much!
PS I would leave this to @akoeplinger for final approval.
The coreclr CMake "includes" the src/native directory so it doesn't go through build-native.sh.
Failures are unrelated. |
did anyone check the final post linking binary sizes on this? |
Any specific configuration you are concerned about? For NativeAOT/iOS there's nothing to compare against since it didn't work previously. For everything else it shuffles a bit where/how the globalization shim is built but it doesn't really add or remove any code, or at least not intentionally. |
Quick spot check on one of Alex's test official builds show no change. I'll check again when a real one gets through. |
Changes: dotnet/installer@f876fb5...0ce8918 Changes: dotnet/runtime@ab2b80d...9a7db55 Changes: dotnet/emsdk@2327f6b...31a4a87 Changes: dotnet/cecil@9a7551f...80d3f38 Updates: * Microsoft.Dotnet.Sdk.Internal: from 8.0.100-preview.4.23224.14 to 8.0.100-preview.5.23228.7 * Microsoft.NETCore.App.Ref: from 8.0.0-preview.4.23221.1 to 8.0.0-preview.4.23225.14 * Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport: from 8.0.0-preview.4.23218.1 to 8.0.0-preview.4.23219.1 * Microsoft.NET.ILLink.Tasks: from 8.0.0-preview.4.23221.1 to 8.0.0-preview.4.23225.14 * Microsoft.DotNet.Cecil: from 0.11.4-alpha.23178.1 to 0.11.4-alpha.23218.2 Other changes: A new `libSystem.Globalization.Native.so` file was introduced in the Mono runtime pack in: dotnet/runtime#82393 Android doesn't actually need this file. * Introduce a new private `@(_MonoExcludedLibraries)` item group * Add exclusion for `libSystem.Globalization.Native` Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Fixes #82389