Skip to content

Cross-build browser WASM performance host tools - #133143

Merged
lewing merged 1 commit into
mainfrom
lewing-portable-wasm-crossgen
Sep 3, 2026
Merged

Cross-build browser WASM performance host tools#133143
lewing merged 1 commit into
mainfrom
lewing-portable-wasm-crossgen

Conversation

@lewing

@lewing lewing commented Sep 3, 2026

Copy link
Copy Markdown
Member

Summary

  • add an opt-in CrossBuildHostTools property that defaults to false
  • use it only for the host cross-component CoreCLR child build
  • enable it for the browser CoreCLR performance build so the universal WASM JIT uses the existing Bionic sysroot
  • leave the actual browser runtime build, normal browser builds, Mono, and mobile platforms unchanged

Validation

  • evaluated ProjectToBuild with the repository SDK and confirmed the default host child remains CrossBuild=false
  • confirmed the performance opt-in changes only the x64/Linux host child to CrossBuild=true, with ClrWasmJitSubset=true and CLR_CROSS_COMPONENTS_BUILD=1
  • confirmed the top-level browser runtime build keeps CrossBuild unset
  • confirmed Android and Mono continue to exclude the host Crossgen2 package
  • confirmed the targeted clr.crossarchtools+clr.tools+packs graph includes the cross-built WASM JIT and host Crossgen2 pack
  • parsed the modified YAML and ran git diff --check

Native GLIBC dependency inspection was not run locally because the development workspace is macOS without the Linux webassembly container. A runtime-wasm-perf run is required to verify the packaged JIT against Ubuntu 22.04 end to end.

Note

This pull request description was generated with GitHub Copilot.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 3, 2026 01:37
@lewing
lewing requested a review from akoeplinger as a code owner September 3, 2026 01:37
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 6 pipeline(s).
10 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

This changes cross-build behavior in the build graph and performance pipeline; it needs end-to-end CI validation to confirm it packages and runs correctly across the intended Linux environments.

Pull request overview

Adds an opt-in MSBuild property to control whether the CoreCLR host cross-components child build is invoked with CrossBuild=true, and enables that opt-in for the browser WASM performance build job to allow cross-building the host toolset in that scenario.

Changes:

  • Introduced CrossBuildHostTools (defaulting to false) to gate cross-building of the host cross-components build.
  • Switched the CoreCLR cross-tools runtime.proj child invocation from CrossBuild=false to CrossBuild=$(CrossBuildHostTools).
  • Enabled /p:CrossBuildHostTools=true for the browser_wasm CoreCLR perf build job.
File summaries
File Description
eng/Subsets.props Adds CrossBuildHostTools and uses it to control CrossBuild for the CoreCLR host cross-components child build.
eng/pipelines/performance/templates/perf-wasm-build-jobs.yml Enables CrossBuildHostTools for the browser WASM CoreCLR perf build.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

@lewing

lewing commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

@lewing

lewing commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

/ba0g the sos failures are tracked in #133175

@lewing

lewing commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

/ba-g the sos failures are tracked in #133175

@lewing
lewing merged commit 6981024 into main Sep 3, 2026
184 of 190 checks passed
@lewing
lewing deleted the lewing-portable-wasm-crossgen branch September 3, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants