set(CLR_CMAKE_PLATFORM_UNIX 1)
if(CLR_CROSS_COMPONENTS_BUILD)
# CMAKE_HOST_SYSTEM_PROCESSOR returns the value of `uname -p` on host.
- if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64)
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL amd64)
if(CLR_CMAKE_TARGET_ARCH STREQUAL "arm")
set(CLR_CMAKE_PLATFORM_UNIX_X86 1)
else()
endif(CLR_CMAKE_PLATFORM_UNIX)
if(CLR_CMAKE_PLATFORM_UNIX)
- add_subdirectory(src/ToolBox/SOS/lldbplugin)
- if(NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
+ add_subdirectory(src/ToolBox/SOS/lldbplugin)
add_subdirectory(src/pal)
- endif(NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
- add_subdirectory(src/coreclr/hosts)
- add_subdirectory(src/ildasm/unixcoreclrloader)
+ add_subdirectory(src/coreclr/hosts)
+ add_subdirectory(src/ildasm/unixcoreclrloader)
endif(CLR_CMAKE_PLATFORM_UNIX)
# Add this subdir. We install the headers for the jit.
# Compile options
-if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL AMD64)
- set(PAL_CMAKE_PLATFORM_ARCH_AMD64 1)
- add_definitions(-D_AMD64_)
-elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
- set(PAL_CMAKE_PLATFORM_ARCH_ARM 1)
- add_definitions(-D_ARM_)
-elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
- set(PAL_CMAKE_PLATFORM_ARCH_ARM64 1)
- add_definitions(-D_ARM64_)
-elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686)
- set(CLR_CMAKE_PLATFORM_ARCH_I386 1)
- add_definitions(-D_X86_)
+if(CLR_CROSS_COMPONENTS_BUILD)
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL amd64)
+ if(CLR_CMAKE_TARGET_ARCH STREQUAL "arm")
+ set(PAL_CMAKE_PLATFORM_ARCH_I386 1)
+ add_definitions(-D_X86_)
+ else()
+ set(PAL_CMAKE_PLATFORM_ARCH_AMD64 1)
+ add_definitions(-D_AMD64_)
+ endif()
+ elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL i686)
+ set(PAL_CMAKE_PLATFORM_ARCH_I386 1)
+ add_definitions(-D_X86_)
+ else()
+ message(FATAL_ERROR "Only AMD64, I386 host for cross-architecture component is supported")
+ endif()
else()
- message(FATAL_ERROR "Only ARM and AMD64 is supported")
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL AMD64)
+ set(PAL_CMAKE_PLATFORM_ARCH_AMD64 1)
+ add_definitions(-D_AMD64_)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
+ set(PAL_CMAKE_PLATFORM_ARCH_ARM 1)
+ add_definitions(-D_ARM_)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
+ set(PAL_CMAKE_PLATFORM_ARCH_ARM64 1)
+ add_definitions(-D_ARM64_)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686)
+ set(PAL_CMAKE_PLATFORM_ARCH_I386 1)
+ add_definitions(-D_X86_)
+ else()
+ message(FATAL_ERROR "Only ARM, AMD64, ARM64 and I386 is supported")
+ endif()
endif()
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
elseif(PAL_CMAKE_PLATFORM_ARCH_ARM64)
add_definitions(-DBIT64=1)
add_definitions(-D_WIN64=1)
-elseif(CLR_CMAKE_PLATFORM_ARCH_I386)
+elseif(PAL_CMAKE_PLATFORM_ARCH_I386)
add_definitions(-DBIT32=1)
endif()
arch/arm64/exceptionhelper.S
arch/arm64/processor.cpp
)
-elseif(CLR_CMAKE_PLATFORM_ARCH_I386)
+elseif(PAL_CMAKE_PLATFORM_ARCH_I386)
set(ARCH_SOURCES
arch/i386/context2.S
arch/i386/debugbreak.S