Skip to content
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

[wasm] Integrate naot-llvm into workload manifest #101801

Closed
wants to merge 35 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9f4447b
Disable mono workload. Override ILCompiler packs. Add restore feed
maraf May 2, 2024
5904423
Extract the version to a property
maraf May 3, 2024
c7be3fa
Don't override TargetingPackVersion
maraf May 3, 2024
051deab
Add OverrideImportRuntimeIlcPackageTarget
maraf May 7, 2024
f260eea
Add WASI WBT
maraf May 7, 2024
88be64a
Update package version
maraf May 9, 2024
08a98d9
Run with wasmtime
maraf May 9, 2024
d8f8bed
Wasmtime normalizes exit code. Returning 0 seems like a good thing to do
maraf May 9, 2024
8ec46fa
Run the wasi test on CI
maraf May 9, 2024
3a8808a
Explicitly disable browser workload to prevent enabling it in emscrip…
maraf May 9, 2024
30824f6
Browser WBT
maraf May 9, 2024
7946571
Merge remote-tracking branch 'upstream/main' into WasmNaotLlvmSdk
maraf May 9, 2024
4c3c351
Run browser WBT on CI
maraf May 9, 2024
b51f621
Run browser WBT on CI (fix damage)
maraf May 9, 2024
7efc56b
Linux is not supported
maraf May 10, 2024
7bfead3
Run browser WBT on CI (fix class name)
maraf May 10, 2024
a13f2a0
Linux is not supported
maraf May 10, 2024
065a103
Expect fail on non-Windows
maraf May 13, 2024
9b080bb
DEBUG missing libLLVM.dll
maraf May 13, 2024
0096144
DEBUG package reference style project
maraf May 18, 2024
c72e9f4
DEBUG package reference style project (fix)
maraf May 18, 2024
93e54b0
DEBUG package reference style project (fix trimmer)
maraf May 21, 2024
255ec70
DEBUG: OS info
maraf May 22, 2024
b8fb22a
DEBUG: CoreCLR tracing
maraf May 22, 2024
2aa832f
Update NativeAOT-LLVM version
maraf Jun 3, 2024
4e94ebd
Merge branch 'main' into WasmNaotLlvmSdk
maraf Jun 3, 2024
5bd7bf2
Fix merge damage
maraf Jun 4, 2024
4ac36fd
Update LLVM ILC version
maraf Jun 21, 2024
5091f1b
Cleanup after CI debugging
maraf Jun 21, 2024
5c684e6
Merge branch 'main' into WasmNaotLlvmSdk
maraf Jun 21, 2024
9841eb0
Merge branch 'main' into WasmNaotLlvmSdk
maraf Jun 21, 2024
b797fad
Feedback
maraf Aug 14, 2024
1a21a15
Update version
maraf Aug 14, 2024
2c4c818
Run only NativeAOT WBT
maraf Aug 14, 2024
28ebf99
Merge remote-tracking branch 'upstream/main' into WasmNaotLlvmSdk
maraf Aug 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<PropertyGroup>
<_IsUsingNativeAOT Condition="'$(PublishAot)' == 'true'">true</_IsUsingNativeAOT>
Copy link
Member

Choose a reason for hiding this comment

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

Can we not use PublishAot == true condition directly? MSBuild evaluates it the same way (since there is no use in any target), so it seems redundant.

Copy link
Member Author

@maraf maraf Aug 14, 2024

Choose a reason for hiding this comment

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

We can. I wanted to extract it, because we weren't sure if using PublishAot for this highly experimental thing is the right choice.

<_RuntimePackInWorkloadVersionCurrent>${PackageVersion}</_RuntimePackInWorkloadVersionCurrent>
<_RuntimePackInWorkloadVersion8>${PackageVersionNet8}</_RuntimePackInWorkloadVersion8>
<_RuntimePackInWorkloadVersion7>${PackageVersionNet7}</_RuntimePackInWorkloadVersion7>
Expand Down Expand Up @@ -65,6 +66,24 @@
<UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''">$(WasmNativeWorkloadAvailable)</UsingBrowserRuntimeWorkload>
</PropertyGroup>

<PropertyGroup Condition="'$(_IsUsingNativeAOT)' == 'true'">
<UsingBrowserRuntimeWorkload Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">false</UsingBrowserRuntimeWorkload>
<UsingWasiRuntimeWorkload Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">false</UsingWasiRuntimeWorkload>
<UseAppHost>false</UseAppHost>
<WasmNativeAOTLLVMILCompilerVersion Condition="'$(WasmNativeAOTLLVMILCompilerVersion)' == ''">9.0.0-alpha.1.24173.1</WasmNativeAOTLLVMILCompilerVersion>
maraf marked this conversation as resolved.
Show resolved Hide resolved
<RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json</RestoreAdditionalProjectSources>
maraf marked this conversation as resolved.
Show resolved Hide resolved
</PropertyGroup>

<ItemGroup Condition="'$(_IsUsingNativeAOT)' == 'true' and ('$(RuntimeIdentifier)' == 'browser-wasm' or '$(RuntimeIdentifier)' == 'wasi-wasm')">
<KnownILCompilerPack Remove="Microsoft.DotNet.ILCompiler" />
Copy link
Member

Choose a reason for hiding this comment

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

This is me being nit-picky - I would move this down near where we set KnownRuntimePack and the like.

<KnownILCompilerPack Include="Microsoft.DotNet.ILCompiler.LLVM"
TargetFramework="${NetCoreAppCurrent}"
ILCompilerPackNamePattern="runtime.**RID**.Microsoft.DotNet.ILCompiler.LLVM"
ILCompilerPackVersion="$(WasmNativeAOTLLVMILCompilerVersion)"
ILCompilerRuntimeIdentifiers="wasi-wasm;browser-wasm;win-x64"
/>
</ItemGroup>

<PropertyGroup Condition="'$(NativeLib)' != ''">
<_IsAndroidLibraryMode Condition="'$(RuntimeIdentifier)' == 'android-arm64' or '$(RuntimeIdentifier)' == 'android-arm' or '$(RuntimeIdentifier)' == 'android-x64' or '$(RuntimeIdentifier)' == 'android-x86'">true</_IsAndroidLibraryMode>
<_IsAppleMobileLibraryMode Condition="'$(RuntimeIdentifier)' == 'ios-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-arm64' or '$(RuntimeIdentifier)' == 'iossimulator-x64' or '$(RuntimeIdentifier)' == 'maccatalyst-arm64' or '$(RuntimeIdentifier)' == 'maccatalyst-x64' or '$(RuntimeIdentifier)' == 'tvos-arm64'">true</_IsAppleMobileLibraryMode>
Expand Down