From a4d912f04c6787567556550d3047d9175812ecc4 Mon Sep 17 00:00:00 2001 From: DerThorsten Date: Mon, 20 Nov 2023 09:53:04 +0100 Subject: [PATCH 1/5] unify wasm options --- cmake/WasmBuildOptions.cmake | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/cmake/WasmBuildOptions.cmake b/cmake/WasmBuildOptions.cmake index 2ee1ef15..875e1e12 100644 --- a/cmake/WasmBuildOptions.cmake +++ b/cmake/WasmBuildOptions.cmake @@ -37,19 +37,8 @@ function(xeus_wasm_link_options target environment) PUBLIC "SHELL: -s TOTAL_STACK=32mb" PUBLIC "SHELL: -s INITIAL_MEMORY=128mb" PUBLIC "SHELL: -s WASM_BIGINT" - ) -endfunction() - -function(xeus_wasm_fs_options target) - target_link_options("${target}" PUBLIC "SHELL: -s FORCE_FILESYSTEM" + PUBLIC "SHELL: -s MAIN_MODULE=1" + PUBLIC "SHELL: -s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=\"['\$Browser', '\$ERRNO_CODES']\" " ) -endfunction() - -function(xeus_wasm_async_options target) - target_link_options("${target}" - INTERFACE "SHELL: -s ASYNCIFY=1" - INTERFACE "SHELL: -s 'ASYNCIFY_IMPORTS=[\"get_stdin\"]'" - INTERFACE "SHELL: -s 'ASYNCIFY_STACK_SIZE=100000'" - ) -endfunction() +endfunction() \ No newline at end of file From 90bd3692dfaff50199592632726486f50c57ec70 Mon Sep 17 00:00:00 2001 From: DerThorsten Date: Mon, 20 Nov 2023 11:52:51 +0100 Subject: [PATCH 2/5] remove superflous emscripten option --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 32056046..5c78ced8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,7 @@ message(STATUS "xeus binary version: v${XEUS_BINARY_VERSION}") option(XEUS_BUILD_SHARED_LIBS "Build xeus shared library." ON) option(XEUS_BUILD_STATIC_LIBS "Build xeus static library (default if BUILD_SHARED_LIBS is OFF)." ON) option(XEUS_STATIC_DEPENDENCIES "link statically with xeus dependencies" OFF) -option(XEUS_EMSCRIPTEN_WASM_BUILD "build for wasm via emscripten" OFF) +# option(XEUS_EMSCRIPTEN_WASM_BUILD "build for wasm via emscripten" OFF) # Test options option(XEUS_BUILD_TESTS "xeus test suite" OFF) @@ -59,7 +59,7 @@ option(XEUS_BUILD_TESTS "xeus test suite" OFF) # Emscripten wasm build configuration # =================================== -if(XEUS_EMSCRIPTEN_WASM_BUILD) +if(EMSCRIPTEN) SET(XEUS_BUILD_SHARED_LIBS OFF) SET(XEUS_BUILD_STATIC_LIBS ON) endif() @@ -70,7 +70,7 @@ endif() message(STATUS "XEUS_BUILD_SHARED_LIBS: ${XEUS_BUILD_SHARED_LIBS}") message(STATUS "XEUS_BUILD_STATIC_LIBS: ${XEUS_BUILD_STATIC_LIBS}") message(STATUS "XEUS_STATIC_DEPENDENCIES: ${XEUS_STATIC_DEPENDENCIES}") -message(STATUS "XEUS_EMSCRIPTEN_WASM_BUILD: ${XEUS_EMSCRIPTEN_WASM_BUILD}") +message(STATUS "XEUS_EMSCRIPTEN_WASM_BUILD: ${EMSCRIPTEN}") message(STATUS "XEUS_BUILD_TESTS: ${XEUS_BUILD_TESTS}") # Dependencies @@ -169,7 +169,7 @@ macro(xeus_create_target target_name linkage output_name) PUBLIC xtl ) - if (NOT MSVC AND NOT XEUS_EMSCRIPTEN_WASM_BUILD) + if (NOT MSVC AND NOT EMSCRIPTEN) if (APPLE) target_link_libraries(${target_name} PUBLIC "-framework CoreFoundation") else () @@ -251,7 +251,7 @@ macro(xeus_create_target target_name linkage output_name) endif () endif () - if (XEUS_EMSCRIPTEN_WASM_BUILD) + if (EMSCRIPTEN) target_compile_definitions(${target_name} PRIVATE XEUS_EMSCRIPTEN_WASM_BUILD) xeus_wasm_compile_options(${target_name}) endif() From 02644cc559e0dabb5512869994ba3b160638de52 Mon Sep 17 00:00:00 2001 From: DerThorsten Date: Mon, 20 Nov 2023 12:25:09 +0100 Subject: [PATCH 3/5] remove default lib func --- cmake/WasmBuildOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/WasmBuildOptions.cmake b/cmake/WasmBuildOptions.cmake index 875e1e12..08e7e3c0 100644 --- a/cmake/WasmBuildOptions.cmake +++ b/cmake/WasmBuildOptions.cmake @@ -16,6 +16,7 @@ function(xeus_wasm_compile_options target) PUBLIC "SHELL: -s USE_PTHREADS=0" PUBLIC "SHELL: -fexceptions" ) + set_property(TARGET ${target} PROPERTY POSITION_INDEPENDENT_CODE ON) endfunction() function(xeus_wasm_link_options target environment) @@ -39,6 +40,5 @@ function(xeus_wasm_link_options target environment) PUBLIC "SHELL: -s WASM_BIGINT" PUBLIC "SHELL: -s FORCE_FILESYSTEM" PUBLIC "SHELL: -s MAIN_MODULE=1" - PUBLIC "SHELL: -s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=\"['\$Browser', '\$ERRNO_CODES']\" " ) endfunction() \ No newline at end of file From 354a4dcd65e37411d977fb69f0f004262a476ee5 Mon Sep 17 00:00:00 2001 From: DerThorsten Date: Tue, 28 Nov 2023 09:20:00 +0100 Subject: [PATCH 4/5] cleanup --- .github/workflows/main.yml | 2 +- CMakeLists.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 88efca23..ab6f7174 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: - name: Get number of CPU cores uses: SimenB/github-actions-cpu-cores@v1 - - name: install mamba + - name: Install mamba uses: mamba-org/provision-with-micromamba@main with: environment-file: environment-dev.yml diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c78ced8..3afefe78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,6 @@ message(STATUS "xeus binary version: v${XEUS_BINARY_VERSION}") option(XEUS_BUILD_SHARED_LIBS "Build xeus shared library." ON) option(XEUS_BUILD_STATIC_LIBS "Build xeus static library (default if BUILD_SHARED_LIBS is OFF)." ON) option(XEUS_STATIC_DEPENDENCIES "link statically with xeus dependencies" OFF) -# option(XEUS_EMSCRIPTEN_WASM_BUILD "build for wasm via emscripten" OFF) # Test options option(XEUS_BUILD_TESTS "xeus test suite" OFF) From e6877112373d2e16d3633b6606e64debb397e64a Mon Sep 17 00:00:00 2001 From: DerThorsten Date: Tue, 28 Nov 2023 09:20:52 +0100 Subject: [PATCH 5/5] cleanup --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ab6f7174..88efca23 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,7 @@ jobs: - name: Get number of CPU cores uses: SimenB/github-actions-cpu-cores@v1 - - name: Install mamba + - name: install mamba uses: mamba-org/provision-with-micromamba@main with: environment-file: environment-dev.yml