Supports prebuild-v8 shared library and adds a `download-v8-shared` make target. Depends on: https://github.com/lightpanda-io/zig-v8-fork/pull/198 The auto-discovery of the .so is done in the build.zig, which is different than the auto-discovery of the .a which is done in the Makefile. This is intentional and if we inverse -Ddev_fast so that it's on by default, the .a's auto discovery will be moved to build.zig for consistency and explicitness. As-is, we have no way to tell whether -Dprebuilt_v8_path=v8.a is being injected by Makefile or is explicit (which isn't a problem so long as we're not doing dev_fast by default).
1.3 KiB
Contributing
Lightpanda accepts pull requests through GitHub.
Development
- Run the tests:
make test - Check formatting:
zig fmt --check ./*.zig ./**/*.zig
See AGENTS.md for the full set of test, formatting, and code conventions (test filters, the leak-detection invariant, @import alias case, struct-init inference).
Skip the V8 source build
By default the build compiles V8 from source, which takes several minutes. Run
make download-v8 once to fetch the matching prebuilt archive from the
zig-v8-fork releases
instead; later make build / make test pick it up automatically.
On Linux x86_64, make download-v8-shared additionally fetches the shared
flavor (libc_v8.so) that zig build -Ddev_fast=true picks up automatically
for much faster debug rebuilds.
Before opening a PR
- Tests pass (
make test). - Formatting is clean (
zig fmt --check ./*.zig ./**/*.zig). - CLA signed (see below).
CLA
You have to sign our CLA during your first pull request process otherwise we're not able to accept your contributions.
The process signature uses the CLA assistant lite. You can see an example of the process in #303.