-
Notifications
You must be signed in to change notification settings - Fork 32
[release/7.0][wasm-mt] Create a Microsoft.NET.Runtime.Emscripten.Cache #208
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
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
Using But, we can change the directory where the cache resides. And locally, if I exclude the So instead of making a "Emsciprten.Threading.Sdk" package. we could make an "Emscripten.Cache.Sdk" package instead and put all the libs (threaded and non-threaded) in there, and use the nice This appears to work locally: <PropertyGroup>
<EmscriptenThreadingSdkCacheDir>/home/aleksey/working/dotnet-runtime/src/mono/wasm/emsdk/upstream/emscripten/cache/</EmscriptenThreadingSdkCacheDir>
</PropertyGroup>
<Target Name="_EmscriptenThreadingPrependLinkFlags" BeforeTargets="_PrepareForWasmBuildNative" Condition="'$(WasmEnableThreads)' == 'true'">
<PropertyGroup>
<WasmCachePath>$(EmscriptenThreadingSdkCacheDir)</WasmCachePath>
</PropertyGroup>
</Target> |
- Split up the Emscripten SDK by moving the system libraries cache into a separate nupkg. - make a new Emscripten Cache SDK that includes just the cache directory - the Cache SDK overrides the WasmCachePath (if it's not set by the user) to point into the Cache SDK - we leave the mt multithreaded libraries in the cache. (But we remove the ww WebWorker (non-pthread) Emscripten API libraries)
|
@joeloff if emsdk adds a new pack is that going to cause you issues? |
So the emscripten SDK is now 196 megs, and the cache sdk is 50 megs And the Cache SDK contents are listed here https://gist.github.com/lambdageek/53991645623340551e65c4be4213bfa0 |
|
@lewing pushed the workload manifest changes, too. |
|
maybe Microsoft.NET.Runtime.Emscripten.Cache.Sdk -> Microsoft.NET.Runtime.Emscripten.Cache? |
nope, should be fine. thanks for checking |
| @@ -0,0 +1,11 @@ | |||
| <Project> | |||
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.
Does this need to be a separate file?
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.
Not sure. I'm copying what the Emscripten.Sdk.pkgproj did
|
I ran the workload build tests in dotnet/runtime with the nugets from this PR (by modifying I also built a multi-threaded runtime and used it with the workload from this PR to build the multithreaded raytracer demo. That also worked. |
Spin out the emscripten system libraries cache into a separate nupkg.
Split up the Emscripten SDK by moving the system libraries cache into a separate nupkg.
make a new Emscripten Cache SDK that includes just the cache directory
the Cache SDK overrides the WasmCachePath (if it's not set by the user) to point into the Cache SDK
we leave the mt multithreaded libraries in the cache. (But we remove the ww WebWorker (non-pthread) Emscripten API libraries)
Addresses dotnet/runtime#75263