Skip to content

Commit 2c2fbad

Browse files
committed
feat: add POSIX sockets proxy support for GIO networking
- Add PROXY_POSIX_SOCKETS and PROXY_TO_PTHREAD flags - Link websocket.js library for WebSocket-to-POSIX proxying - Add start:proxy task to run proxy server - Add sysprof.wrap Meson dependency redirect - Enables full GIO/GLib networking in WASM (DNS, TCP/UDP)
1 parent f56f1e4 commit 2c2fbad

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

deno.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
"./main": "./install/wasm/gdk-pixbuf-main.js"
77
},
88
"tasks": {
9-
"build:main:meson": "meson setup build-main --cross-file=scripts/emscripten.cross -Dbuildtype=release --prefix=$PWD/install -Dlibdir=wasm -Dbindir=wasm --force-fallback-for=glib,libffi,zlib -Dglib:xattr=false -Dglib:tests=false && meson compile -C build-main gdk-pixbuf-main && meson install -C build-main",
10-
"build:side:meson": "meson setup build-side --cross-file=scripts/emscripten.cross -Dbuildtype=release --prefix=$PWD/install -Dlibdir=wasm -Dbindir=wasm --force-fallback-for=glib,libffi,zlib -Dglib:xattr=false -Dglib:tests=false -Dc_args='-msimd128 -DGOBJECT_SIDE_MODULE=1' -Dc_link_args='-sSIDE_MODULE=2 -fPIC -O3 -flto -sERROR_ON_UNDEFINED_SYMBOLS=0' && meson compile -C build-side gdk-pixbuf-side && meson install -C build-side && python3 scripts/postinstall.py $PWD/install",
9+
"build:main:meson": "EMCC_CFLAGS='-pthread -sPROXY_TO_PTHREAD' LDFLAGS='-lwebsocket.js -sPROXY_POSIX_SOCKETS -pthread -sPROXY_TO_PTHREAD' meson setup build-main --cross-file=scripts/emscripten.cross -Dbuildtype=release --prefix=$PWD/install -Dlibdir=wasm -Dbindir=wasm --force-fallback-for=glib,libffi,zlib -Dglib:xattr=false -Dglib:tests=false && meson compile -C build-main gdk-pixbuf-main && meson install -C build-main",
10+
"build:side:meson": "EMCC_CFLAGS='-pthread -sPROXY_TO_PTHREAD' LDFLAGS='-lwebsocket.js -sPROXY_POSIX_SOCKETS -pthread -sPROXY_TO_PTHREAD' meson setup build-side --cross-file=scripts/emscripten.cross -Dbuildtype=release --prefix=$PWD/install -Dlibdir=wasm -Dbindir=wasm --force-fallback-for=glib,libffi,zlib -Dglib:xattr=false -Dglib:tests=false -Dc_args='-msimd128 -DGOBJECT_SIDE_MODULE=1 -pthread -sPROXY_TO_PTHREAD' -Dc_link_args='-sSIDE_MODULE=2 -fPIC -O3 -flto -sERROR_ON_UNDEFINED_SYMBOLS=0 -lwebsocket.js -sPROXY_POSIX_SOCKETS -pthread -sPROXY_TO_PTHREAD' && meson compile -C build-side gdk-pixbuf-side && meson install -C build-side && python3 scripts/postinstall.py $PWD/install",
1111
"build:wasm:meson": "deno task build:main:meson && deno task build:side:meson && deno task manifest",
12-
"manifest": "deno run --allow-read --allow-write --allow-run ../../../../scripts/generate-wasm-manifest.ts ."
12+
"manifest": "deno run --allow-read --allow-write --allow-run ../../../../scripts/generate-wasm-manifest.ts .",
13+
"start:proxy": "python3 $(which emcc)/../tools/websocket_to_posix_proxy/websocket_to_posix_proxy.py"
1314
}
1415
}

subprojects/sysprof.wrap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[wrap-redirect]
2+
filename = glib/subprojects/sysprof.wrap

0 commit comments

Comments
 (0)