Skip to content

Commit b3edc51

Browse files
committed
revert javascript workaround
docs
1 parent 9b22fae commit b3edc51

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

docs/workflow/building/coreclr/nativeaot.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,26 @@ You should now be able to publish the project for Wasm: `dotnet publish -r brows
7676

7777
Once you build the repo, you can use the produced binaries in one of four ways specified below ("Using built binaries", "Building packages", "Convenience Visual Studio "repro" project", "Running tests").
7878

79+
## Building for Multithreaded packages
80+
81+
This is a work in progress and far from functional. Currentlty there exists just enough infrastucture to build packages for mutlithreaded runtime and libs, but they are not functional in the sense that they support multithreaded programs yet. To build the WASI packages:
82+
```
83+
build clr.aot+libs+nativeaot.packages -c Debug -a wasm -os wasi -cmakeargs -DCLR_CMAKE_TARGET_OS_SUBGROUP=multithread '/p:WasmEnableThreads=true'
84+
```
85+
To build the browser multithreaded packages:
86+
```
87+
build clr.aot+libs+nativeaot.packages -c Debug -a wasm -os browser -cmakeargs -DCLR_CMAKE_TARGET_OS_SUBGROUP=multithread '/p:WasmEnableThreads=true'
88+
```
89+
To build the runtime tests for WASI
90+
```
91+
src\tests\build nativeaot Debug wasm tree nativeaot wasi /p:LibrariesConfiguration=debug /p:TestWrapperTargetsWindows=true /p:FeatureWasmManagedThreads=true
92+
```
93+
To build the runtime tests for browser
94+
```
95+
src\tests\build nativeaot Debug wasm tree nativeaot browser /p:LibrariesConfiguration=debug /p:TestWrapperTargetsWindows=true /p:FeatureWasmManagedThreads=true /p:WasmEnableThreads=true
96+
```
97+
98+
7999
### Using built binaries
80100

81101
In this workflow, you have a project file that you want to `dotnet publish`, but you want to use your own build of the compiler/runtime/framework. You need to be using a daily build of the .NET SDK downloaded from the dotnet/sdk repo. It's typically enough to just download the daily build ZIP file, unpack it, and make sure the unpacked directory is the first thing in your PATH. Don't forget to add a NuGet.config as specified by the dotnet/sdk repo- you'll hit restore issues otherwise.

src/libraries/System.Runtime.InteropServices.JavaScript/src/System.Runtime.InteropServices.JavaScript.csproj

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,6 @@
7676
<Compile Include="System\Runtime\InteropServices\JavaScript\JSWebWorker.cs" />
7777
<Compile Include="System\Runtime\InteropServices\JavaScript\JSSynchronizationContext.cs" />
7878
<Compile Include="System\Runtime\InteropServices\JavaScript\JSAsyncTaskScheduler.cs" />
79-
<!-- Can't build System.Threading.Channels.csproj without these -->
80-
<ProjectReference Include="$(LibrariesProjectRoot)System.Collections\src\System.Collections.csproj" />
81-
<ProjectReference Include="$(LibrariesProjectRoot)System.Collections.Concurrent\src\System.Collections.Concurrent.csproj" />
82-
<ProjectReference Include="$(LibrariesProjectRoot)System.Memory\src\System.Memory.csproj" />
83-
<ProjectReference Include="$(LibrariesProjectRoot)System.Threading.ThreadPool\src\System.Threading.ThreadPool.csproj" />
8479
</ItemGroup>
8580
<ItemGroup Condition="'$(WasmEnableThreads)' == 'true'">
8681
<ApiCompatSuppressionFile Include="CompatibilitySuppressions.xml;CompatibilitySuppressions.WasmThreads.xml" />

0 commit comments

Comments
 (0)