diff options
| author | Ben Niu <niuben003@gmail.com> | 2021-01-22 15:35:15 -0800 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-01-25 18:20:13 +0000 |
| commit | f0881cf36548e24b07cf4d4a5ff8c22bb0c83826 (patch) | |
| tree | 711c4c84b56895884c3ab2bd90a1015e373ab963 /mesonbuild/backend/vs2010backend.py | |
| parent | 99b9433beacceb91aced217cd4f14115281bf100 (diff) | |
| download | meson-f0881cf36548e24b07cf4d4a5ff8c22bb0c83826.tar.gz | |
Add ARM64EC as a new conceptual cpu type of arm64
ARM64EC is a new ARM64 ABI made by Microsoft. The ARM64EC binaries can be loaded in x64 processes on the latest Windows Insider Preview on ARM64, and they don't need to be emulated for the sake of performance.
To support the ARM64EC build target, a new conceptual arm64 cpu type 'arm64ec' is added. The cpu can be specified in cross files like below to generate msbuild solution/vcxproj files with platform set to ARM64EC.
[target_machine]
system = 'windows'
cpu_family = 'aarch64'
cpu = 'arm64ec'
endian = 'little'
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
| -rw-r--r-- | mesonbuild/backend/vs2010backend.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index 6e070a7b8..e4886ba8a 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -176,7 +176,11 @@ class Vs2010Backend(backends.Backend): # x86 self.platform = 'Win32' elif target_machine == 'aarch64' or target_machine == 'arm64': - self.platform = 'arm64' + target_cpu = self.interpreter.builtin['target_machine'].cpu_method(None, None) + if target_cpu == 'arm64ec': + self.platform = 'arm64ec' + else: + self.platform = 'arm64' elif 'arm' in target_machine.lower(): self.platform = 'ARM' else: @@ -1218,6 +1222,8 @@ class Vs2010Backend(backends.Backend): targetmachine.text = 'MachineARM' elif targetplatform == 'arm64': targetmachine.text = 'MachineARM64' + elif targetplatform == 'arm64ec': + targetmachine.text = 'MachineARM64EC' else: raise MesonException('Unsupported Visual Studio target machine: ' + targetplatform) # /nologo |
