e4023c8e02
Enable RISCV AOT support, the supported ABIs are LP64 and LP64D for riscv64, ILP32 and ILP32D for riscv32. For wamrc: use --target=riscv64/riscv32 to specify the target arch of output AOT file, use --target-abi=lp64d/lp64/ilp32d/ilp32 to specify the target ABI, if --target-abi isn't specified, by default lp64d is used for riscv64, and ilp32d is used for riscv32. Signed-off-by: Huang Qi <huangqi3@xiaomi.com> Co-authored-by: wenyongh <wenyong.huang@intel.com>
34 lines
1.3 KiB
CMake
34 lines
1.3 KiB
CMake
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
set (IWASM_AOT_DIR ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
add_definitions (-DWASM_ENABLE_AOT=1)
|
|
|
|
include_directories (${IWASM_AOT_DIR})
|
|
|
|
file (GLOB c_source_all ${IWASM_AOT_DIR}/*.c)
|
|
|
|
if (WAMR_BUILD_TARGET STREQUAL "X86_64" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_x86_64.c)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "X86_32")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_x86_32.c)
|
|
elseif (WAMR_BUILD_TARGET MATCHES "AARCH64.*")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_aarch64.c)
|
|
elseif (WAMR_BUILD_TARGET MATCHES "ARM.*")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_arm.c)
|
|
elseif (WAMR_BUILD_TARGET MATCHES "THUMB.*")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_thumb.c)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "MIPS")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_mips.c)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "XTENSA")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_xtensa.c)
|
|
elseif (WAMR_BUILD_TARGET MATCHES "RISCV*")
|
|
set (arch_source ${IWASM_AOT_DIR}/arch/aot_reloc_riscv.c)
|
|
else ()
|
|
message (FATAL_ERROR "Build target isn't set")
|
|
endif ()
|
|
|
|
set (IWASM_AOT_SOURCE ${c_source_all} ${arch_source})
|
|
|