Skip to content

Build against an installed QuickJS instead of carrying its source - #6

Merged
noha merged 1 commit into
mainfrom
link-quickjs-statically
Oct 15, 2026
Merged

noha merged 1 commit into
mainfrom
link-quickjs-statically

Conversation

@noha

@noha noha commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

The repository no longer holds QuickJS as submodules. QuickJS is built with its own build, as it comes from its repository: quickjs-ng with cmake, Bellard's with make, both static and position independent. The shim's Makefile takes QUICKJS_PREFIX and links the static library into libqjsshim, so the one library carries the QuickJS its header describes; without a static one it links the shared library (Homebrew's quickjs-ng).

The interrupt handler takes a plain pointer as its first argument, so the shim fits QuickJS versions passing the runtime and those passing the context. The CI builds QuickJS first (quickjs-ng v0.17.0, Bellard 84e723f) and then the shim against it.

The repository no longer holds QuickJS as submodules. QuickJS is built
with its own build, as it comes from its repository: quickjs-ng with
cmake, Bellard's with make, both static and position independent. The
shim's Makefile takes QUICKJS_PREFIX and links the static library into
libqjsshim, so the one library carries the QuickJS its header describes;
without a static one it links the shared library (Homebrew's quickjs-ng).

The interrupt handler takes a plain pointer as its first argument, so
the shim fits QuickJS versions passing the runtime and those passing the
context. The CI builds QuickJS first (quickjs-ng v0.17.0, Bellard
84e723f) and then the shim against it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noha
noha merged commit 8b1d114 into main Oct 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant