7c2ece523d
Current implementation defines LIBC_TARGET_MACHINE with the use of CMAKE_SYSTEM_PROCESSOR. Unfortunately CMAKE_SYSTEM_PROCESSOR is OS dependent and can produce different results. An evidence of this is the various matchers used to detect whether the architecture is x86. This patch normalizes LIBC_TARGET_MACHINE and renames it LIBC_TARGET_ARCHITECTURE. I've added many architectures but we may want to limit ourselves to x86 and ARM. Differential Revision: https://reviews.llvm.org/D101524
22 lines
973 B
CMake
22 lines
973 B
CMake
# ------------------------------------------------------------------------------
|
|
# Architecture definitions
|
|
# ------------------------------------------------------------------------------
|
|
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
|
set(LIBC_TARGET_ARCHITECTURE_IS_MIPS TRUE)
|
|
set(LIBC_TARGET_ARCHITECTURE "mips")
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
|
set(LIBC_TARGET_ARCHITECTURE_IS_ARM TRUE)
|
|
set(LIBC_TARGET_ARCHITECTURE "arm")
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
|
set(LIBC_TARGET_ARCHITECTURE_IS_AARCH64 TRUE)
|
|
set(LIBC_TARGET_ARCHITECTURE "aarch64")
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|(^i.86$)")
|
|
set(LIBC_TARGET_ARCHITECTURE_IS_X86 TRUE)
|
|
set(LIBC_TARGET_ARCHITECTURE "x86_64")
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
|
|
set(LIBC_TARGET_ARCHITECTURE_IS_POWER TRUE)
|
|
set(LIBC_TARGET_ARCHITECTURE "power")
|
|
else()
|
|
message(FATAL_ERROR "Unsupported processor ${CMAKE_SYSTEM_PROCESSOR}")
|
|
endif()
|