<PropertyGroup>
<DefaultSubsets>clr+mono+libs+installer</DefaultSubsets>
- <DefaultSubsets Condition="'$(TargetsMobile)' == 'true'">mono+libs+installer</DefaultSubsets>
- <DefaultSubsets Condition="'$(TargetOS)' == 'Browser'">mono+libs</DefaultSubsets>
+ <DefaultSubsets Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'">mono+libs+installer</DefaultSubsets>
</PropertyGroup>
<!-- Init _subset here in to allow RuntimeFlavor to be set as early as possible -->
IBCMerge optimizations on Mac for now to unblock the offical build.
See issue https://github.com/dotnet/runtime/issues/33303
-->
- <IsEligibleForNgenOptimization Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true'">false</IsEligibleForNgenOptimization>
+ <IsEligibleForNgenOptimization Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'">false</IsEligibleForNgenOptimization>
</PropertyGroup>
<Target Name="SetApplyNgenOptimization"
<IsNative>true</IsNative>
</RuntimeFiles>
- <MonoCrossFiles Condition="'$(TargetsMobile)' == 'true'"
+ <MonoCrossFiles Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'"
Include="$(MonoArtifactsPath)\cross\*.*" />
- <MonoIncludeFiles Condition="'$(TargetsMobile)' == 'true'"
+ <MonoIncludeFiles Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'"
Include="$(MonoArtifactsPath)\include\**\*.*" />
</ItemGroup>
$(CommonMSBuildArgs)
$(OfficialBuildArg)
- - ${{ if in(parameters.osGroup, 'iOS', 'tvOS', 'Android') }}:
+ - ${{ if in(parameters.osGroup, 'iOS', 'tvOS', 'Android', 'Browser') }}:
- name: CommonMSBuildArgs
value: >-
- Android_arm64
- Android_x64
- Android_x86
+ - Browser_wasm
- ${{ if eq(variables.isOfficialBuild, true) }}:
- template: /eng/pipelines/official/stages/publish.yml
- tvOS_arm64
# - iOS_arm # https://github.com/dotnet/runtime/issues/34465
- iOS_x64
+ - Browser_wasm
jobParameters:
liveRuntimeBuildConfig: release
- tvOS_arm64
# - iOS_arm # https://github.com/dotnet/runtime/issues/34465
- iOS_x64
+ - Browser_wasm
jobParameters:
liveRuntimeBuildConfig: release
liveLibrariesBuildConfig: Release
<OutputRid Condition="'$(TargetOS)' == 'iOS'">ios-$(TargetArchitecture)</OutputRid>
<OutputRid Condition="'$(TargetOS)' == 'tvOS'">tvos-$(TargetArchitecture)</OutputRid>
<OutputRid Condition="'$(TargetOS)' == 'Android'">android-$(TargetArchitecture)</OutputRid>
+ <OutputRid Condition="'$(TargetOS)' == 'Browser'">browser-$(TargetArchitecture)</OutputRid>
</PropertyGroup>
<PropertyGroup>
<TargetsCentos>false</TargetsCentos>
<TargetsOracle>false</TargetsOracle>
<TargetsSles>false</TargetsSles>
+ <TargetsBrowser>false</TargetsBrowser>
</PropertyGroup>
<Choose>
<When Condition="$(OutputRid.StartsWith('win'))">
<TargetsMobile>true</TargetsMobile>
</PropertyGroup>
</When>
+ <When Condition="$(OutputRid.StartsWith('browser'))">
+ <PropertyGroup>
+ <TargetsBrowser>true</TargetsBrowser>
+ <TargetsUnix>true</TargetsUnix>
+ </PropertyGroup>
+ </When>
<When Condition="$(OutputRid.StartsWith('debian'))">
<PropertyGroup>
<TargetsDebian>true</TargetsDebian>
<CrossGenSymbolExtension>.map</CrossGenSymbolExtension>
<CrossGenSymbolExtension Condition="'$(TargetOS)' == 'Windows_NT'">.ni.pdb</CrossGenSymbolExtension>
<!-- OSX doesn't have crossgen symbols, yet -->
- <CrossGenSymbolExtension Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true'"></CrossGenSymbolExtension>
+ <CrossGenSymbolExtension Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true' or '$(TargetsBrowser)' == 'true'"></CrossGenSymbolExtension>
</PropertyGroup>
</Project>
<!-- Keep this isolated to desktop mono for now -->
<Target Name="MobileGetBuildRidSpecificPackageProps"
- Condition="'$(RuntimeFlavor)' == 'Mono' and '$(TargetsMobile)' != 'true'"
+ Condition="'$(RuntimeFlavor)' == 'Mono' and '$(TargetsMobile)' != 'true' and '$(TargetsBrowser)' != 'true'"
AfterTargets="GetBuildRidSpecificPackageProps">
<PropertyGroup>
<RidSpecificPackProperties>BaseId=$(MSBuildProjectName)$(RuntimeSpecificFrameworkSuffix).Mono.$(PackageBuildRID);IdPrefix=</RidSpecificPackProperties>
<CoreCLRTargetOS Condition="'$(TargetsiOS)' == 'true'">iOS</CoreCLRTargetOS>
<CoreCLRTargetOS Condition="'$(TargetstvOS)' == 'true'">tvOS</CoreCLRTargetOS>
<CoreCLRTargetOS Condition="'$(TargetsAndroid)' == 'true'">Android</CoreCLRTargetOS>
+ <CoreCLRTargetOS Condition="'$(TargetsBrowser)' == 'true'">Browser</CoreCLRTargetOS>
<CoreCLRTargetOS Condition="'$(TargetsFreeBSD)' == 'true'">FreeBSD</CoreCLRTargetOS>
<LibrariesTargetOS>$(CoreCLRTargetOS)</LibrariesTargetOS>
</PropertyGroup>