|
|
@@ -46,6 +46,8 @@ if(CC_USES_SYSTEM_ARCH_SH OR NOT CHAKRACORE_BUILD_SH)
|
|
|
set(CC_TARGETS_AMD64_SH 1)
|
|
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
|
|
set(CC_TARGETS_ARM_SH 1)
|
|
|
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
|
|
|
+ set(CC_TARGETS_ARM64_SH 1)
|
|
|
endif()
|
|
|
unset(CC_USES_SYSTEM_ARCH_SH CACHE)
|
|
|
endif()
|
|
|
@@ -56,6 +58,11 @@ elseif(CC_TARGETS_ARM_SH)
|
|
|
set(CC_TARGETS_ARM 1)
|
|
|
add_definitions(-D_ARM_=1)
|
|
|
set(CMAKE_SYSTEM_PROCESSOR "armv7l")
|
|
|
+elseif(CC_TARGETS_ARM64_SH)
|
|
|
+ add_definitions(-D_ARM64_=1)
|
|
|
+ add_definitions(-D__arm64__=1)
|
|
|
+ set(CC_TARGETS_ARM64 1)
|
|
|
+ set(CMAKE_SYSTEM_PROCESSOr "arm64")
|
|
|
elseif(CC_TARGETS_X86_SH)
|
|
|
set(CC_TARGETS_X86 1)
|
|
|
set(CMAKE_SYSTEM_PROCESSOR "i386")
|
|
|
@@ -273,8 +280,15 @@ elseif(CC_TARGETS_ARM)
|
|
|
# reduce link time memory usage
|
|
|
set(LINKER_REDUCED_MEMORY "-Xlinker --no-keep-memory")
|
|
|
endif()
|
|
|
+elseif(CC_TARGETS_ARM64)
|
|
|
+ add_definitions(-D__aarch64__)
|
|
|
+ add_definitions(-DTARGET_64)
|
|
|
+ add_definitions(-D_M_ARM32_OR_ARM64)
|
|
|
+ if(CC_TARGET_OS_OSX)
|
|
|
+ add_compile_options(-arch arm64)
|
|
|
+ endif()
|
|
|
else()
|
|
|
- message(FATAL_ERROR "Only AMD64, ARM and I386 are supported")
|
|
|
+ message(FATAL_ERROR "Only AMD64, ARM, ARM64 and I386 are supported")
|
|
|
endif()
|
|
|
|
|
|
if(CAN_BUILD_WABT)
|
|
|
@@ -341,7 +355,10 @@ if(CLR_CMAKE_PLATFORM_XPLAT)
|
|
|
if(CC_TARGETS_AMD64)
|
|
|
set(IS_64BIT_BUILD 1)
|
|
|
add_definitions(-D_M_X64 -D_M_AMD64 -D_AMD64_)
|
|
|
- endif(CC_TARGETS_AMD64)
|
|
|
+ elseif(CC_TARGETS_ARM64)
|
|
|
+ set(IS_64BIT_BUILD 1)
|
|
|
+ add_definitions(-D_M_ARM64 -D_ARM64_)
|
|
|
+ endif()
|
|
|
|
|
|
add_definitions(
|
|
|
-DUNICODE
|
|
|
@@ -495,6 +512,16 @@ else()
|
|
|
set(DYN_LIB_EXT "so")
|
|
|
endif()
|
|
|
|
|
|
+if(CC_TARGETS_ARM64)
|
|
|
+ if(CC_TARGET_OS_LINUX)
|
|
|
+ message(WARNING "ARM64 linux build has not yet been tested, this build is unsupported.")
|
|
|
+ endif()
|
|
|
+ if(BuildJIT)
|
|
|
+ message(WARNING "ARM64 Jit not yet functional on platforms other than windows.")
|
|
|
+ message(WARNING "For use rather than development please build with Jit disabled --no-jit with ./build.sh or -DDISABLE_JIT=1 if using CMake directly")
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+
|
|
|
################# Write-barrier check/analyze ##################
|
|
|
if (WB_CHECK_SH OR WB_ANALYZE_SH)
|
|
|
add_definitions(
|