-
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
[Wasi] switch to preview 2 #104683
[Wasi] switch to preview 2 #104683
Conversation
Tagging subscribers to 'arch-wasm': @lewing |
# Conflicts: # eng/native/gen-buildsys.cmd # eng/native/gen-buildsys.sh # src/mono/mono.proj # src/mono/wasi/build/WasiApp.targets # src/mono/wasi/wasi.proj # src/native/libs/build-native.sh
cc @dicej, feedback welcome |
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.
LGTM overall. Given that some of the Bash files have changed, is one of the goals of this PR to support Linux and/or MacOS? If so, I can try building and running the smoke tests locally. Otherwise, I can fix any problems with the Linux build that pop up downstream when rebasing and testing dotnet/runtimelab#2614.
- _BuildNativeEnvironmentVariables for build-native.sh and build-native.cmd
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.
Changes looks good to me 👍
@dicej since I'm out next week, I will try to merge as much as possible today. I will be happy to help to upstream any of your fixes later. Overall I think that we should consider broader set of changes from the fork. In order to make future code flow downstream easier. @SingleAccretion are there such candidates ? |
/ba-g last still running test is not relevant for this change, other CI issues are known and matched |
Sounds good. I'll be out the following week, but we can sync up after that. Enjoy your time off! |
I don't think there is a lot that can be upstream (and we try to keep it that way). As you've seen in the merge, the vast majority of actual NAOT-LLVM code is concentrated in the Jit/ILC/NAOT runtime. One thing that I would love to unify is the EMSDK layout between dotnet/emsdk and upstream EMSDK. But that's orthogonal to this WASI effort (we are, fortunately, aligned on the build system with WASI). |
After this PR dotnet will produce WASM component (preview 2) instead of WASM module
Details
wasi-sdk-p2.cmake
fileDOTNET_WASI_PRINT_EXIT_CODE
WASM EXIT 42
into stderr when it's not zerodotnet run
option--forward-exit-code
which sets itwasm-opt
on PATHWASI SDK 22 + patches
WASI_SDK_PATH
tosrc\mono\wasi\wasi-sdk
if the envWASI_SDK_PATH
points to unpatched locationVERSION22PATCHED
file to recognize patched installation_BuildNativeEnvironmentVariables
for building native libs to propagate correctWASI_SDK_PATH
to shellMost of it could go away after update to WASI SDK 23. see [wasi] upgrade to WASI SDK with LLVM 19 #104773
Contributes to #96419
Split from #103752