Skip to content

Commit 01e72ec

Browse files
authored
Improve/fix cross-build support. (#18658)
1 parent ac0e03e commit 01e72ec

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/SourceBuild/content/Directory.Build.props

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,12 @@
5050
<BuildRid Condition="'$(BuildRid)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</BuildRid>
5151

5252
<HostRid Condition="'$(HostRid)' == ''">$(BuildRid)</HostRid>
53-
<TargetRid Condition="'$(TargetRid)' == ''">$(BuildRid)</TargetRid>
53+
<TargetRid Condition="'$(TargetRid)' == ''">$(BuildRid.Substring(0, $(BuildRid.LastIndexOf('-'))))-$(TargetArchitecture)</TargetRid>
5454

55-
<!-- Source-only builds are non portable. -->
56-
<PortableBuild Condition="'$(PortableBuild)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true</PortableBuild>
57-
<PortableBuild Condition="'$(PortableBuild)' == ''">false</PortableBuild>
55+
<!-- Source-only builds are non portable, except for cross-builds.
56+
Source-only cross-builds default to the portable configuration so the resulting SDK works on a wider range of distros. -->
57+
<PortableBuild Condition="'$(PortableBuild)' == '' and '$(DotNetBuildSourceOnly)' == 'true' and '$(HostArchitecture)' == '$(TargetArchitecture)'">false</PortableBuild>
58+
<PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild>
5859

5960
<PortableRid Condition="'$(__PortableTargetOS)' != ''">$(__PortableTargetOS)-$(TargetArchitecture)</PortableRid>
6061
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</PortableRid>

src/SourceBuild/content/repo-projects/installer.proj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<BuildArgs>$(BuildArgs) /p:OSName=$(OSNameOverride)</BuildArgs>
2222
<BuildArgs>$(BuildArgs) /p:PortableOSName=$(__PortableTargetOS)</BuildArgs>
2323
<BuildArgs>$(BuildArgs) /p:Rid=$(TargetRid)</BuildArgs>
24+
<BuildArgs>$(BuildArgs) /p:Architecture=$(TargetArchitecture)</BuildArgs>
2425
<BuildArgs>$(BuildArgs) /p:DOTNET_INSTALL_DIR=$(DotNetRoot)</BuildArgs>
2526

2627
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:AspNetCoreInstallerRid=$(TargetRid)</BuildArgs>

0 commit comments

Comments
 (0)