Skip to content

Commit 84a3d0e

Browse files
[release/8.0-preview4] [wasi] Fix support for paths with spaces (#85998)
* [wasi] Fix disabling wasi build for projects * [wasi] Fix quoting in Wasi targets * [wasi] WBT: don't run wasi targets for the tests project --------- Co-authored-by: Ankit Jain <radical@gmail.com>
1 parent 9139d44 commit 84a3d0e

File tree

4 files changed

+9
-11
lines changed

4 files changed

+9
-11
lines changed

src/mono/wasi/Wasi.Build.Tests/Wasi.Build.Tests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<InstallWorkloadForTesting>true</InstallWorkloadForTesting>
1818

1919
<!-- don't run any wasm build steps -->
20-
<IsBrowserWasmProject>false</IsBrowserWasmProject>
20+
<IsWasiProject>false</IsWasiProject>
2121
<UseDefaultTestHost>true</UseDefaultTestHost>
2222

2323
<EnableRunSettingsSupport>false</EnableRunSettingsSupport>

src/mono/wasi/build/WasiApp.Native.targets

+5-5
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
</PropertyGroup>
9595
</Target>
9696

97-
<Target Name="_WasiBuildNativeCore" DependsOnTargets="$(_WasiBuildNativeCoreDependsOn)" Condition="'$(WasmBuildNative)' == 'true'" />
97+
<Target Name="_WasiBuildNativeCore" BeforeTargets="_WasiGenerateAppBundle" DependsOnTargets="$(_WasiBuildNativeCoreDependsOn)" Condition="'$(WasmBuildNative)' == 'true'" />
9898

9999
<Target Name="_PrepareForWasiBuildNative">
100100
<Error Condition="'$(_IsToolchainMissing)' == 'true'"
@@ -446,8 +446,8 @@
446446
<_WasiFilePathForFixup Include="@(_WasmNativeFileForLinking)" />
447447
<_WasiFilePathForFixup Include="@(_WasmRuntimePackSrcFile)" />
448448

449-
<_WasiSdkClangArgs Condition="'$(OS)' == 'Windows_NT'" Include="$([System.String]::new(%(_WasiFilePathForFixup.Identity)).Replace('\', '/'))" />
450-
<_WasiSdkClangArgs Condition="'$(OS)' != 'Windows_NT'" Include="@(_WasiFilePathForFixup)" />
449+
<_WasiSdkClangArgs Condition="'$(OS)' == 'Windows_NT'" Include="&quot;$([System.String]::new(%(_WasiFilePathForFixup.Identity)).Replace('\', '/'))&quot;" />
450+
<_WasiSdkClangArgs Condition="'$(OS)' != 'Windows_NT'" Include="@(_WasiFilePathForFixup -> '&quot;%(Identity)&quot;')" />
451451

452452
<_WasiSdkClangArgs Include="@(_WasmCommonCFlags)" />
453453

@@ -470,9 +470,9 @@
470470

471471
<WriteLinesToFile Lines="@(_WasiSdkClangArgs)" File="$(_WasmIntermediateOutputPath)clang-compile.rsp" Overwrite="true" />
472472
<!--<Message Importance="High" Text="Performing WASI SDK build: &quot;$(WasiClang)&quot; @(_WasiSdkClangArgs, ' ')" />-->
473-
<Message Importance="High" Text="Performing WASI SDK build: &quot;$(WasiClang)&quot; @$(_WasmIntermediateOutputPath)clang-compile.rsp" />
473+
<Message Importance="High" Text="Performing WASI SDK build: &quot;$(WasiClang)&quot; &quot;@$(_WasmIntermediateOutputPath)clang-compile.rsp&quot;" />
474474
<!--<Exec Command="&quot;$(WasiClang)&quot; @(_WasiSdkClangArgs, ' ')" />-->
475-
<Exec Command="&quot;$(WasiClang)&quot; @$(_WasmIntermediateOutputPath)clang-compile.rsp" />
475+
<Exec Command="&quot;$(WasiClang)&quot; &quot;@$(_WasmIntermediateOutputPath)clang-compile.rsp&quot;" />
476476

477477
<!-- FIXME: this will be done by the bundler -->
478478
<Copy SourceFiles="$(_WasmOutputFileName)" DestinationFolder="$(WasmAppDir)" />

src/mono/wasi/build/WasiApp.props

-2
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77
<RuntimeIdentifier>wasi-wasm</RuntimeIdentifier>
88
<UseMonoRuntime>true</UseMonoRuntime>
99
<TrimMode Condition="'$(TrimMode)' == ''">partial</TrimMode>
10-
<WasmBuildNativeTarget>_WasiBuildNativeCore</WasmBuildNativeTarget>
1110

1211
<_WasmBuildCoreDependsOn>
1312
_InitializeCommonProperties;
1413
_PrepareForAfterBuild;
1514
_BeforeWasmBuildApp;
16-
$(WasmBuildNativeTarget);
1715
_WasiGenerateAppBundle;
1816
</_WasmBuildCoreDependsOn>
1917
<WasmBuildAppDependsOn>

src/mono/wasi/build/WasiApp.targets

+3-3
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@
166166

167167
<Target Name="WasmTriggerPublishApp"
168168
AfterTargets="$(WasmTriggerPublishAppAfterThisTarget)"
169-
Condition="'$(IsWasmProject)' == 'true' and '$(WasmBuildingForNestedPublish)' != 'true' and '$(IsCrossTargetingBuild)' != 'true'">
169+
Condition="'$(IsWasiProject)' == 'true' and '$(WasmBuildingForNestedPublish)' != 'true' and '$(IsCrossTargetingBuild)' != 'true'">
170170

171171
<!-- Use a unique property, so the already run wasm targets can also run -->
172172
<MSBuild Projects="$(MSBuildProjectFile)"
@@ -221,7 +221,7 @@
221221
<Target Name="WasmBuildApp"
222222
AfterTargets="$(WasmBuildAppAfterThisTarget)"
223223
DependsOnTargets="$(WasmBuildAppDependsOn)"
224-
Condition="'$(IsWasmProject)' == 'true' and '$(WasmBuildingForNestedPublish)' == '' and '$(WasmBuildOnlyAfterPublish)' != 'true' and '$(IsCrossTargetingBuild)' != 'true'" />
224+
Condition="'$(IsWasiProject)' == 'true' and '$(WasmBuildingForNestedPublish)' == '' and '$(WasmBuildOnlyAfterPublish)' != 'true' and '$(IsCrossTargetingBuild)' != 'true'" />
225225

226226
<Target Name="_InitializeCommonProperties">
227227
<Error Condition="'$(MicrosoftNetCoreAppRuntimePackDir)' == '' and ('%(ResolvedRuntimePack.PackageDirectory)' == '' or !Exists(%(ResolvedRuntimePack.PackageDirectory)))"
@@ -385,7 +385,7 @@
385385
<FileWrites Include="$(WasmRunWasmtimeScriptPath)" />
386386
</ItemGroup>
387387

388-
<Exec Condition="'$(OS)' != 'Windows_NT'" Command="chmod a+x $(WasmRunWasmtimeScriptPath)" />
388+
<Exec Condition="'$(OS)' != 'Windows_NT'" Command="chmod a+x &quot;$(WasmRunWasmtimeScriptPath)&quot;" />
389389
</Target>
390390

391391
<Target Name="_WasmResolveReferences" Condition="'$(WasmResolveAssembliesBeforeBuild)' == 'true'">

0 commit comments

Comments
 (0)