mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 23:15:16 +00:00
![Xu Jun](/assets/img/avatar_default.png)
Add registration of libc-wasi to 'wasi_snapshot_preview1' to support cargo-wasi change zephyr build method from cmake to west fix problem when preserve space for local vars fix wasi authority problem
49 lines
2.1 KiB
CMake
49 lines
2.1 KiB
CMake
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
set (IWASM_COMMON_DIR ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
include_directories (${IWASM_COMMON_DIR})
|
|
|
|
add_definitions(-DBH_MALLOC=wasm_runtime_malloc)
|
|
add_definitions(-DBH_FREE=wasm_runtime_free)
|
|
|
|
file (GLOB c_source_all ${IWASM_COMMON_DIR}/*.c)
|
|
|
|
if (WAMR_BUILD_TARGET STREQUAL "X86_64" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_em64.s)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "X86_32")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_ia32.s)
|
|
elseif (WAMR_BUILD_TARGET MATCHES "ARM.*")
|
|
if (WAMR_BUILD_TARGET MATCHES "ARM.*_VFP")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_arm_vfp.s)
|
|
else ()
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_arm.s)
|
|
endif ()
|
|
elseif (WAMR_BUILD_TARGET MATCHES "THUMB.*")
|
|
if (WAMR_BUILD_TARGET MATCHES "THUMB.*_VFP")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_thumb_vfp.s)
|
|
else ()
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_thumb.s)
|
|
endif ()
|
|
elseif (WAMR_BUILD_TARGET MATCHES "AARCH64.*")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_aarch64.s)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "MIPS")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_mips.s)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "XTENSA")
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_xtensa.s)
|
|
elseif (WAMR_BUILD_TARGET STREQUAL "GENERAL")
|
|
# Use invokeNative_general.c instead of assembly code,
|
|
# but the maximum number of native arguments is limited to 20,
|
|
# and there are possible issues when passing arguments to
|
|
# native function for some cpus, e.g. int64 and double arguments
|
|
# in arm and mips need to be 8-bytes aligned, and some arguments
|
|
# of x86_64 are passed by registers but not stack
|
|
set (source_all ${c_source_all} ${IWASM_COMMON_DIR}/arch/invokeNative_general.c)
|
|
else ()
|
|
message (FATAL_ERROR "Build target isn't set")
|
|
endif ()
|
|
|
|
set (IWASM_COMMON_SOURCE ${source_all})
|
|
|