</PropertyGroup>
<PropertyGroup>
- <TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'tvOS'">true</TargetsMobile>
+ <TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'Browser'">true</TargetsMobile>
</PropertyGroup>
<!--Feature switches -->
<PropertyGroup>
<DefaultSubsets>clr+mono+libs+installer</DefaultSubsets>
- <DefaultSubsets Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'">mono+libs+installer</DefaultSubsets>
+ <DefaultSubsets Condition="'$(TargetsMobile)' == 'true'">mono+libs+installer</DefaultSubsets>
</PropertyGroup>
<!-- Init _subset here in to allow RuntimeFlavor to be set as early as possible -->
</PropertyGroup>
<PropertyGroup>
- <RuntimeFlavor Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'">Mono</RuntimeFlavor>
+ <RuntimeFlavor Condition="'$(TargetsMobile)' == 'true'">Mono</RuntimeFlavor>
<RuntimeFlavor Condition="'$(RuntimeFlavor)' == '' and ($(_subset.Contains('+mono+')) or $(_subset.Contains('+mono.runtime+'))) and (!$(_subset.Contains('+clr+')) and !$(_subset.Contains('+clr.runtime+')))">Mono</RuntimeFlavor>
<RuntimeFlavor Condition="'$(RuntimeFlavor)' == ''">CoreCLR</RuntimeFlavor>
</PropertyGroup>
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' or '$(TargetOS)' == 'Browser'">false</IsEligibleForNgenOptimization>
+ <IsEligibleForNgenOptimization Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true'">false</IsEligibleForNgenOptimization>
</PropertyGroup>
<Target Name="SetApplyNgenOptimization"
<IsNative>true</IsNative>
</RuntimeFiles>
- <MonoCrossFiles Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'"
+ <MonoCrossFiles Condition="'$(TargetsMobile)' == 'true'"
Include="$(MonoArtifactsPath)\cross\*.*" />
- <MonoIncludeFiles Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'Browser'"
+ <MonoIncludeFiles Condition="'$(TargetsMobile)' == 'true'"
Include="$(MonoArtifactsPath)\include\**\*.*" />
<WasmDistFiles Condition="'$(TargetOS)' == 'Browser'"
Include="$(MonoArtifactsPath)\wasm\runtimes\**\*.*" />
<PropertyGroup>
<TargetsBrowser>true</TargetsBrowser>
<TargetsUnix>true</TargetsUnix>
+ <TargetsMobile>true</TargetsMobile>
</PropertyGroup>
</When>
<When Condition="$(OutputRid.StartsWith('debian'))">
<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' or '$(TargetsBrowser)' == 'true'"></CrossGenSymbolExtension>
+ <CrossGenSymbolExtension Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true'"></CrossGenSymbolExtension>
</PropertyGroup>
</Project>
</PropertyGroup>
</Target>
- <PropertyGroup Condition="'$(RuntimeFlavor)' == 'Mono' and '$(TargetsMobile)' != 'true' and '$(TargetsBrowser)' != 'true'">
+ <PropertyGroup Condition="'$(RuntimeFlavor)' == 'Mono' and '$(TargetsMobile)' != 'true'">
<RuntimeSpecificFrameworkSuffix>.Mono</RuntimeSpecificFrameworkSuffix>
</PropertyGroup>
Include="@(MonoCrossFiles)">
<TargetPath>runtimes/$(PackageRID)/native/cross</TargetPath>
</RuntimeFiles>
- <RuntimeFiles Condition="'$(TargetsMobile)' == 'true' or '$(TargetsBrowser)' == 'true'"
+ <RuntimeFiles Condition="'$(TargetsMobile)' == 'true'"
Include="@(MonoIncludeFiles)">
<TargetPath>runtimes/$(PackageRID)/native/include/%(RecursiveDir)</TargetPath>
</RuntimeFiles>
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetsMobile)' == 'true'">x64</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
- <!-- RuntimeOS is calculated based on the build system OS, however if building for WebAssembly/iOS/Android we need to let
- the build system to use webassembly/ios/android as the RuntimeOS for produced package RIDs. -->
- <RuntimeOS Condition="'$(TargetOS)' == 'Browser' or '$(TargetsMobile)' == 'true'">$(TargetOS.ToLowerInvariant())</RuntimeOS>
+ <!-- RuntimeOS is calculated based on the build system OS, however if building for Browser/iOS/Android we need to let
+ the build system to use browser/ios/android as the RuntimeOS for produced package RIDs. -->
+ <RuntimeOS Condition="'$(TargetsMobile)' == 'true'">$(TargetOS.ToLowerInvariant())</RuntimeOS>
<!-- Initialize BuildSettings from the individual properties if it wasn't already explicitly set -->
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
TargetRuntimeIdentifier="$(PackageRID)" />
</Target>
- <!-- Wasm runtimes depend on the mono runtime and libs to be built, so they can only be built here -->
- <Target Name="BuildWasmPackageDependency"
- Condition="'$(TargetOS)' == 'Browser'"
- AfterTargets="RestoreTestHost">
- <MSBuild Projects="$(MonoProjectRoot)\wasm\wasm.proj"
- Properties="Configuration=$(Configuration);TargetOS=$(TargetOS);TargetArchitecture=$(TargetArchitecture)"/>
- </Target>
-
<UsingTask TaskName="CreateFrameworkListFile" AssemblyFile="$(DotNetBuildTasksSharedFrameworkTaskFile)"/>
<Target Name="GenerateFrameworkListFile"
Condition="'$(BinPlaceTestRuntimePack)' == 'true'"
Properties="$(TraversalGlobalProperties)" />
</Target>
+ <!-- Wasm runtimes depend on the mono runtime and libs to be built, so they can only be built here -->
+ <Target Name="BuildWasmPackageDependency"
+ Condition="'$(TargetOS)' == 'Browser'"
+ AfterTargets="Build">
+ <MSBuild Projects="$(MonoProjectRoot)\wasm\wasm.proj"
+ Properties="Configuration=$(Configuration);TargetOS=$(TargetOS);TargetArchitecture=$(TargetArchitecture)"/>
+ </Target>
+
</Project>
--- /dev/null
+/emsdk_env.sh