mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 23:15:16 +00:00
6adf9194d4
Use the cmake variable `WAMR_BUILD_GLOBAL_HEAP_POOL` and `WAMR_BUILD_GLOBAL_HEAP_SIZE` to enable/disable the global heap pool and set its size. And set the default global heap size in core/config.h and the cmake files. As a result, the developers who build iwasm can easily enable/disable the global heap pool and change its size regardless of the iwasm implementation, without manually finding and patching the right location for that value.
131 lines
4.6 KiB
Makefile
131 lines
4.6 KiB
Makefile
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
NAME := iwasm
|
|
CORE_ROOT := wamr/core
|
|
IWASM_ROOT := wamr/core/iwasm
|
|
SHARED_ROOT := wamr/core/shared
|
|
|
|
GLOBAL_DEFINES += BH_MALLOC=wasm_runtime_malloc
|
|
GLOBAL_DEFINES += BH_FREE=wasm_runtime_free
|
|
|
|
# Change it to THUMBV7M if you want to build for developerkit
|
|
WAMR_BUILD_TARGET := X86_32
|
|
|
|
WAMR_BUILD_PLATFORM := alios-things
|
|
|
|
ifeq (${WAMR_BUILD_TARGET}, X86_32)
|
|
GLOBAL_DEFINES += BUILD_TARGET_X86_32
|
|
INVOKE_NATIVE := invokeNative_ia32.s
|
|
AOT_RELOC := aot_reloc_x86_32.c
|
|
else ifeq (${WAMR_BUILD_TARGET}, X86_64)
|
|
GLOBAL_DEFINES += BUILD_TARGET_X86_64
|
|
INVOKE_NATIVE := invokeNative_em64.s
|
|
AOT_RELOC := aot_reloc_x86_64.c
|
|
else ifeq ($(findstring ARM,$(WAMR_BUILD_TARGET)), ARM)
|
|
GLOBAL_DEFINES += BUILD_TARGET_ARM
|
|
GLOBAL_DEFINES += BUILD_TARGET=\"$(WAMR_BUILD_TARGET)\"
|
|
INVOKE_NATIVE := invokeNative_arm.s
|
|
AOT_RELOC := aot_reloc_arm.c
|
|
else ifeq ($(findstring THUMB,$(WAMR_BUILD_TARGET)), THUMB)
|
|
GLOBAL_DEFINES += BUILD_TARGET_THUMB
|
|
GLOBAL_DEFINES += BUILD_TARGET=\"$(WAMR_BUILD_TARGET)\"
|
|
INVOKE_NATIVE := invokeNative_thumb.s
|
|
AOT_RELOC := aot_reloc_thumb.c
|
|
else ifeq (${WAMR_BUILD_TARGET}, MIPS)
|
|
GLOBAL_DEFINES += BUILD_TARGET_MIPS
|
|
INVOKE_NATIVE := invokeNative_mips.s
|
|
AOT_RELOC := aot_reloc_mips.c
|
|
else ifeq (${WAMR_BUILD_TARGET}, XTENSA)
|
|
GLOBAL_DEFINES += BUILD_TARGET_XTENSA
|
|
INVOKE_NATIVE := invokeNative_xtensa.s
|
|
AOT_RELOC := aot_reloc_xtensa.c
|
|
else
|
|
$(error Build target isn't set)
|
|
endif
|
|
|
|
# Enable Interpreter by default.
|
|
WAMR_BUILD_INTERP = 1
|
|
|
|
# Enable AOT by default.
|
|
WAMR_BUILD_AOT = 1
|
|
|
|
# Override the global heap usage
|
|
ifndef WAMR_BUILD_GLOBAL_HEAP_POOL
|
|
WAMR_BUILD_GLOBAL_HEAP_POOL=1
|
|
endif
|
|
GLOBAL_DEFINES += WASM_ENABLE_GLOBAL_HEAP_POOL=${WAMR_BUILD_GLOBAL_HEAP_POOL}
|
|
|
|
# Override the global heap size for small devices
|
|
ifndef WAMR_BUILD_GLOBAL_HEAP_SIZE
|
|
WAMR_BUILD_GLOBAL_HEAP_SIZE = 262144 # 256 kB
|
|
endif
|
|
GLOBAL_DEFINES += WASM_GLOBAL_HEAP_SIZE=${WAMR_BUILD_GLOBAL_HEAP_SIZE}
|
|
|
|
ifeq (${WAMR_BUILD_INTERP}, 1)
|
|
GLOBAL_DEFINES += WASM_ENABLE_INTERP=1
|
|
endif
|
|
|
|
ifeq (${WAMR_BUILD_AOT}, 1)
|
|
GLOBAL_DEFINES += WASM_ENABLE_AOT=1
|
|
endif
|
|
|
|
GLOBAL_DEFINES += WASM_ENABLE_LIBC_BUILTIN=1
|
|
|
|
GLOBAL_INCLUDES += ${CORE_ROOT} \
|
|
${IWASM_ROOT}/include \
|
|
${IWASM_ROOT}/common \
|
|
${SHARED_ROOT}/include \
|
|
${SHARED_ROOT}/platform/include \
|
|
${SHARED_ROOT}/utils \
|
|
${SHARED_ROOT}/mem-alloc \
|
|
${SHARED_ROOT}/platform/alios
|
|
|
|
ifeq (${WAMR_BUILD_INTERP}, 1)
|
|
GLOBAL_INCLUDES += ${IWASM_ROOT}/interpreter
|
|
endif
|
|
|
|
ifeq (${WAMR_BUILD_AOT}, 1)
|
|
GLOBAL_INCLUDES += ${IWASM_ROOT}/aot
|
|
endif
|
|
|
|
$(NAME)_SOURCES := ${SHARED_ROOT}/platform/alios/alios_platform.c \
|
|
${SHARED_ROOT}/platform/alios/alios_thread.c \
|
|
${SHARED_ROOT}/platform/alios/alios_time.c \
|
|
${SHARED_ROOT}/platform/common/math/math.c \
|
|
${SHARED_ROOT}/mem-alloc/mem_alloc.c \
|
|
${SHARED_ROOT}/mem-alloc/ems/ems_kfc.c \
|
|
${SHARED_ROOT}/mem-alloc/ems/ems_alloc.c \
|
|
${SHARED_ROOT}/mem-alloc/ems/ems_hmu.c \
|
|
${SHARED_ROOT}/utils/bh_assert.c \
|
|
${SHARED_ROOT}/utils/bh_common.c \
|
|
${SHARED_ROOT}/utils/bh_hashmap.c \
|
|
${SHARED_ROOT}/utils/bh_list.c \
|
|
${SHARED_ROOT}/utils/bh_log.c \
|
|
${SHARED_ROOT}/utils/bh_queue.c \
|
|
${SHARED_ROOT}/utils/bh_vector.c \
|
|
${SHARED_ROOT}/utils/runtime_timer.c \
|
|
${IWASM_ROOT}/libraries/libc-builtin/libc_builtin_wrapper.c \
|
|
${IWASM_ROOT}/common/wasm_application.c \
|
|
${IWASM_ROOT}/common/wasm_runtime_common.c \
|
|
${IWASM_ROOT}/common/wasm_native.c \
|
|
${IWASM_ROOT}/common/wasm_exec_env.c \
|
|
${IWASM_ROOT}/common/wasm_memory.c \
|
|
${IWASM_ROOT}/common/wasm_c_api.c \
|
|
${IWASM_ROOT}/common/arch/${INVOKE_NATIVE} \
|
|
src/main.c
|
|
|
|
ifeq (${WAMR_BUILD_INTERP}, 1)
|
|
$(NAME)_SOURCES += ${IWASM_ROOT}/interpreter/wasm_interp_classic.c \
|
|
${IWASM_ROOT}/interpreter/wasm_loader.c \
|
|
${IWASM_ROOT}/interpreter/wasm_runtime.c
|
|
endif
|
|
|
|
ifeq (${WAMR_BUILD_AOT}, 1)
|
|
$(NAME)_SOURCES += ${IWASM_ROOT}/aot/aot_loader.c \
|
|
${IWASM_ROOT}/aot/arch/${AOT_RELOC} \
|
|
${IWASM_ROOT}/aot/aot_runtime.c \
|
|
${IWASM_ROOT}/aot/aot_intrinsic.c
|
|
endif
|
|
|