From 4c6b9439cbf5bacd0994d360b1bf94b83be0c029 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 5 Aug 2026 11:09:19 +0200 Subject: [PATCH 1/3] Package CoreCLR wasm relink headers in the runtime pack PR #131646 installs callhelpers.hpp / minipal headers under sharedFramework/include and declares them in the platform manifest, but the generic runtime-file harvest in eng/liveBuilds.targets only globs the top level of sharedFramework (*.*), so the include/ subtree was silently dropped and the pack shipped without the headers. Native relink from a restored SDK therefore still failed with 'callhelpers.hpp file not found'. Harvest the include/ subtree into runtimes//native/include (preserving the minipal subdir), mirroring how the Mono pack ships its relink headers. --- ...rosoft.NETCore.App.Runtime.CoreCLR.sfxproj | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj index 45a5d877f608a9..db6a944edb72b1 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj @@ -93,4 +93,26 @@ + + + + + + <_CoreCLRWasmIncludeFile Include="$(CoreCLRSharedFrameworkDir)include\**\*.*" /> + + runtimes/$(RuntimeIdentifier)/native/include/%(RecursiveDir) + true + true + + + From cec9e979f2d0c3afa7085dd923e636c51cc44fba Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 5 Aug 2026 11:23:37 +0200 Subject: [PATCH 2/3] cut noise --- .../Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj index db6a944edb72b1..cfb7b62442c35b 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj @@ -94,13 +94,6 @@ - From e5cd7c5633d674a58dc16c8c9140a405572e5932 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 5 Aug 2026 11:56:32 +0200 Subject: [PATCH 3/3] Source relink headers from host sharedFramework via the standard harvest Correct the previous approach: the browserhost CMake install lands the headers in the *host* sharedFramework ($(HostSharedFrameworkDir)/include), same as libBrowserHost.a / dotnet.native.wasm - not the CoreCLR sharedFramework. Harvest them via LibrariesRuntimeFiles with NativeSubDirectory (mirroring the Mono include\wasm headers) instead of a bespoke sfxproj glob, and stage them into the in-tree runtime-pack layout via corehost.proj CopyWasmNativeFiles alongside the other browser host files. --- eng/liveBuilds.targets | 13 +++++++++++++ .../Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj | 15 --------------- src/native/corehost/corehost.proj | 10 ++++++++++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/eng/liveBuilds.targets b/eng/liveBuilds.targets index 601c85c77ec34b..8c8fcee8f5d280 100644 --- a/eng/liveBuilds.targets +++ b/eng/liveBuilds.targets @@ -270,6 +270,19 @@ " IsNative="true" /> + + + + - - - - - <_CoreCLRWasmIncludeFile Include="$(CoreCLRSharedFrameworkDir)include\**\*.*" /> - - runtimes/$(RuntimeIdentifier)/native/include/%(RecursiveDir) - true - true - - - diff --git a/src/native/corehost/corehost.proj b/src/native/corehost/corehost.proj index c07994e55ce3f6..05a479acd8884b 100644 --- a/src/native/corehost/corehost.proj +++ b/src/native/corehost/corehost.proj @@ -207,6 +207,16 @@ + + + +