| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # 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)
|