From 6c1ce6a39ab6cb5d4be3e3c029b9846df6eed715 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Wed, 10 Jul 2024 21:10:08 +0100 Subject: [PATCH 1/3] Use ARM64 tools when building on ARM64 hosts --- eng/native/init-vs-env.cmd | 5 ++--- src/coreclr/build-runtime.cmd | 5 +---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/eng/native/init-vs-env.cmd b/eng/native/init-vs-env.cmd index befe98ab407f72..4ccd13338188c5 100644 --- a/eng/native/init-vs-env.cmd +++ b/eng/native/init-vs-env.cmd @@ -6,9 +6,8 @@ set "__VCBuildArch=" if /i "%~1" == "x86" (set __VCBuildArch=x86) if /i "%~1" == "x64" (set __VCBuildArch=x86_amd64) -if /i "%~1" == "arm" (set __VCBuildArch=x86_arm) -if /i "%~1" == "arm64" (set __VCBuildArch=x86_arm64) -if /i "%~1" == "wasm" (if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" (set __VCBuildArch=x86_arm64) else (set __VCBuildArch=x86_amd64)) +if /i "%~1" == "arm64" (if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" (set __VCBuildArch=arm64) else (set __VCBuildArch=x86_arm64)) +if /i "%~1" == "wasm" (if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" (set __VCBuildArch=arm64) else (set __VCBuildArch=x86_amd64)) :: Default to highest Visual Studio version available that has Visual C++ tools. :: diff --git a/src/coreclr/build-runtime.cmd b/src/coreclr/build-runtime.cmd index b52037b80e438a..836d7c6acaec1b 100644 --- a/src/coreclr/build-runtime.cmd +++ b/src/coreclr/build-runtime.cmd @@ -363,11 +363,8 @@ if %__BuildNative% EQU 1 ( REM Set the environment for the native build set __VCTargetArch=amd64 if /i "%__HostArch%" == "x86" ( set __VCTargetArch=x86 ) - if /i "%__HostArch%" == "arm" ( - set __VCTargetArch=x86_arm - ) if /i "%__HostArch%" == "arm64" ( - set __VCTargetArch=x86_arm64 + set __VCTargetArch=arm64 ) if NOT DEFINED SkipVCEnvInit ( From 880487135556629fb48a72a4279c3b70dc27bfc7 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Thu, 11 Jul 2024 00:02:01 +0100 Subject: [PATCH 2/3] Fix cross-compiling arm64 from x64 --- src/coreclr/build-runtime.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/build-runtime.cmd b/src/coreclr/build-runtime.cmd index 836d7c6acaec1b..9a5b3c7b4c38df 100644 --- a/src/coreclr/build-runtime.cmd +++ b/src/coreclr/build-runtime.cmd @@ -364,7 +364,7 @@ if %__BuildNative% EQU 1 ( set __VCTargetArch=amd64 if /i "%__HostArch%" == "x86" ( set __VCTargetArch=x86 ) if /i "%__HostArch%" == "arm64" ( - set __VCTargetArch=arm64 + if /i "%__ProcessorArch%" == arm64 (set __VCTargetArch=arm64) else (set __VCTargetArch=x86_arm64) ) if NOT DEFINED SkipVCEnvInit ( From 58148757e6f284c9cf5aa34254b3861d19451f75 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Thu, 11 Jul 2024 08:53:24 +0100 Subject: [PATCH 3/3] Update src/coreclr/build-runtime.cmd Co-authored-by: Steve --- src/coreclr/build-runtime.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/build-runtime.cmd b/src/coreclr/build-runtime.cmd index 9a5b3c7b4c38df..8dc46bb28c747f 100644 --- a/src/coreclr/build-runtime.cmd +++ b/src/coreclr/build-runtime.cmd @@ -364,7 +364,7 @@ if %__BuildNative% EQU 1 ( set __VCTargetArch=amd64 if /i "%__HostArch%" == "x86" ( set __VCTargetArch=x86 ) if /i "%__HostArch%" == "arm64" ( - if /i "%__ProcessorArch%" == arm64 (set __VCTargetArch=arm64) else (set __VCTargetArch=x86_arm64) + if /i "%__ProcessorArch%" == "ARM64" (set __VCTargetArch=arm64) else (set __VCTargetArch=x86_arm64) ) if NOT DEFINED SkipVCEnvInit (