From 306bbc740302d5da964c1afed351fc340435dd0f Mon Sep 17 00:00:00 2001 From: pixelherodev Date: Mon, 24 Sep 2018 15:31:35 -0400 Subject: [PATCH 1/2] Add support for dynamic libraries in Emscripten --- cmake-toolchains/emscripten.toolchain.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake-toolchains/emscripten.toolchain.cmake b/cmake-toolchains/emscripten.toolchain.cmake index 0d85c2dd..af08651d 100644 --- a/cmake-toolchains/emscripten.toolchain.cmake +++ b/cmake-toolchains/emscripten.toolchain.cmake @@ -83,6 +83,7 @@ set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} --memory-init-file ${FIPS_EMSCRIPTEN set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s TOTAL_MEMORY=${FIPS_EMSCRIPTEN_TOTAL_MEMORY}") set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s ERROR_ON_UNDEFINED_SYMBOLS=1") set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s NO_EXIT_RUNTIME=1") +set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s LINKABLE=1") if (FIPS_EMSCRIPTEN_ALLOW_MEMORY_GROWTH) set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s ALLOW_MEMORY_GROWTH=1") @@ -150,7 +151,7 @@ else() endif() set(EMSC_LINKER_FLAGS_RELEASE "${EMSC_LINKER_FLAGS_RELEASE} -s ASSERTIONS=0") -set(EMSC_EXE_LINKER_FLAGS "${EMSC_EXE_LINKER_FLAGS} --shell-file ${FIPS_EMSCRIPTEN_SHELL_HTML}") +set(EMSC_EXE_LINKER_FLAGS "${EMSC_EXE_LINKER_FLAGS} --shell-file ${FIPS_EMSCRIPTEN_SHELL_HTML} -s MAIN_MODULE=1 ") set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) @@ -259,7 +260,7 @@ set(CMAKE_EXE_LINKER_FLAGS_PROFILING "--profiling ${EMSCRIPTEN_OPT} ${EMSC_LINKE set(CMAKE_STATIC_LINKER_FLAGS "${EMSC_AR_FLAGS}") # dynamic lib linker flags -set(CMAKE_SHARED_LINKER_FLAGS "-shared ${EMSC_COMMON_FLAGS} ${EMSC_LINKER_FLAGS} -s BUILD_AS_WORKER=1 ") +set(CMAKE_SHARED_LINKER_FLAGS "-shared ${EMSC_COMMON_FLAGS} ${EMSC_LINKER_FLAGS} -s BUILD_AS_WORKER=1 -s SIDE_MODULE=1 ") set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${EMSCRIPTEN_OPT} ${EMSC_LINKER_FLAGS_RELEASE}") set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${EMSCRIPTEN_OPT} -g") set(CMAKE_SHARED_LINKER_FLAGS_PROFILING "--profiling ${EMSCRIPTEN_OPT} ${EMSC_LINKER_FLAGS_RELEASE}") From 3d81fe526b2ad1e90f50ff56ec52d2823a73eb9a Mon Sep 17 00:00:00 2001 From: Travis Date: Sun, 30 Sep 2018 18:20:42 -0400 Subject: [PATCH 2/2] Fix emsc HttpFS backend --- cmake-toolchains/emscripten.toolchain.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake-toolchains/emscripten.toolchain.cmake b/cmake-toolchains/emscripten.toolchain.cmake index af08651d..01b805a4 100644 --- a/cmake-toolchains/emscripten.toolchain.cmake +++ b/cmake-toolchains/emscripten.toolchain.cmake @@ -111,7 +111,8 @@ if (FIPS_EMSCRIPTEN_USE_EMMALLOC) set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s \"MALLOC='emmalloc'\"") endif() if (FIPS_EMSCRIPTEN_USE_FS) - set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s NO_FILESYSTEM=0") + set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s NO_FILESYSTEM=0") + add_definitions("-DFIPS_EMSCRIPTEN_USE_FS") else() set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s NO_FILESYSTEM=1") endif()