mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Refine wamr-sdk build scripts (#801)
Avoid hardcoding the path of wasi-sdk in wamr_toolchain.cmake, allow passing -w [wasi-sdk path] to build_sdk.sh, allow passing OUT_DIR to app-sdk and runtime-sdk, and optimize message information.
This commit is contained in:
parent
6b3a939370
commit
1a987ae59b
|
@ -12,7 +12,7 @@ endif ()
|
|||
|
||||
if (NOT DEFINED CONFIG_PATH)
|
||||
set (CONFIG_PATH ${CMAKE_CURRENT_LIST_DIR}/../wamr_config_default.cmake)
|
||||
message(STATUS, "CONFIG_PATH set to ${CONFIG_PATH} ")
|
||||
message(STATUS "CONFIG_PATH set to ${CONFIG_PATH} ")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${CONFIG_PATH}")
|
||||
|
@ -21,8 +21,9 @@ endif ()
|
|||
|
||||
include(${CONFIG_PATH})
|
||||
|
||||
|
||||
set (OUT_DIR "${CMAKE_CURRENT_LIST_DIR}/../out/${WAMR_BUILD_SDK_PROFILE}")
|
||||
if (NOT DEFINED OUT_DIR)
|
||||
set (OUT_DIR "${CMAKE_CURRENT_LIST_DIR}/../out/${WAMR_BUILD_SDK_PROFILE}")
|
||||
endif ()
|
||||
set (APP_SDK_DIR "${OUT_DIR}/app-sdk")
|
||||
|
||||
if (DEFINED EXTRA_SDK_INCLUDE_PATH)
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
SET(CMAKE_SYSTEM_NAME Linux)
|
||||
SET(CMAKE_SYSTEM_PROCESSOR wasm32)
|
||||
SET (CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/libc-builtin-sysroot)
|
||||
SET (CMAKE_SYSTEM_NAME Linux)
|
||||
SET (CMAKE_SYSTEM_PROCESSOR wasm32)
|
||||
SET (CMAKE_SYSROOT ${CMAKE_CURRENT_LIST_DIR}/libc-builtin-sysroot)
|
||||
|
||||
|
||||
IF (NOT (DEFINED WASI_SDK_DIR OR DEFINED CACHE{WASI_SDK_DIR}))
|
||||
MESSAGE (FATAL_ERROR "WASI_SDK_DIR is not defined")
|
||||
ELSE ()
|
||||
MESSAGE (STATUS "WASI_SDK_DIR=${WASI_SDK_DIR}")
|
||||
LIST (APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES "WASI_SDK_DIR")
|
||||
ENDIF ()
|
||||
|
||||
if (NOT DEFINED WASI_SDK_DIR)
|
||||
SET (WASI_SDK_DIR "/opt/wasi-sdk")
|
||||
endif ()
|
||||
|
||||
SET (CMAKE_C_FLAGS "-nostdlib -z stack-size=4096" CACHE INTERNAL "")
|
||||
SET (CMAKE_C_COMPILER_TARGET "wasm32")
|
||||
|
|
|
@ -8,6 +8,7 @@ wamr_root_dir=${sdk_root}/..
|
|||
out_dir=${sdk_root}/out
|
||||
profile_path=${out_dir}/profile.cmake
|
||||
wamr_config_cmake_file=""
|
||||
wasi_sdk_home="/opt/wasi-sdk"
|
||||
# libc support, default builtin-libc
|
||||
LIBC_SUPPORT="BUILTIN"
|
||||
CM_DEXTRA_SDK_INCLUDE_PATH=""
|
||||
|
@ -27,11 +28,12 @@ usage ()
|
|||
echo " -c, clean"
|
||||
echo " -d, debug mode"
|
||||
echo " -i, enter menu config settings"
|
||||
echo " -w [wasi-sdk installation path] it will be '/opt/wasi-sdk' if not set"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
while getopts "e:x:n:t:icd" opt
|
||||
while getopts "e:x:n:t:icdw:" opt
|
||||
do
|
||||
case $opt in
|
||||
n)
|
||||
|
@ -55,6 +57,11 @@ do
|
|||
i)
|
||||
MENUCONFIG="TRUE"
|
||||
;;
|
||||
w)
|
||||
if [[ -n "${OPTARG}" ]]; then
|
||||
wasi_sdk_home=$(realpath "${OPTARG}")
|
||||
fi
|
||||
;;
|
||||
?)
|
||||
echo "Unknown arg: $arg"
|
||||
usage
|
||||
|
@ -64,13 +71,11 @@ do
|
|||
done
|
||||
|
||||
|
||||
if [ ! -f "/opt/wasi-sdk/bin/clang" ]; then
|
||||
echo "Intall wasi-sdk.." &&
|
||||
rm -fr wasi-sdk-* /opt/wasi-sdk &&
|
||||
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz &&
|
||||
tar -zxf wasi-sdk-12.0-linux.tar.gz &&
|
||||
mv wasi-sdk-12.0 /opt/wasi-sdk &&
|
||||
rm -f wasi-sdk-12.0-linux.tar.gz
|
||||
if [ ! -f "${wasi_sdk_home}/bin/clang" ]; then
|
||||
echo "Can not find clang under \"${wasi_sdk_home}/bin\"."
|
||||
exit 1
|
||||
else
|
||||
echo "Found WASI_SDK HOME ${wasi_sdk_home}"
|
||||
fi
|
||||
|
||||
|
||||
|
@ -191,12 +196,14 @@ if [ "${LIBC_SUPPORT}" = "WASI" ]; then
|
|||
cmake .. $CM_DEXTRA_SDK_INCLUDE_PATH \
|
||||
-DWAMR_BUILD_SDK_PROFILE=${PROFILE} \
|
||||
-DCONFIG_PATH=${wamr_config_cmake_file} \
|
||||
-DWASI_SDK_DIR="${wasi_sdk_home}" \
|
||||
-DCMAKE_TOOLCHAIN_FILE=../wasi_toolchain.cmake
|
||||
else
|
||||
echo "using builtin libc toolchain"
|
||||
cmake .. $CM_DEXTRA_SDK_INCLUDE_PATH \
|
||||
-DWAMR_BUILD_SDK_PROFILE=${PROFILE} \
|
||||
-DCONFIG_PATH=${wamr_config_cmake_file} \
|
||||
-DWASI_SDK_DIR="${wasi_sdk_home}" \
|
||||
-DCMAKE_TOOLCHAIN_FILE=../wamr_toolchain.cmake
|
||||
fi
|
||||
[ $? -eq 0 ] || exit $?
|
||||
|
|
|
@ -24,7 +24,9 @@ endif ()
|
|||
|
||||
include(${CONFIG_PATH})
|
||||
|
||||
set (OUT_DIR "${CMAKE_CURRENT_LIST_DIR}/../out/${WAMR_BUILD_SDK_PROFILE}")
|
||||
if (NOT DEFINED OUT_DIR)
|
||||
set (OUT_DIR "${CMAKE_CURRENT_LIST_DIR}/../out/${WAMR_BUILD_SDK_PROFILE}")
|
||||
endif ()
|
||||
set (RUNTIME_SDK_DIR "${OUT_DIR}/runtime-sdk")
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../../build-scripts/runtime_lib.cmake)
|
||||
|
|
Loading…
Reference in New Issue
Block a user