[clr-ios] Update MtouchLink conditions for Debug configuration#34107
[clr-ios] Update MtouchLink conditions for Debug configuration#34107
Conversation
There was a problem hiding this comment.
Pull request overview
This PR optimizes iOS Debug build configuration by enabling SDK-only linking for CoreCLR runtime builds. The change distinguishes between Mono runtime (which uses the interpreter in Debug mode and should have no linking) and CoreCLR runtime (which can benefit from SDK-only linking even in Debug). According to the PR description, this improves build time from ~75s to ~45s and reduces bundle size from ~225MB to ~78MB for MAUI template apps.
Changes:
- Updates iOS targets file to conditionally set MtouchLink based on runtime type (Mono vs CoreCLR)
- Adds UseMonoRuntime check to existing Debug+Interpreter condition to make it Mono-specific
- Introduces new condition to enable SdkOnly linking for CoreCLR Debug builds
...ols/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.iOS.targets
Show resolved
Hide resolved
...ols/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.iOS.targets
Show resolved
Hide resolved
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
…eclr-default-trimming
…eclr-default-trimming
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 34107Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 34107" |
…eclr-default-trimming
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
…r-default-trimming
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
The failures shouldn't be related |
|
CI failures are unrelated to the CoreCLR trimming change |
Description
This PR updates the default TrimMode to SdkOnly for CoreCLR Debug builds.
MAUI template - Before
Build Time: 75.476618000s
Bundle Size: 224.64 MB
MAUI template - After
Build: 45.338192000s
Size: 78.42MB