Support for short stack builds.
Tested with android-x64 and android-amd64 on Linux x64, and iossimulator-x64 on macOS ARM64. Depends on https://github.com/dotnet/runtime/pull/97725
This commit is contained in:
parent
4f0bdf152b
commit
d78dbaca86
3 changed files with 19 additions and 3 deletions
|
@ -6,6 +6,18 @@
|
|||
<DotNetBuildOrchestrator>true</DotNetBuildOrchestrator>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Label="ShortStacks">
|
||||
<_OverrideTargetOS>$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.LastIndexOf('-'))))</_OverrideTargetOS>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'wasi'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'browser'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'ios'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'iossimulator'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'tvos'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'tvossimulator'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'maccatalyst'">true</ShortStack>
|
||||
<ShortStack Condition="'$(_OverrideTargetOS)' == 'android'">true</ShortStack>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Label="CalculateTargetOS">
|
||||
<BuildOS>linux</BuildOS>
|
||||
<BuildOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</BuildOS>
|
||||
|
@ -33,7 +45,7 @@
|
|||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 's390x'">s390x</TargetArchitecture>
|
||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'ppc64le'">ppc64le</TargetArchitecture>
|
||||
|
||||
<TargetArchitecture Condition="'$(OverrideTargetRid)' != ''">$(OverrideTargetRid.Substring($(OverrideTargetRid.LastIndexOf('-'))).TrimStart('-'))</TargetArchitecture>
|
||||
<TargetArchitecture Condition="'$(OverrideTargetRid)' != '' and '$(ShortStack)' != 'true'">$(OverrideTargetRid.Substring($(OverrideTargetRid.LastIndexOf('-'))).TrimStart('-'))</TargetArchitecture>
|
||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
|
||||
|
||||
<Platform Condition="'$(Platform)' == '' and '$(InferPlatformFromTargetArchitecture)' == 'true'">$(TargetArchitecture)</Platform>
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
<RepositoryReference Include="symreader" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Stop build at this point for runtime-only platforms like iOS -->
|
||||
<ItemGroup Condition="'$(ShortStack)' != 'true'">
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="windowsdesktop" Condition="'$(TargetOS)' == 'windows'" />
|
||||
<RepositoryReference Include="xdt" />
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<BuildArgs Condition="'$(OverrideTargetArch)' != ''">$(BuildArgs) $(FlagParameterPrefix)arch $(OverrideTargetArch)</BuildArgs>
|
||||
<BuildArgs Condition="'$(OverrideTargetOS)' != ''">$(BuildArgs) $(FlagParameterPrefix)os $(OverrideTargetOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(OverrideTargetRid)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
|
||||
<BuildArgs Condition="'$(ShortStack)' != 'true'">$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
|
||||
<BuildArgs Condition="'$(ShortStack)' != 'true'">$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
|
|
Loading…
Reference in a new issue