From 054fffe77dbca06c41f9d0207eae8a5f8d519ccd Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Mon, 5 Feb 2018 10:13:16 +0100 Subject: [PATCH] [emscripten] Use a whitelist of sync symbols that will be interpreted --- build/toolchain.emscripten.mak | 38 ++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/build/toolchain.emscripten.mak b/build/toolchain.emscripten.mak index 8d327ae7b..259b4e03a 100644 --- a/build/toolchain.emscripten.mak +++ b/build/toolchain.emscripten.mak @@ -2,5 +2,39 @@ CC = emcc CXX = emcc LD = emcc -SFLAGS += -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 -LDFLAGS += -Oz -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 -s EXPORTED_FUNCTIONS="['_main', '_IonEventsEmscriptenPushEvent']" +EMSCRIPTEN_ASYNC_SYMBOLS = \ +_main \ +__ZN3Ion6Events8getEventEPi \ +__ZN4Code17ConsoleController9inputTextEPKc \ +__ZThn32_N4Code17ConsoleController9inputTextEPKc \ +_mp_hal_input \ +_mp_builtin_input \ +_fun_builtin_var_call \ +_mp_call_function_n_kw \ +__ZN11MicroPython20ExecutionEnvironment7runCodeEPKc \ +__ZN4Code17ConsoleController21runAndPrintForCommandEPKc \ +__ZN4Code17ConsoleController25textFieldDidFinishEditingEP9TextFieldPKcN3Ion6Events5EventE \ +__ZThn28_N4Code17ConsoleController25textFieldDidFinishEditingEP9TextFieldPKcN3Ion6Events5EventE \ +__ZN9TextField18privateHandleEventEN3Ion6Events5EventE \ +__ZN9TextField11handleEventEN3Ion6Events5EventE \ +__ZN3App12processEventEN3Ion6Events5EventE \ +__ZN9Container13dispatchEventEN3Ion6Events5EventE \ +__ZN13AppsContainer13dispatchEventEN3Ion6Events5EventE \ +__ZN7RunLoop4stepEv \ +__ZN7RunLoop8runWhileEPFbPvES0_ \ +__ZN7RunLoop3runEv \ +__ZN9Container3runEv \ +__ZN13AppsContainer3runEv \ +__Z7ion_appv \ +_mp_execute_bytecode \ +_fun_bc_call \ +_mp_call_function_0 \ +_IonEventsEmscriptenPushEvent \ +__ZN3Ion6Events13isShiftActiveEv \ +__ZN3Ion6Events13isAlphaActiveEv \ +__ZN3Ion6Events5EventC2ENS_8Keyboard3KeyEbb + +EMFLAGS = -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 -s EMTERPRETIFY_WHITELIST='[$(foreach sym,$(EMSCRIPTEN_ASYNC_SYMBOLS),"$(sym)",)]' + +SFLAGS += $(EMFLAGS) +LDFLAGS += $(EMFLAGS) -Oz -s EXPORTED_FUNCTIONS='["_main", "_IonEventsEmscriptenPushEvent"]'