diff --git a/eng/AcquireWasiSdk.targets b/eng/AcquireWasiSdk.targets new file mode 100644 index 00000000000000..03f07c94e27841 --- /dev/null +++ b/eng/AcquireWasiSdk.targets @@ -0,0 +1,62 @@ + + + + <_WasiSdkVersion>25.0 + <_RuntimeLocalWasiSdkPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'wasi-sdk')) + + + + + + <_ActualWasiSdkVersion Condition="'$(WASI_SDK_PATH)' != '' and Exists('$(WASI_SDK_PATH)/VERSION')">$([System.IO.File]::ReadAllText('$(WASI_SDK_PATH)/VERSION').Split()[0]) + <_UseRuntimeLocalWasiSdk Condition="'$(_WasiSdkVersion)' != '$(_ActualWasiSdkVersion)'">true + + + + + + + + + + <_WasiSdkMajorVersion>$(_WasiSdkVersion.Split('.')[0]) + <_WasiSdkUrl>https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(_WasiSdkMajorVersion)/wasi-sdk-$(_WasiSdkVersion)-x86_64-linux.tar.gz + <_WasiSdkUrl Condition="'$(HostOS)' == 'osx'" >https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(_WasiSdkMajorVersion)/wasi-sdk-$(_WasiSdkVersion)-x86_64-macos.tar.gz + <_WasiSdkUrl Condition="'$(HostOS)' == 'windows'" >https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(_WasiSdkMajorVersion)/wasi-sdk-$(_WasiSdkVersion)-x86_64-windows.tar.gz + + + + + + + + + + + + + $([MSBuild]::NormalizeDirectory('$(WASI_SDK_PATH)')) + $(_RuntimeLocalWasiSdkPath) + + + + + diff --git a/src/mono/wasi/provision.ps1 b/eng/download-wasi-sdk.ps1 similarity index 56% rename from src/mono/wasi/provision.ps1 rename to eng/download-wasi-sdk.ps1 index 9f7d8368216dcd..23aed3a6af227f 100644 --- a/src/mono/wasi/provision.ps1 +++ b/eng/download-wasi-sdk.ps1 @@ -4,17 +4,13 @@ param( [Parameter()] [string]$WasiSdkVersion, [Parameter()] - [string]$WasiSdkPath, - [Parameter()] - [string]$WasiLocalPath + [string]$WasiSdkPath ) Set-StrictMode -version 2.0 $ErrorActionPreference='Stop' $ProgressPreference = 'SilentlyContinue' -New-Item -Path $WasiSdkPath -ItemType "directory" Invoke-WebRequest -Uri $WasiSdkUrl -OutFile ./wasi-sdk-$WasiSdkVersion-x86_64-windows.tar.gz -tar --strip-components=1 -xzf ./wasi-sdk-$WasiSdkVersion-x86_64-windows.tar.gz -C $WasiSdkPath -Copy-Item $WasiLocalPath/wasi-sdk-version.txt $WasiSdkPath/wasi-sdk-version.txt +tar --strip-components=1 -xzmf ./wasi-sdk-$WasiSdkVersion-x86_64-windows.tar.gz -C $WasiSdkPath Remove-Item ./wasi-sdk-$WasiSdkVersion-x86_64-windows.tar.gz -fo diff --git a/eng/native/gen-buildsys.cmd b/eng/native/gen-buildsys.cmd index d48996ac579dbe..317cd0830843d0 100644 --- a/eng/native/gen-buildsys.cmd +++ b/eng/native/gen-buildsys.cmd @@ -59,12 +59,12 @@ if /i "%__Arch%" == "wasm" ( ) if /i "%__Os%" == "wasi" ( if "%WASI_SDK_PATH%" == "" ( - if not exist "%__repoRoot%\src\mono\wasi\wasi-sdk" ( + if not exist "%__repoRoot%\artifacts\wasi-sdk" ( echo Error: Should set WASI_SDK_PATH environment variable pointing to WASI SDK root. exit /B 1 ) - set "WASI_SDK_PATH=%__repoRoot%\src\mono\wasi\wasi-sdk" + set "WASI_SDK_PATH=%__repoRoot%\artifacts\wasi-sdk" ) set __CmakeGenerator=Ninja set __ExtraCmakeParams=%__ExtraCmakeParams% -DCLR_CMAKE_TARGET_OS=wasi "-DCMAKE_TOOLCHAIN_FILE=!WASI_SDK_PATH!/share/cmake/wasi-sdk-p2.cmake" "-DCMAKE_CROSSCOMPILING_EMULATOR=node --experimental-wasm-bigint --experimental-wasi-unstable-preview1" diff --git a/eng/native/gen-buildsys.sh b/eng/native/gen-buildsys.sh index 588a1cc6509799..1d52c232b84572 100755 --- a/eng/native/gen-buildsys.sh +++ b/eng/native/gen-buildsys.sh @@ -109,8 +109,8 @@ if [[ "$host_arch" == "wasm" ]]; then cmake_command="emcmake $cmake_command" elif [[ "$target_os" == "wasi" ]]; then if [[ -z "$WASI_SDK_PATH" ]]; then - if [[ -d "$reporoot"/src/mono/wasi/wasi-sdk ]]; then - export WASI_SDK_PATH="$reporoot"/src/mono/wasi/wasi-sdk + if [[ -d "$reporoot"/artifacts/wasi-sdk ]]; then + export WASI_SDK_PATH="$reporoot"/artifacts/wasi-sdk else echo "Error: You need to set the WASI_SDK_PATH environment variable pointing to the WASI SDK root." exit 1 diff --git a/eng/testing/tests.wasi.targets b/eng/testing/tests.wasi.targets index 066c4391ad4503..0bcc1835881460 100644 --- a/eng/testing/tests.wasi.targets +++ b/eng/testing/tests.wasi.targets @@ -13,8 +13,6 @@ >true - $([MSBuild]::NormalizeDirectory($(MonoProjectRoot), 'wasi', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) <_BundleAOTTestWasmAppForHelixDependsOn>$(_BundleAOTTestWasmAppForHelixDependsOn);PrepareForWasiBuildApp;_PrepareForAOTOnHelix diff --git a/src/libraries/sendtohelix-wasi.targets b/src/libraries/sendtohelix-wasi.targets index 0a22d5f70136e0..ccb4e68c2db60c 100644 --- a/src/libraries/sendtohelix-wasi.targets +++ b/src/libraries/sendtohelix-wasi.targets @@ -46,8 +46,6 @@ false false - $([MSBuild]::NormalizeDirectory($(RepoRoot), 'src', 'mono', 'wasi', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasi', 'build')) $(HelixDependenciesStagingPath)$(WorkItemPrefix)wasi-sdk $(HelixDependenciesStagingPath)$(WorkItemPrefix)wasmtime @@ -63,11 +61,6 @@ dotnet-none - - - - - @@ -104,7 +97,20 @@ false + + + + + + + + + + + SetStressModes_$(Scenario).sh - - <__HelixDependenciesToStageThatDontExist Include="@(HelixDependenciesToStage)" /> - <__HelixDependenciesToStageThatDontExist Remove="@(HelixDependenciesToStage->Exists())" /> - - @@ -362,7 +357,12 @@ `WASI_SDK_PATH=/usr/local/wasi-sdk` .. then we need to stage that before passing the path to helix like under `artifacts/obj/helix-staging` --> - + + + <__HelixDependenciesToStageThatDontExist Include="@(HelixDependenciesToStage)" Condition="!Exists('%(Identity)')" /> + + diff --git a/src/mono/Directory.Build.props b/src/mono/Directory.Build.props index 6b6a4f6aa77bfe..84059d36ca6234 100644 --- a/src/mono/Directory.Build.props +++ b/src/mono/Directory.Build.props @@ -32,13 +32,6 @@ $(ProvisionEmscriptenDir.Replace('\', '/')) - - - $([MSBuild]::NormalizeDirectory($(MSBuildThisFileDirectory), 'wasi', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) - true - - $(TargetOS).$(Platform).$(Configuration) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mono', '$(TargetOS).$(Platform).$(Configuration)')) diff --git a/src/mono/browser/README.md b/src/mono/browser/README.md index 99db810abc6de7..baf2fe1785e678 100644 --- a/src/mono/browser/README.md +++ b/src/mono/browser/README.md @@ -393,7 +393,7 @@ Tests are run with V8, Chrome, node, and wasmtime for the various jobs. - V8: the version used is from `eng/testing/BrowserVersions.props`. This is used for all the library tests, and WBT, but *not* runtime tests. - Chrome: Same as V8. - Node: fixed version from emsdk -- wasmtime - fixed version in `src/mono/wasi/wasi-sdk-version.txt`. +- wasmtime - fixed version in `src/mono/wasi/wasmtime-version.txt`. ### `eng/testing/BrowserVersions.props` diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 7f79cb409cd3fb..fcc63ac9a14a0a 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -130,7 +130,6 @@ - @@ -306,51 +305,6 @@ JS_ENGINES = [NODE_JS] - - - - - - - - $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'wasi')) - %(_VersionLines.Identity) - $(WasiSdkVersion.Split('.')[0]) - https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(WasiSdkMajorVersion)/wasi-sdk-$(WasiSdkVersion)-x86_64-linux.tar.gz - https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(WasiSdkMajorVersion)/wasi-sdk-$(WasiSdkVersion)-x86_64-macos.tar.gz - https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$(WasiSdkMajorVersion)/wasi-sdk-$(WasiSdkVersion)-x86_64-windows.tar.gz - - - - - - - - - - - - - - - - - - - %(_ActualVersionLines.Identity) - %(_ExpectedVersionLines.Identity) - - - - @@ -737,7 +691,7 @@ JS_ENGINES = [NODE_JS] <_MonoCMakeConfigureCommand>cmake @(_MonoCMakeArgs, ' ') $(MonoCMakeExtraArgs) "$(MonoProjectRoot.TrimEnd('\/'))" <_MonoCMakeConfigureCommand Condition="'$(TargetsBrowser)' != 'true' and '$(TargetsWasi)' != 'true' and '$(_MonoSkipInitCompiler)' != 'true' and '$(HostOS)' != 'windows'">sh -c 'build_arch="$(_CompilerTargetArch)" compiler="$(MonoCCompiler)" . "$(RepositoryEngineeringCommonDir)native/init-compiler.sh" && @(_MonoBuildEnv, ' ') $(_MonoCMakeConfigureCommand)' <_MonoCMakeConfigureCommand Condition="'$(TargetsBrowser)' != 'true' and '$(TargetsWasi)' != 'true' and '$(_MonoSkipInitCompiler)' == 'true' and '$(HostOS)' != 'windows'">$(_MonoCCOption) $(_MonoCXXOption) @(_MonoBuildEnv, ' ') $(_MonoCMakeConfigureCommand) - <_MonoCMakeConfigureCommand Condition="'$(TargetsWasi)' == 'true'">$(_MonoCMakeConfigureCommand) -DWASI_SDK_PREFIX=$(WASI_SDK_PATH) -DCMAKE_SYSROOT=$(WASI_SDK_PATH)share/wasi-sysroot -DCMAKE_TOOLCHAIN_FILE=$(WASI_SDK_PATH)/share/cmake/wasi-sdk-p2.cmake -DCMAKE_CXX_FLAGS="--sysroot=$(WASI_SDK_PATH)share/wasi-sysroot" + <_MonoCMakeConfigureCommand Condition="'$(TargetsWasi)' == 'true'">$(_MonoCMakeConfigureCommand) -DCMAKE_TOOLCHAIN_FILE=$(RuntimeBuildWasiSdkPath)share/cmake/wasi-sdk-p2.cmake <_MonoCMakeConfigureCommand Condition="'$(TargetsBrowser)' != 'true' and '$(TargetsWasi)' != 'true' and '$(HostOS)' == 'windows'">call "$(RepositoryEngineeringDir)native\init-vs-env.cmd" $(_CompilerTargetArch) && cd /D "$(MonoObjDir)" && @(_MonoBuildEnv, ' ') $(_MonoCMakeConfigureCommand) <_MonoCMakeConfigureCommand Condition="'$(TargetsBrowser)' == 'true' and '$(HostOS)' != 'windows'">bash -c 'source $(_EmsdkEnvScriptPath) 2>&1 && emcmake $(_MonoCMakeConfigureCommand)' @@ -930,7 +884,7 @@ JS_ENGINES = [NODE_JS] - + CheckEnv;GetXcodeDir;GenerateRuntimeVersionFile;GenerateNativeSourcelinkFile;BuildMonoRuntime;BuildMonoCross ProvisionEmscripten;$(MonoDependsOnTargets) - ProvisionWasiSdk;ValidateWasiSdk;$(MonoDependsOnTargets) + AcquireWasiSdk;$(MonoDependsOnTargets) diff --git a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.pkgproj b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.pkgproj index dcb5b6882e53fb..54dc01747f7d07 100644 --- a/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.pkgproj +++ b/src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk.pkgproj @@ -18,8 +18,6 @@ - - diff --git a/src/mono/wasi/Makefile b/src/mono/wasi/Makefile index d533be06d0793d..a040d9d14a9e5b 100644 --- a/src/mono/wasi/Makefile +++ b/src/mono/wasi/Makefile @@ -10,7 +10,6 @@ endif DOTNET=$(TOP)/dotnet.sh -WASI_SDK_PATH?=$(TOP)/src/mono/wasi/wasi-sdk CONFIG?=Release BINDIR?=$(TOP)/artifacts/bin OBJDIR?=$(TOP)/artifacts/obj @@ -56,7 +55,7 @@ build-tasks: build-packages: rm -f $(TOP)/artifacts/packages/$(CONFIG)/Shipping/*.nupkg - WASI_SDK_PATH=$(WASI_SDK_PATH) $(TOP)/build.sh mono.packages+mono.manifests+packs.product -os wasi -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS) + $(TOP)/build.sh mono.packages+mono.manifests+packs.product -os wasi -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS) clean: $(RM) -rf $(BUILDS_OBJ_DIR) @@ -65,12 +64,12 @@ run-tests-%: $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) run-build-tests: - WASI_SDK_PATH=$(WASI_SDK_PATH) $(DOTNET) build $(TOP)/src/mono/wasi//Wasi.Build.Tests/ /t:Test /bl $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) + $(DOTNET) build $(TOP)/src/mono/wasi//Wasi.Build.Tests/ /t:Test /bl $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) submit-wbt-helix: PATH="$(JSVU):$(PATH)" \ $(DOTNET) build $(TOP)/src/mono/wasi/Wasi.Build.Tests/ /v:m /p:ArchiveTests=true /t:ArchiveTests $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) && \ - WASI_SDK_PATH=$(WASI_SDK_PATH) BUILD_REASON=wasm-test SYSTEM_TEAMPROJECT=public BUILD_REPOSITORY_NAME=dotnet/runtime BUILD_SOURCEBRANCH=main \ + BUILD_REASON=wasm-test SYSTEM_TEAMPROJECT=public BUILD_REPOSITORY_NAME=dotnet/runtime BUILD_SOURCEBRANCH=main \ $(TOP)/eng/common/msbuild.sh --ci -restore $(TOP)/src/libraries/sendtohelix.proj \ /p:TestRunNamePrefixSuffix=WasiBuildTests /p:HelixBuild=`date "+%Y%m%d.%H%M"` /p:Creator=`whoami` \ /bl:$(TOP)/artifacts/log/$(CONFIG)/SendToHelix.binlog -v:m -p:HelixTargetQueue=$(HELIX_TARGET_QUEUE) \ diff --git a/src/mono/wasi/Wasi.Build.Tests/Wasi.Build.Tests.csproj b/src/mono/wasi/Wasi.Build.Tests/Wasi.Build.Tests.csproj index 358c42abcd32ab..eb0a15f451fc50 100644 --- a/src/mono/wasi/Wasi.Build.Tests/Wasi.Build.Tests.csproj +++ b/src/mono/wasi/Wasi.Build.Tests/Wasi.Build.Tests.csproj @@ -31,6 +31,7 @@ + RunScriptTemplate.cmd @@ -48,7 +49,7 @@ - + @@ -112,6 +113,9 @@ + + + diff --git a/src/mono/wasi/build/WasiApp.InTree.targets b/src/mono/wasi/build/WasiApp.InTree.targets index 6d67a76da98035..52eac2e3cef8bc 100644 --- a/src/mono/wasi/build/WasiApp.InTree.targets +++ b/src/mono/wasi/build/WasiApp.InTree.targets @@ -6,8 +6,18 @@ + + + + + $(RuntimeBuildWasiSdkPath) + + + diff --git a/src/mono/wasi/build/WasiApp.targets b/src/mono/wasi/build/WasiApp.targets index 491e41208c6634..f5301b87fe7085 100644 --- a/src/mono/wasi/build/WasiApp.targets +++ b/src/mono/wasi/build/WasiApp.targets @@ -139,9 +139,12 @@ /> - + $(WASI_SDK_PATH)bin/clang + $(WasiClang).exe + $([MSBuild]::NormalizeDirectory($(WASI_SDK_PATH), 'bin')) + <_ToolchainMissingPaths Condition="'$(_ToolchainMissingPaths)' == '' and ('$(WasiClang)' == '' or !Exists('$(WasiClang)'))">%24(WasiClang)=$(WasiClang) @@ -157,8 +160,10 @@ <_IsToolchainMissing Condition="'$(_ToolchainMissingErrorMessage)' != ''">true + + + - $([MSBuild]::NormalizeDirectory($(WasiSdkBinPath))) <_WasmLLVMPathForAOT>$(WasiSdkBinPath) @@ -387,10 +392,7 @@ <_WasmNativeFileForLinking Condition="'$(_WasmSIMDLib)' != ''" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)$(_WasmSIMDLib)" /> <_WasmNativeFileForLinking Remove="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)$(_WasmEHLibToExclude)" /> <_WasmNativeFileForLinking Remove="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)$(_WasmSIMDLibToExclude)" /> - - <_WasmNativeFileForLinking Include="$(WasiSysRoot)\lib\wasm32-wasip2\libc++.a" /> - <_WasmNativeFileForLinking Include="$(WasiSysRoot)\lib\wasm32-wasip2\libc++abi.a" /> - + <_WasmNativeFileForLinking Include="-lstdc++" /> <_WasmNativeFileForLinking Include="@(NativeFileReference)" /> diff --git a/src/mono/wasi/build/WasiSdk.Defaults.props b/src/mono/wasi/build/WasiSdk.Defaults.props deleted file mode 100644 index 217cf5726cdcf4..00000000000000 --- a/src/mono/wasi/build/WasiSdk.Defaults.props +++ /dev/null @@ -1,14 +0,0 @@ - - - $([MSBuild]::NormalizeDirectory($(MSBuildThisFileDirectory), '..', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) - $([MSBuild]::NormalizeDirectory($(WASI_SDK_PATH), 'share', 'wasi-sysroot')) - $(WASI_SDK_PATH)bin/clang - $(WasiClang).exe - - $([MSBuild]::NormalizeDirectory($(WASI_SDK_PATH), 'bin')) - - - - - diff --git a/src/mono/wasi/runtime/CMakeLists.txt b/src/mono/wasi/runtime/CMakeLists.txt index 38928bf19fbfb1..c13a5c959f1fd4 100644 --- a/src/mono/wasi/runtime/CMakeLists.txt +++ b/src/mono/wasi/runtime/CMakeLists.txt @@ -14,8 +14,7 @@ set_target_properties(dotnet PROPERTIES COMPILE_FLAGS ${CONFIGURATION_WASICC_FLA target_link_libraries(dotnet PRIVATE - ${CMAKE_SYSROOT}/lib/wasm32-wasip2/libc++.a - ${CMAKE_SYSROOT}/lib/wasm32-wasip2/libc++abi.a + stdc++ ${ICU_LIB_DIR}/libicudata.a ${ICU_LIB_DIR}/libicuuc.a ${ICU_LIB_DIR}/libicui18n.a diff --git a/src/mono/wasi/wasi-sdk-version.txt b/src/mono/wasi/wasi-sdk-version.txt deleted file mode 100644 index be8e64f5a38cfe..00000000000000 --- a/src/mono/wasi/wasi-sdk-version.txt +++ /dev/null @@ -1 +0,0 @@ -25.0 diff --git a/src/mono/wasi/wasi.proj b/src/mono/wasi/wasi.proj index 219737950f9ad1..0dba67c01bca10 100644 --- a/src/mono/wasi/wasi.proj +++ b/src/mono/wasi/wasi.proj @@ -18,18 +18,13 @@ <_WasiCompileRspPath>$(NativeBinDir)src\wasi-compile.rsp <_WasiLinkRspPath>$(NativeBinDir)src\wasi-link.rsp false - $([MSBuild]::NormalizeDirectory($(MSBuildThisFileDirectory), 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) - $(WASI_SDK_PATH)bin/clang - $(WasiClang).exe - $(WASI_SDK_PATH)bin/llvm-ar - $(WasiLLVMAr).exe + + - @@ -37,7 +32,6 @@ - @@ -72,8 +66,14 @@ - + + $(RuntimeBuildWasiSdkPath)bin/clang + $(WasiClang).exe + $(RuntimeBuildWasiSdkPath)bin/llvm-ar + $(WasiLLVMAr).exe + <_WasmTimezonesPath>$([MSBuild]::NormalizePath('$(PkgSystem_Runtime_TimeZoneData)', 'contentFiles', 'any', 'any', 'data')) <_WasmTimezonesBundleObjectFile>wasm-bundled-timezones.o <_WasmTimezonesBundleArchive>$(WasiObjDir)\wasm-bundled-timezones.a @@ -122,14 +122,6 @@ - - - - @@ -198,7 +190,7 @@ + DependsOnTargets="AcquireWasiSdk;GenerateWasiPropsAndRspFiles;GenerateManagedToNative;GenerateTimezonesArchive"> cmake -G Ninja $(MSBuildThisFileDirectory)runtime - $(CMakeBuildRuntimeConfigureCmd) --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE="$([MSBuild]::NormalizePath('$(WASI_SDK_PATH)', 'share/cmake/wasi-sdk-p2.cmake'))" - $(CMakeBuildRuntimeConfigureCmd) -DWASI_SDK_PREFIX=$(WASI_SDK_PATH) - $(CMakeBuildRuntimeConfigureCmd) -DCMAKE_SYSROOT=$(WASI_SDK_PATH)share/wasi-sysroot - $(CMakeBuildRuntimeConfigureCmd) -DCMAKE_CXX_FLAGS="--sysroot=$(WASI_SDK_PATH)share/wasi-sysroot" - + $(CMakeBuildRuntimeConfigureCmd) --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE="$([MSBuild]::NormalizePath('$(RuntimeBuildWasiSdkPath)', 'share/cmake/wasi-sdk-p2.cmake'))" $(CMakeBuildRuntimeConfigureCmd) -DCONFIGURATION_WASICC_FLAGS="$(CMakeConfigurationWasiFlags)" $(CMakeBuildRuntimeConfigureCmd) -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" $(CMakeBuildRuntimeConfigureCmd) -DCONFIGURATION_WASM_OPT_FLAGS="@(WasmOptConfigurationFlags, ';')" diff --git a/src/mono/wasm/build/WasmApp.LocalBuild.props b/src/mono/wasm/build/WasmApp.LocalBuild.props index a12d0a40af0f94..2a313c41979029 100644 --- a/src/mono/wasm/build/WasmApp.LocalBuild.props +++ b/src/mono/wasm/build/WasmApp.LocalBuild.props @@ -30,8 +30,7 @@ $(RuntimeSrcDir)\artifacts\bin\ $(RuntimeSrcDir)\src\mono\browser\emsdk\ - $([MSBuild]::NormalizeDirectory($(RuntimeSrcDir), 'src', 'mono', 'wasi', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) + $([MSBuild]::NormalizeDirectory($(RuntimeSrcDir), 'artifacts', 'wasi-sdk')) $([MSBuild]::NormalizeDirectory($(ArtifactsBinDir), 'microsoft.netcore.app.runtime.$(RuntimeIdentifier)', $(RuntimeConfig))) @@ -47,6 +46,8 @@ $(WasmBuildSupportDir)\ + $([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'emsdk')) + $([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'wasi-sdk')) $([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'microsoft.netcore.app.runtime.$(RuntimeIdentifier)')) $([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'MonoAOTCompiler')) diff --git a/src/mono/wasm/build/WasmApp.LocalBuild.targets b/src/mono/wasm/build/WasmApp.LocalBuild.targets index 31dcd68be03259..bedbba30750c07 100644 --- a/src/mono/wasm/build/WasmApp.LocalBuild.targets +++ b/src/mono/wasm/build/WasmApp.LocalBuild.targets @@ -24,6 +24,7 @@ + true diff --git a/src/mono/wasm/data/aot-tests/Directory.Build.props b/src/mono/wasm/data/aot-tests/Directory.Build.props index 3728136a63d1e9..e58f1854e28fd0 100644 --- a/src/mono/wasm/data/aot-tests/Directory.Build.props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -9,8 +9,6 @@ $(HELIX_CORRELATION_PAYLOAD)\build\ <_WasmTargetsDir>$(WasmBuildSupportDir)\wasm\ <_WasmSharedDir>$(WasmBuildSupportDir)\wasm-shared\ - $(WasmBuildSupportDir)\emsdk\ - $(WasmBuildSupportDir)/wasi-sdk/ diff --git a/src/native/libs/build-native.proj b/src/native/libs/build-native.proj index 4bb1f0164d9e83..62cd41efcd579f 100644 --- a/src/native/libs/build-native.proj +++ b/src/native/libs/build-native.proj @@ -26,18 +26,21 @@ - - $([MSBuild]::NormalizeDirectory($(RepoRoot), 'src', 'mono', 'wasi', 'wasi-sdk')) - $([MSBuild]::EnsureTrailingSlash('$(WASI_SDK_PATH)').Replace('\', '/')) - <_BuildNativeEnvironmentVariables>$(_BuildNativeEnvironmentVariables);WASI_SDK_PATH=$(WASI_SDK_PATH) - - + + + + + <_BuildNativeEnvironmentVariables>WASI_SDK_PATH=$(RuntimeBuildWasiSdkPath) + + + @@ -92,7 +95,7 @@