Skip to content

Commit 176da26

Browse files
omajidViktorHofer
authored andcommitted
Enable build on hosted arm64 (dotnet#40311)
Initialize HostArch to the arch-style used in RIDs directly. Initialize ArchGroup to HostArch unless overriden. Use the HostArch for the tool runtime instead of assuming x64.
1 parent df3837c commit 176da26

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

Directory.Build.props

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,8 @@
6464
<TargetGroup Condition="'$(TargetGroup)' == ''">netcoreapp</TargetGroup>
6565
<OSGroup Condition="'$(OSGroup)' == ''">$(DefaultOSGroup)</OSGroup>
6666
<ConfigurationGroup Condition="'$(ConfigurationGroup)' == ''">Debug</ConfigurationGroup>
67-
<HostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture)</HostArch>
68-
<ArchGroup Condition="'$(ArchGroup)' == '' AND '$(HostArch)' == 'Arm'">arm</ArchGroup>
69-
<ArchGroup Condition="'$(ArchGroup)' == '' AND '$(HostArch)' == 'Arm64'">arm64</ArchGroup>
70-
<ArchGroup Condition="'$(ArchGroup)' == ''">x64</ArchGroup>
67+
<HostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</HostArch>
68+
<ArchGroup Condition="'$(ArchGroup)' == ''">$(HostArch)</ArchGroup>
7169

7270
<!-- Initialize BuildConfiguration from the individual properties if it wasn't already explicitly set -->
7371
<BuildConfiguration Condition="'$(BuildConfiguration)' == ''">$(TargetGroup)-$(OSGroup)-$(ConfigurationGroup)-$(ArchGroup)</BuildConfiguration>
@@ -135,9 +133,9 @@
135133
<_runtimeOS Condition="'$(_runtimeOS)' == 'tizen.4.0.0'">linux</_runtimeOS>
136134
<_runtimeOS Condition="'$(_runtimeOS)' == 'tizen.5.0.0'">linux</_runtimeOS>
137135
<_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS>
138-
<ToolRuntimeRID>$(_runtimeOS)-x64</ToolRuntimeRID>
136+
<ToolRuntimeRID>$(_runtimeOS)-$(HostArch)</ToolRuntimeRID>
139137
<!-- We build linux-musl-arm on a ubuntu container, so we can't use the toolset build for alpine runtime. We need to use portable linux RID for our toolset in order to be able to use it. -->
140-
<ToolRuntimeRID Condition="'$(_runtimeOS)' == 'linux-musl' AND $(ArchGroup.StartsWith('arm')) AND !$(HostArch.StartsWith('Arm'))">linux-x64</ToolRuntimeRID>
138+
<ToolRuntimeRID Condition="'$(_runtimeOS)' == 'linux-musl' AND $(ArchGroup.StartsWith('arm')) AND !$(HostArch.StartsWith('arm'))">linux-x64</ToolRuntimeRID>
141139

142140
<!-- There are no WebAssembly tools, so treat them as Windows -->
143141
<ToolRuntimeRID Condition="'$(RuntimeOS)' == 'WebAssembly'">win-x64</ToolRuntimeRID>

0 commit comments

Comments
 (0)