@ai-ecoverse/wasm-emscripten 6.0.9-5 → 6.0.9-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,6 +14,17 @@ pointing at this package's config.
14
14
  | `@ai-ecoverse/emscripten-cache` | Read-only prebuilt `sysroot/` |
15
15
  | `esbuild-wasm@0.28.2` | SLICC `node` ESM/TLA transpile (`compiler.mjs`, …) |
16
16
  | `typescript@6.0.3` | Fallback transpile path when esbuild is unavailable |
17
+ | `acorn` / `acorn-import-phases` | JS optimizer (`acorn-optimizer.mjs`) |
18
+
19
+ ## Default link (wasm realm)
20
+
21
+ Executable links (not `-c` / `-r` / `-shared`) inject `homescoop_em_cli_ldflags`
22
+ (`-sENVIRONMENT=web,worker,node -sEXIT_RUNTIME=1 -sALLOW_MEMORY_GROWTH=1`) and
23
+ `lib/slicc/{slicc_spawn,slicc_exec,slicc_signals,slicc_select,slicc_libc_gaps,slicc_jobs}.o`.
24
+ Opt out with **`SLICC_EMCC_PLAIN=1`** for plain web glue.
25
+ `lib/slicc/slicc_main_envp.o` (make: `-Dmain=slicc_tool_main`) and
26
+ `lib/slicc/slicc_fork.o` (needs ASYNCIFY) are shipped but not auto-linked.
27
+ Root `$PKG/emcc` (cmake toolchain) and `$PKG/bin/emcc` are the same self-sufficient launcher.
17
28
 
18
29
  ## CACHE model
19
30
 
@@ -26,18 +37,19 @@ pointing at this package's config.
26
37
 
27
38
  ## SLICC patches (September + homescoop)
28
39
 
29
- 1. **`SLICC_VFS_PRE_JS`** — every link gets `lib/slicc-vfs-pre.js` (live VFS mount; no NODERAWFS under slicc)
30
- 2. **Configure patch** — autoconf/conftest skips `NODERAWFS` when the pre-js is set (`patches/emscripten-slicc-configure.patch` in slicc-emscripten)
40
+ 1. **Wasm-realm CLI link defaults** — see above; optional `SLICC_VFS_PRE_JS` only when set (node-realm)
41
+ 2. **Configure patch** — autoconf/conftest skips `NODERAWFS` under CLI defaults
31
42
  3. **`ac_cv_build` seeding** — `emconfigure` sets `ac_cv_build=x86_64-pc-linux-gnu` (and host/target) so `config.guess` is not required in-realm
32
43
  4. **Closure unsupported** — `-sCLOSURE=1` / `--closure` fail with: *Closure Compiler is not available in SLICC's Emscripten package*
33
44
  5. **Cache erase** — will not delete a symlinked `sysroot`
45
+ 6. **`execvpe`** — `tools/utils.py` passes `os.environ` so emconfigure/`emmake` keep `CC=emcc`
34
46
 
35
47
  ## Commands
36
48
 
37
49
  `emcc`, `em++`, `emar`, `emranlib`, `emcmake`, `emconfigure`, `emmake`, `embuilder`, `em-config`, `emscan-deps`
38
50
 
39
51
  ```bash
40
- emcc hello.c -o hello.js
52
+ emcc hello.c -o hello.js # runnable in the wasm realm
41
53
  emcmake cmake -S . -B build
42
54
  emconfigure ./configure --host=wasm32-unknown-emscripten
43
55
  ```
package/bin/em++ CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/em-config CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emar CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/embuilder CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emcc CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emcmake CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emconfigure CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emmake CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emranlib CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac
package/bin/emscan-deps CHANGED
@@ -1,11 +1,25 @@
1
1
  #!/bin/sh
2
2
  # Shared launcher for emcc/em++/emar/… — runs em*.py on wasix-python (-S).
3
+ # Self-sufficient when invoked by path (emcmake toolchain uses $PKG/emcc).
3
4
  set -eu
4
5
 
5
6
  TOOL=$(basename "$0")
6
7
  BINDIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
7
- PKG_ROOT=${EM_PACKAGE_ROOT:-$(CDPATH= cd -- "$BINDIR/.." && pwd)}
8
- export EM_PACKAGE_ROOT=$PKG_ROOT
8
+
9
+ # $PKG/emcc (cmake / path_from_root) → package root is BINDIR.
10
+ # $PKG/bin/emcc (slicc.commands) → package root is parent.
11
+ if [ -f "$BINDIR/emcc.py" ]; then
12
+ PKG_ROOT=$BINDIR
13
+ ENSURE_CACHE=$BINDIR/bin/em-ensure-cache
14
+ elif [ -f "$BINDIR/../emcc.py" ]; then
15
+ PKG_ROOT=$(CDPATH= cd -- "$BINDIR/.." && pwd)
16
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
17
+ else
18
+ PKG_ROOT=${EM_PACKAGE_ROOT:-$BINDIR}
19
+ ENSURE_CACHE=$BINDIR/em-ensure-cache
20
+ fi
21
+
22
+ export EM_PACKAGE_ROOT=${EM_PACKAGE_ROOT:-$PKG_ROOT}
9
23
  export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
10
24
 
11
25
  # Resolve companion packages when slicc.env did not set them.
@@ -15,12 +29,17 @@ export EM_CONFIG=${EM_CONFIG:-$PKG_ROOT/emscripten-config}
15
29
  export EM_CACHE_PACKAGE EM_LLVM_PACKAGE EM_BINARYEN_PACKAGE
16
30
 
17
31
  # Writable user CACHE + sysroot symlink into emscripten-cache.
18
- CACHE=$("$BINDIR/em-ensure-cache")
32
+ if [ ! -x "$ENSURE_CACHE" ]; then
33
+ echo "em-launcher: missing $ENSURE_CACHE" >&2
34
+ exit 1
35
+ fi
36
+ CACHE=$("$ENSURE_CACHE")
19
37
  export EM_CACHE=$CACHE
20
38
 
21
- # VFS pre-js for every link (September slicc patch).
22
- : "${SLICC_VFS_PRE_JS:=$PKG_ROOT/lib/slicc-vfs-pre.js}"
23
- export SLICC_VFS_PRE_JS
39
+ # libslicc objects for default executable links (link.py); not the node-realm VFS pre-js.
40
+ export SLICC_EM_LIBDIR=${SLICC_EM_LIBDIR:-$PKG_ROOT/lib/slicc}
41
+ # Do NOT default-export SLICC_VFS_PRE_JS — that pre-js reads process.env.SLICC_LIVE_FS
42
+ # (node-realm only) and breaks wasm-realm runnables. Opt in explicitly if needed.
24
43
 
25
44
  PY=${EMSDK_PYTHON:-}
26
45
  if [ -z "$PY" ]; then
@@ -36,7 +55,6 @@ fi
36
55
 
37
56
  SCRIPT=$PKG_ROOT/${TOOL}.py
38
57
  if [ ! -f "$SCRIPT" ]; then
39
- # emranlib → emranlib.py; emcmake → emcmake.py; etc.
40
58
  case $TOOL in
41
59
  em++) SCRIPT=$PKG_ROOT/em++.py ;;
42
60
  esac