• Stars
    star
    162
  • Rank 224,953 (Top 5 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The V8 JavaScript engine, but built with CMake instead of GN - WIP

A port of the V8 JavaScript engine to the CMake build system.

motivation

V8 natively uses GN to build itself, which is part of the Chromium ecosystem but pretty much not used outside of it.

CMake is a widely used build system for C and C++ projects. This port will hopefully make it easier to integrate V8 with third-party projects.

Caveat emptor: v8-cmake is very much a work in progress. Bug reports and pull requests welcome!

build

To build the library and the d8 shell:

$ mkdir build && cd build

$ cmake /path/to/v8-cmake

$ make -j8

If CMake complains about python being incompatible or too old:

$ cmake -DPYTHON_EXECUTABLE=/usr/bin/python3 /path/to/v8-cmake

maintainers

To update V8 to a new patch release:

$ python update_v8.py
# <snip>
4dc61d3cd0 (tag: 8.5.210.20, refs/branch-heads/8.5) Version 8.5.210.20

$ git add .

$ git commit -am 8.5.210.20

$ git tag 8.5.210.20

To update V8 to a new minor or major release, open update_v8.json in an editor and update the "branch" field, then run update_v8.py.

The diff for update_v8.json should look like this:

diff --git a/update_v8.json b/update_v8.json
index 9d4a79ba..eb1f89f0 100644
--- a/update_v8.json
+++ b/update_v8.json
@@ -3,7 +3,7 @@
     "url": "https://chromium.googlesource.com/v8/v8.git",
     "commit": "4dc61d3cd02f0a2462cc655095db1e99ad9047d2",
     "/* comment */": "Dependency v8 must be first.",
-    "branch": "branch-heads/8.5",
+    "branch": "branch-heads/8.6",
     "path": "v8"
   },
   {

More Repositories

1

node-heapdump

Make a dump of the V8 heap for later inspection.
JavaScript
2,473
star
2

node-iconv

node.js iconv bindings - text recoding for fun and profit!
JavaScript
793
star
3

node-profiler

Access the V8 profiler from node.js
JavaScript
282
star
4

node-buffertools

working with node.js buffers made easy
C++
203
star
5

ragel

Ragel State Machine Compiler - http://www.complang.org/ragel/
C++
154
star
6

node-event-emitter

shows how to emit events from C++ land
JavaScript
80
star
7

node-unix-dgram

unix datagram support for node.js
C++
75
star
8

gyp

GYP can Generate Your Projects.
Python
72
star
9

node-mmap

mmap(2) bindings for node.js
C++
54
star
10

quickjit

quickjs meets jit
C
43
star
11

node-idle-gc

Run the V8 GC when node.js is idle.
C++
42
star
12

v8.rs

V8 bindings for Rust
C++
39
star
13

punycode

Punycode encoder/decoder
C
36
star
14

libuv-chat

a chat app done the hard way
JavaScript
32
star
15

phode

we put the async in php
C
30
star
16

uriparser2

Your one-stop C and C++ library for URI parsing.
C
30
star
17

bspc

Quake 3 BSP-to-AAS compiler
C
27
star
18

strace

http://sourceforge.net/projects/strace/
C
24
star
19

ngx_http_auth_cas_module

CAS client for nginx
C
24
star
20

tkgate

A graphical editor and event-driven simulator for digital circuits
C
23
star
21

node-weakref

weak references in node.js
C++
17
star
22

netif

List available network interfaces
Rust
13
star
23

python-ntlm

Python library that provides NTLM support, including an authentication handler for urllib2
Python
13
star
24

rust-epoll

low-level epoll bindings for rust
Rust
13
star
25

epoll-bench

C
12
star
26

mongrel2

mongrel2 + dependencies = your one-stop mongrel2 build
C
12
star
27

node-wgpu

WebGPU for Node.js
Rust
10
star
28

lua-uv

lua + libuv = sweet async goodness
C
10
star
29

node-fastcgi

FastCGI support for node.js
C++
9
star
30

Infinite-Adaptive-Mario

Maven-ized version of Infinite Adaptive Mario.
Java
9
star
31

termios

Pretty-print the contents of `struct termios`
C
9
star
32

libiconv

C
9
star
33

node-backtrace

Prints a C++ and JS backtrace on SIGABRT.
C++
8
star
34

vime

vime, a faster vm module
JavaScript
8
star
35

cracknode

stop gacking, start cracking
C
8
star
36

node-native-certs

Load TLS root certificates from the system trust store
JavaScript
7
star
37

node-curl

cURL bindings for node.js
C++
6
star
38

rust-errno

access errno from your rust code
Rust
6
star
39

marnix

MARNIX, a UNIX clone
C
6
star
40

smjs

gyp-ified spidermonkey, WIP
JavaScript
6
star
41

chicken-core

http://call-cc.org/
Scheme
5
star
42

mod_git

serve content straight from your git repositories
C
4
star
43

httpd-accfilt

kernel-mode http accept filter benchmark
C
4
star
44

node-roughtime

Roughtime client for Node.js. Roughtime provides secure time synchronisation.
JavaScript
4
star
45

amazing-graceful-fs

Like graceful-fs, but without eval() hacks and polyfills.
JavaScript
4
star
46

suv

scheme + libuv - what's not to like?
Python
4
star
47

libsm

A fast string matcher library.
C
4
star
48

axis2-c

Apache Axis2/C is a Web services engine implemented in the C programming language.
C
4
star
49

node-http-parser

C++
3
star
50

entityplus

just another quake 3 mod
C
3
star
51

dyper

Rust
3
star
52

chamfilter

block China and other South Asian countries at the firewall level
Shell
3
star
53

bnoordhuis.github.com

GitHub Pages
3
star
54

fth

a not-quite-Forth-to-LLVM-bitcode compiler
Python
3
star
55

random-bigint

Generate cryptographically strong pseudo-random BigInts
JavaScript
3
star
56

faio

Fast asynchronous I/O
C
2
star
57

jove

JÖVE is a framework for making 2D games in JavaScript
Rust
2
star
58

gyp-bug

showcase gyp bug
C
2
star
59

mod_modlet

Hassle-free module authoring for Apache 2
C
2
star
60

node-rusage

getrusage(2) bindings
C++
2
star
61

node-bursar

Generate RSA keys as PKCS#1, PKCS#8 or BER
JavaScript
2
star
62

brr

Nothing special, just going fast
C
2
star
63

hpv

hyper + polloi + v8
Rust
2
star
64

qo

quickjs + golang
C
2
star
65

node-permute

A tiny library to permutate a sequence.
JavaScript
2
star
66

json-schema-validator

Java
1
star