-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Make wasm corerun build regular #119029
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
Make wasm corerun build regular #119029
Conversation
Tagging subscribers to this area: @hoyosjs |
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.
Pull Request Overview
This PR standardizes the build process for corewasmrun
(the WebAssembly version of corerun
) by integrating it into the regular build workflow and ensuring all artifacts are placed in the correct bin location like other corerun
scenarios.
Key changes include:
- Integrating WASM host building into the standard CoreCLR build process
- Adding proper install handling for WASM executable assets (JS, WASM, and data files)
- Updating subset dependencies to include
clr.corelib
for browser builds
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/coreclr/inc/pinvokeoverride.h | Changes include directive from quotes to angle brackets for coreclrhost.h |
src/coreclr/inc/bundle.h | Changes include directive from quotes to angle brackets for coreclrhost.h |
src/coreclr/hosts/corewasmrun/CMakeLists.txt | Reorganizes target linking and updates install destination to dedicated corewasmrun directory |
src/coreclr/CMakeLists.txt | Simplifies host subdirectory inclusion logic to build hosts on all non-mobile platforms |
eng/native/functions.cmake | Adds WASM-specific install handling for executable assets (.js, .wasm, .data files) |
eng/Subsets.props | Adds clr.corelib dependency to browser builds in subset replacement logic |
This PR updates the current wasm build for
corewasmrun
, which is wasm's version ofcorerun
, and places all artifacts in the correct bin location like othercorerun
scenarios. The work flow forcorewasmrun
is now much simpler../build.sh -os browser -c Debug --subset clr.runtime+libs
./dotnet.sh build -c Release src/mono/sample/wasm/simple-server
artifacts/bin/coreclr/browser.wasm.Debug/corewasmrun
)./src/mono/sample/wasm/simple-server/bin/Release/net8.0/HttpServer
, in thecorewasmrun
directory.