diff --git a/CMakeLists.txt b/CMakeLists.txt index 671a6ad236..512fde9926 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -797,13 +797,13 @@ elseif(ZIG_HOST_TARGET_ARCH STREQUAL "amd64") set(ZIG_HOST_TARGET_ARCH "x86_64") elseif(ZIG_HOST_TARGET_ARCH STREQUAL "arm64") set(ZIG_HOST_TARGET_ARCH "aarch64") -elseif(ZIG_HOST_TARGET_ARCH STREQUAL "armv7l") +elseif(ZIG_HOST_TARGET_ARCH MATCHES "^armv[7-8]l$") set(ZIG_HOST_TARGET_ARCH "arm") -elseif(ZIG_HOST_TARGET_ARCH STREQUAL "armv7b") +elseif(ZIG_HOST_TARGET_ARCH MATCHES "^armv[7-8]b$") set(ZIG_HOST_TARGET_ARCH "armeb") endif() -string(REGEX REPLACE "^((arm|thumb)(hf?)?)el$" "\\1" ZIG_HOST_TARGET_ARCH "${ZIG_HOST_TARGET_ARCH}") -if(ZIG_HOST_TARGET_ARCH MATCHES "^arm(hf?)?(eb)?$") +string(REGEX REPLACE "^((arm|thumb)(hf?)?)el$" "\\2" ZIG_HOST_TARGET_ARCH "${ZIG_HOST_TARGET_ARCH}") +if(ZIG_HOST_TARGET_ARCH MATCHES "^arm(eb)?$") check_symbol_exists(__thumb__ "" ZIG_HOST_TARGET_DEFAULTS_TO_THUMB) if(ZIG_HOST_TARGET_DEFAULTS_TO_THUMB) string(REGEX REPLACE "^arm" "thumb" ZIG_HOST_TARGET_ARCH "${ZIG_HOST_TARGET_ARCH}")