summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt')
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt
new file mode 100644
index 000000000..87f21e9fd
--- /dev/null
+++ b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/samples/wasi-threads/wasm-apps/CMakeLists.txt
@@ -0,0 +1,46 @@
+# Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+if (APPLE)
+ set (HAVE_FLAG_SEARCH_PATHS_FIRST 0)
+ set (CMAKE_C_LINK_FLAGS "")
+ set (CMAKE_CXX_LINK_FLAGS "")
+endif ()
+
+if (NOT DEFINED WASI_SDK_DIR)
+ set (WASI_SDK_DIR "/opt/wasi-sdk")
+endif ()
+
+if (DEFINED WASI_SYSROOT)
+ set (CMAKE_SYSROOT "${WASI_SYSROOT}")
+endif ()
+
+set (CMAKE_C_COMPILER "${WASI_SDK_DIR}/bin/clang")
+set (CMAKE_ASM_COMPILER "${WASI_SDK_DIR}/bin/clang")
+set (CMAKE_EXE_LINKER_FLAGS "-target wasm32-wasi-threads")
+
+if ("$ENV{COLLECT_CODE_COVERAGE}" STREQUAL "1" OR COLLECT_CODE_COVERAGE EQUAL 1)
+ set (CMAKE_C_FLAGS "")
+ set (CMAKE_CXX_FLAGS "")
+endif ()
+
+function (compile_sample SOURCE_FILE)
+ get_filename_component (FILE_NAME ${SOURCE_FILE} NAME_WLE)
+ set (WASM_MODULE ${FILE_NAME}.wasm)
+ add_executable (${WASM_MODULE} ${SOURCE_FILE} ${ARGN})
+
+ target_compile_options (${WASM_MODULE} PRIVATE
+ -pthread -ftls-model=local-exec)
+
+ target_link_options (${WASM_MODULE} PRIVATE
+ -z stack-size=32768
+ LINKER:--export=__heap_base
+ LINKER:--export=__data_end
+ LINKER:--shared-memory,--max-memory=1966080
+ LINKER:--export=wasi_thread_start
+ LINKER:--export=malloc
+ LINKER:--export=free
+ )
+endfunction ()
+
+compile_sample(no_pthread.c wasi_thread_start.S) \ No newline at end of file