summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rw-r--r--functions.cmake2
-rw-r--r--src/pal/CMakeLists.txt2
-rw-r--r--src/pal/src/CMakeLists.txt47
-rw-r--r--src/palrt/CMakeLists.txt2
5 files changed, 39 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61c689b6d0..2c39780e29 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -129,7 +129,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux)
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()
@@ -549,12 +549,10 @@ if(CLR_CMAKE_PLATFORM_UNIX)
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.
diff --git a/functions.cmake b/functions.cmake
index e1a9abb469..f2c52daf5e 100644
--- a/functions.cmake
+++ b/functions.cmake
@@ -2,7 +2,7 @@ function(clr_unknown_arch)
if (WIN32)
message(FATAL_ERROR "Only AMD64, ARM64, ARM and I386 are supported")
elseif(CLR_CROSS_COMPONENTS_BUILD)
- message(FATAL_ERROR "Only AMD64, I386 are supported for cross-architecture component")
+ message(FATAL_ERROR "Only AMD64, I386 host are supported for linux cross-architecture component")
else()
message(FATAL_ERROR "Only AMD64, ARM64 and ARM are supported")
endif()
diff --git a/src/pal/CMakeLists.txt b/src/pal/CMakeLists.txt
index cb8b05586c..8e3228b622 100644
--- a/src/pal/CMakeLists.txt
+++ b/src/pal/CMakeLists.txt
@@ -5,7 +5,7 @@ project(COREPAL)
if (WIN32)
set(FEATURE_EVENT_TRACE 1)
endif()
-if(CLR_CMAKE_PLATFORM_LINUX AND CLR_CMAKE_PLATFORM_ARCH_AMD64)
+if(CLR_CMAKE_PLATFORM_LINUX AND CLR_CMAKE_TARGET_ARCH_AMD64)
set(FEATURE_EVENT_TRACE 1)
endif()
diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt
index 28ee83a77c..f5f3d40c97 100644
--- a/src/pal/src/CMakeLists.txt
+++ b/src/pal/src/CMakeLists.txt
@@ -23,20 +23,37 @@ include_directories(include)
# 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)
@@ -65,7 +82,7 @@ elseif(PAL_CMAKE_PLATFORM_ARCH_ARM)
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()
@@ -105,7 +122,7 @@ elseif(PAL_CMAKE_PLATFORM_ARCH_ARM64)
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
diff --git a/src/palrt/CMakeLists.txt b/src/palrt/CMakeLists.txt
index 0b3397a8ff..e19b55d9dc 100644
--- a/src/palrt/CMakeLists.txt
+++ b/src/palrt/CMakeLists.txt
@@ -23,4 +23,4 @@ add_library_clr(palrt
)
# Install the static PAL library for VS
-install (TARGETS palrt DESTINATION lib)
+_install (TARGETS palrt DESTINATION lib)