Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/actions/install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ runs:
- name: install v8
shell: bash
run: |
mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/debug/libc_v8.a
mkdir -p vendor/zig-js-runtime/vendor/v8/${{env.ARCH}}/debug
ln -s /usr/local/lib/libc_v8.a vendor/zig-js-runtime/vendor/v8/${{env.ARCH}}/debug/libc_v8.a

mkdir -p vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release
ln -s /usr/local/lib/libc_v8.a vendor/jsruntime-lib/vendor/v8/${{env.ARCH}}/release/libc_v8.a
mkdir -p vendor/zig-js-runtime/vendor/v8/${{env.ARCH}}/release
ln -s /usr/local/lib/libc_v8.a vendor/zig-js-runtime/vendor/v8/${{env.ARCH}}/release/libc_v8.a

- name: libiconv
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wpt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.GH_CI_PAT }}
# fetch submodules recusively, to get jsruntime-lib submodules also.
# fetch submodules recusively, to get zig-js-runtime submodules also.
submodules: recursive

- uses: ./.github/actions/install
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/zig-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
- "build.zig"
- "src/**/*.zig"
- "src/*.zig"
- "vendor/jsruntime-lib"
- "vendor/zig-js-runtime"
pull_request:

# By default GH trigger on types opened, synchronize and reopened.
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.GH_CI_PAT }}
# fetch submodules recusively, to get jsruntime-lib submodules also.
# fetch submodules recusively, to get zig-js-runtime submodules also.
submodules: recursive

- uses: ./.github/actions/install
Expand All @@ -79,7 +79,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.GH_CI_PAT }}
# fetch submodules recusively, to get jsruntime-lib submodules also.
# fetch submodules recusively, to get zig-js-runtime submodules also.
submodules: recursive

- uses: ./.github/actions/install
Expand All @@ -105,7 +105,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.GH_CI_PAT }}
# fetch submodules recusively, to get jsruntime-lib submodules also.
# fetch submodules recusively, to get zig-js-runtime submodules also.
submodules: recursive

- uses: ./.github/actions/install
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "vendor/jsruntime-lib"]
path = vendor/jsruntime-lib
url = git@github.com:lightpanda-io/jsruntime-lib.git
[submodule "vendor/zig-js-runtime"]
path = vendor/zig-js-runtime
url = git@github.com:lightpanda-io/zig-js-runtime.git
[submodule "vendor/netsurf/libwapcaplet"]
path = vendor/netsurf/libwapcaplet
url = git@github.com:lightpanda-io/libwapcaplet.git
Expand Down
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ help:
# ------------
.PHONY: build build-release run run-release shell test bench download-zig wpt

zig_version = $(shell grep 'recommended_zig_version = "' "vendor/jsruntime-lib/build.zig" | cut -d'"' -f2)
zig_version = $(shell grep 'recommended_zig_version = "' "vendor/zig-js-runtime/build.zig" | cut -d'"' -f2)
kernel = $(shell uname -ms)

## Download the zig recommended version
Expand Down Expand Up @@ -93,16 +93,16 @@ test:
# Install and build required dependencies commands
# ------------
.PHONY: install-submodule
.PHONY: install-jsruntime install-jsruntime-dev install-libiconv
.PHONY: install-zig-js-runtime install-zig-js-runtime-dev install-libiconv
.PHONY: _install-netsurf install-netsurf clean-netsurf test-netsurf install-netsurf-dev
.PHONY: install-mimalloc install-mimalloc-dev clean-mimalloc
.PHONY: install-dev install

## Install and build dependencies for release
install: install-submodule install-jsruntime install-netsurf install-mimalloc
install: install-submodule install-zig-js-runtime install-netsurf install-mimalloc

## Install and build dependencies for dev
install-dev: install-submodule install-jsruntime-dev install-netsurf-dev install-mimalloc-dev
install-dev: install-submodule install-zig-js-runtime-dev install-netsurf-dev install-mimalloc-dev

install-netsurf-dev: _install-netsurf
install-netsurf-dev: OPTCFLAGS := -O0 -g -DNDEBUG
Expand Down Expand Up @@ -178,12 +178,12 @@ ifeq ("$(wildcard vendor/libiconv/lib/libiconv.a)","")
make && make install
endif

install-jsruntime-dev:
@cd vendor/jsruntime-lib && \
install-zig-js-runtime-dev:
@cd vendor/zig-js-runtime && \
make install-dev

install-jsruntime:
@cd vendor/jsruntime-lib && \
install-zig-js-runtime:
@cd vendor/zig-js-runtime && \
make install

.PHONY: _build_mimalloc
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Browsercore is written with [Zig](https://ziglang.org/) `0.12`. You have to
install it with the right version in order to build the project.

Browsercore also depends on
[js-runtimelib](https://github.com/francisbouvier/jsruntime-lib/),
[js-runtimelib](https://github.com/francisbouvier/zig-js-runtime/),
[Netsurf libs](https://www.netsurf-browser.org/) and
[Mimalloc](https://microsoft.github.io/mimalloc) libs.

Expand Down Expand Up @@ -57,22 +57,22 @@ Note, when Mimalloc is built in dev mode, you can dump memory stats with the
env var `MIMALLOC_SHOW_STATS=1`. See
https://microsoft.github.io/mimalloc/environment.html

### Build jsruntime-lib
### Build zig-js-runtime

The command `make install-jsruntime-dev` uses jsruntime-lib's `zig-v8` dependency to build v8 engine lib.
The command `make install-zig-js-runtime-dev` uses zig-js-runtime's `zig-v8` dependency to build v8 engine lib.
Be aware the build task is very long and cpu consuming.

Build v8 engine for debug/dev version, it creates
`vendor/jsruntime-lib/vendor/v8/$ARCH/debug/libc_v8.a` file.
`vendor/zig-js-runtime/vendor/v8/$ARCH/debug/libc_v8.a` file.

```
make install-jsruntime-dev
make install-zig-js-runtime-dev
```

You should also build a release vesion of v8 with:

```
make install-jsruntime
make install-zig-js-runtime
```

### All in one build
Expand Down
6 changes: 3 additions & 3 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ const std = @import("std");

const builtin = @import("builtin");

const jsruntime_path = "vendor/jsruntime-lib/";
const jsruntime = @import("vendor/jsruntime-lib/build.zig");
const jsruntime_path = "vendor/zig-js-runtime/";
const jsruntime = @import("vendor/zig-js-runtime/build.zig");
const jsruntime_pkgs = jsruntime.packages(jsruntime_path);

/// Do not rename this constant. It is scanned by some scripts to determine
Expand Down Expand Up @@ -106,7 +106,7 @@ pub fn build(b: *std.build.Builder) !void {

// add jsruntime pretty deps
const pretty = tests.step.owner.createModule(.{
.source_file = .{ .path = "vendor/jsruntime-lib/src/pretty.zig" },
.source_file = .{ .path = "vendor/zig-js-runtime/src/pretty.zig" },
});
tests.addModule("pretty", pretty);

Expand Down