mirror of
https://github.com/ading2210/libcurl.js.git
synced 2025-05-12 14:00:01 -04:00
add basic websocket support
This commit is contained in:
parent
8ad11cd515
commit
17d8c9fa8c
10 changed files with 292 additions and 29 deletions
|
@ -14,11 +14,17 @@ FRAGMENTS_DIR="fragments"
|
|||
WRAPPER_SOURCE="main.js"
|
||||
WISP_CLIENT="wisp_client"
|
||||
|
||||
#read exported functions
|
||||
EXPORTED_FUNCS=""
|
||||
for func in $(cat exported_funcs.txt); do
|
||||
EXPORTED_FUNCS="$EXPORTED_FUNCS,_$func"
|
||||
done
|
||||
EXPORTED_FUNCS="${EXPORTED_FUNCS:1}"
|
||||
|
||||
#compile options
|
||||
EXPORTED_FUNCS="_init_curl,_start_request,_tick_request,_active_requests,_free"
|
||||
RUNTIME_METHODS="addFunction,removeFunction,allocate,ALLOC_NORMAL"
|
||||
COMPILER_OPTIONS="-o $MODULE_FILE -lcurl -lssl -lcrypto -lcjson -lz -lbrotlidec -lbrotlicommon -lnghttp2 -I $INCLUDE_DIR -L $LIB_DIR"
|
||||
EMSCRIPTEN_OPTIONS="-lwebsocket.js -sASSERTIONS=1 -sALLOW_TABLE_GROWTH -sALLOW_MEMORY_GROWTH -sEXPORTED_FUNCTIONS=$EXPORTED_FUNCS -sEXPORTED_RUNTIME_METHODS=$RUNTIME_METHODS"
|
||||
EMSCRIPTEN_OPTIONS="-lwebsocket.js -sASSERTIONS=1 -sLLD_REPORT_UNDEFINED -sALLOW_TABLE_GROWTH -sALLOW_MEMORY_GROWTH -sEXPORTED_FUNCTIONS=$EXPORTED_FUNCS -sEXPORTED_RUNTIME_METHODS=$RUNTIME_METHODS"
|
||||
|
||||
if [[ "$*" == *"release"* ]]; then
|
||||
COMPILER_OPTIONS="-Oz -flto $COMPILER_OPTIONS"
|
||||
|
@ -41,7 +47,7 @@ rm -rf out
|
|||
mkdir -p out
|
||||
|
||||
#compile the main c file - but only if the source has been modified
|
||||
COMPILE_CMD="emcc main.c $COMPILER_OPTIONS $EMSCRIPTEN_OPTIONS"
|
||||
COMPILE_CMD="emcc *.c $COMPILER_OPTIONS $EMSCRIPTEN_OPTIONS"
|
||||
echo $COMPILE_CMD
|
||||
$COMPILE_CMD
|
||||
mv $COMPILED_FILE $WASM_FILE || true
|
||||
|
@ -51,10 +57,11 @@ cp $WRAPPER_SOURCE $OUT_FILE
|
|||
sed -i "/__emscripten_output__/r $MODULE_FILE" $OUT_FILE
|
||||
rm $MODULE_FILE
|
||||
|
||||
#add wisp libraries
|
||||
#add extra libraries
|
||||
sed -i "/__extra_libraries__/r $WISP_CLIENT/polyfill.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r $WISP_CLIENT/wisp.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r ./messages.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r ./websocket.js" $OUT_FILE
|
||||
|
||||
#apply patches
|
||||
python3 scripts/patcher.py $FRAGMENTS_DIR $OUT_FILE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue