From ab4370c24741f3c4fedcfdf57d3c4afa22d5ce6a Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Thu, 18 Jul 2024 20:25:46 +0200 Subject: [PATCH] cmake: detect ARM64EC and enable SDL_LIBC by default --- CMakeLists.txt | 3 ++- cmake/CheckCPUArchitecture.cmake | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a3e1bce10a..5b2a94fb62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,7 @@ check_cpu_architecture(x86 SDL_CPU_X86) check_cpu_architecture(x64 SDL_CPU_X64) check_cpu_architecture(arm32 SDL_CPU_ARM32) check_cpu_architecture(arm64 SDL_CPU_ARM64) +check_cpu_architecture(arm64ec SDL_CPU_ARM64EC) check_cpu_architecture(loongarch64 SDL_CPU_LOONGARCH64) # Check for 64 or 32 bit @@ -239,7 +240,7 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC OR USE_QCC) endif() # Default option knobs -if(UNIX OR MINGW OR MSYS OR (USE_CLANG AND NOT WINDOWS) OR VITA OR PSP OR PS2 OR N3DS) +if(UNIX OR MINGW OR MSYS OR (USE_CLANG AND NOT WINDOWS) OR VITA OR PSP OR PS2 OR N3DS OR SDL_CPU_ARM64EC) set(OPT_DEF_LIBC ON) endif() if(WINDOWS OR DARWIN OR MACOSX OR IOS OR TVOS) diff --git a/cmake/CheckCPUArchitecture.cmake b/cmake/CheckCPUArchitecture.cmake index 7e3e459470..f2e4b8329d 100644 --- a/cmake/CheckCPUArchitecture.cmake +++ b/cmake/CheckCPUArchitecture.cmake @@ -27,11 +27,13 @@ function(check_cpu_architecture ARCH VARIABLE) if(ARCH STREQUAL "x86") _internal_check_cpu_architecture("defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" x86 ${VARIABLE}) elseif(ARCH STREQUAL "x64") - _internal_check_cpu_architecture("defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)" x64 ${VARIABLE}) + _internal_check_cpu_architecture("(defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)) && !defined(_M_ARM64EC)" x64 ${VARIABLE}) elseif(ARCH STREQUAL "arm32") _internal_check_cpu_architecture("defined(__arm__) || defined(_M_ARM)" arm32 ${VARIABLE}) elseif(ARCH STREQUAL "arm64") _internal_check_cpu_architecture("defined(__aarch64__) || defined(_M_ARM64)" arm64 ${VARIABLE}) + elseif(ARCH STREQUAL "arm64ec") + _internal_check_cpu_architecture("defined(_M_ARM64EC)" arm64ec ${VARIABLE}) elseif(ARCH STREQUAL "loongarch64") _internal_check_cpu_architecture("defined(__loongarch64)" loongarch64 ${VARIABLE}) else()