Skip to content

Commit 32fbf8d

Browse files
authored
Move the Blazor workaround into WASM (#3082)
The workaround needed for WASM is not really Blazor specific and if the project is not using the Blazor views, the fix will not be applied to the build.
1 parent aa42586 commit 32fbf8d

File tree

4 files changed

+36
-37
lines changed

4 files changed

+36
-37
lines changed

binding/HarfBuzzSharp.NativeAssets.WebAssembly/buildTransitive/HarfBuzzSharp.targets

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,22 @@
3131
<NativeFileReference Include="$(HarfBuzzSharpStaticLibraryPath)\3.1.56\$(_HarfBuzzSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '9.0'))" />
3232
</ItemGroup>
3333

34+
<!-- Workaround for https://github.com/dotnet/runtime/issues/109289 -->
35+
<Target Name="RuntimeIssue109289_Workaround"
36+
AfterTargets="_BrowserWasmWriteRspForLinking">
37+
<ItemGroup>
38+
<_WasmLinkStepArgs Remove="@(_EmccLinkStepArgs)" />
39+
<_EmccLinkStepArgs Remove="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
40+
<_WasmLinkDependencies Remove="@(_WasmNativeFileForLinking)" />
41+
42+
<_SkiaSharpToReorder Include="@(_WasmNativeFileForLinking)" Condition="$([System.String]::Copy('%(FullPath)').Contains('libSkiaSharp.a'))" />
43+
<_WasmNativeFileForLinking Remove="@(_SkiaSharpToReorder)" />
44+
<_WasmNativeFileForLinking Include="@(_SkiaSharpToReorder)" />
45+
46+
<_EmccLinkStepArgs Include="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
47+
<_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" />
48+
<_WasmLinkStepArgs Include="@(_EmccLinkStepArgs)" />
49+
</ItemGroup>
50+
</Target>
51+
3452
</Project>

binding/IncludeNativeAssets.SkiaSharp.targets

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,24 @@
7979
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.12\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))" />
8080
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.34\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0'))" />
8181
<NativeFileReference Include="$(MSBuildThisFileDirectory)..\output\native\wasm\libSkiaSharp.a\3.1.56\$(_SkiaSharpNativeBinaryType)\*.a" Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '9.0'))" />
82-
8382
</ItemGroup>
8483

84+
<!-- Workaround for https://github.com/dotnet/runtime/issues/109289 -->
85+
<Target Name="RuntimeIssue109289_Workaround"
86+
AfterTargets="_BrowserWasmWriteRspForLinking">
87+
<ItemGroup>
88+
<_WasmLinkStepArgs Remove="@(_EmccLinkStepArgs)" />
89+
<_EmccLinkStepArgs Remove="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
90+
<_WasmLinkDependencies Remove="@(_WasmNativeFileForLinking)" />
91+
92+
<_SkiaSharpToReorder Include="@(_WasmNativeFileForLinking)" Condition="$([System.String]::Copy('%(FullPath)').Contains('libSkiaSharp.a'))" />
93+
<_WasmNativeFileForLinking Remove="@(_SkiaSharpToReorder)" />
94+
<_WasmNativeFileForLinking Include="@(_SkiaSharpToReorder)" />
95+
96+
<_EmccLinkStepArgs Include="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
97+
<_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" />
98+
<_WasmLinkStepArgs Include="@(_EmccLinkStepArgs)" />
99+
</ItemGroup>
100+
</Target>
101+
85102
</Project>

source/SkiaSharp.Views/SkiaSharp.Views.Blazor/nuget/buildTransitive/SkiaSharp.Views.Blazor.Local.props

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,4 @@
66
<EmccExtraLDFlags>$(EmccExtraLDFlags) --js-library="$(MSBuildThisFileDirectory)SkiaSharpInterop.js"</EmccExtraLDFlags>
77
</PropertyGroup>
88

9-
<!-- Workaround for https://github.com/dotnet/runtime/issues/109289 -->
10-
<Target Name="RuntimeIssue109289_Workaround"
11-
AfterTargets="_BrowserWasmWriteRspForLinking">
12-
<ItemGroup>
13-
<_WasmLinkStepArgs Remove="@(_EmccLinkStepArgs)" />
14-
<_EmccLinkStepArgs Remove="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
15-
<_WasmLinkDependencies Remove="@(_WasmNativeFileForLinking)" />
16-
17-
<_SkiaSharpToReorder Include="@(_WasmNativeFileForLinking)" Condition="$([System.String]::Copy('%(FullPath)').Contains('libSkiaSharp.a'))" />
18-
<_WasmNativeFileForLinking Remove="@(_SkiaSharpToReorder)" />
19-
<_WasmNativeFileForLinking Include="@(_SkiaSharpToReorder)" />
20-
21-
<_EmccLinkStepArgs Include="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
22-
<_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" />
23-
<_WasmLinkStepArgs Include="@(_EmccLinkStepArgs)" />
24-
</ItemGroup>
25-
</Target>
26-
279
</Project>

source/SkiaSharp.Views/SkiaSharp.Views.Blazor/nuget/buildTransitive/SkiaSharp.Views.Blazor.props

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,6 @@
66
<EmccExtraLDFlags>$(EmccExtraLDFlags) --js-library="$(MSBuildThisFileDirectory)SkiaSharpInterop.js"</EmccExtraLDFlags>
77
</PropertyGroup>
88

9-
<!-- Workaround for https://github.com/dotnet/runtime/issues/109289 -->
10-
<Target Name="RuntimeIssue109289_Workaround"
11-
AfterTargets="_BrowserWasmWriteRspForLinking">
12-
<ItemGroup>
13-
<_WasmLinkStepArgs Remove="@(_EmccLinkStepArgs)" />
14-
<_EmccLinkStepArgs Remove="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
15-
<_WasmLinkDependencies Remove="@(_WasmNativeFileForLinking)" />
16-
17-
<_SkiaSharpToReorder Include="@(_WasmNativeFileForLinking)" Condition="$([System.String]::Copy('%(FullPath)').Contains('libSkiaSharp.a'))" />
18-
<_WasmNativeFileForLinking Remove="@(_SkiaSharpToReorder)" />
19-
<_WasmNativeFileForLinking Include="@(_SkiaSharpToReorder)" />
20-
21-
<_EmccLinkStepArgs Include="&quot;%(_WasmNativeFileForLinking.Identity)&quot;" />
22-
<_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" />
23-
<_WasmLinkStepArgs Include="@(_EmccLinkStepArgs)" />
24-
</ItemGroup>
25-
</Target>
26-
279
<Import Project="msbuild.build.SkiaSharp.Views.Blazor.props" />
2810

2911
</Project>

0 commit comments

Comments
 (0)