commit | ba224d0316c00d54c01cef4cb6b80cd9f9e79871 | [log] [tgz] |
---|---|---|
author | Nick Bray <ncbray@chromium.org> | Mon Dec 14 22:06:03 2015 |
committer | Nick Bray <ncbray@chromium.org> | Tue Dec 15 00:13:50 2015 |
tree | 8f96d6b703f9269e74a55b133207730223b900e2 | |
parent | d3b73309ca59b464358729aafe005ac14fec54df [diff] |
Raytracer: shadows and multi-sample anti-aliasing.
This repository contains tools and scripts to compile C/C++ to a WebAssembly binary format, and run it.
Currently this includes:
At this time, the contents of this repository are under development and known to be incomplet and inkorrect.
Participation is welcome, though many of the changes will need to be landed in other repositories.
Clone the repo, update the submodules, and update LLVM:
$ git clone https://github.com/WebAssembly/wasm-e2e $ cd wasm-e2e $ git submodule update --init $ ./scripts/update-llvm.sh
LLVM is not included as a submodule because it is quite large and requires a repo to be installed inside another repo. The update-llvm.sh
script clones with --depth 5000
to reduce the download size.
Updating the repo is almost the same:
$ git pull origin master $ git submodule update $ ./scripts/update-llvm.sh
To build all the tools:
$ ./scripts/build-all.sh
You can also build each component separately:
./scripts/build-llvm.sh
./scripts/build-d8.sh
./scripts/build-sexpr-wasm.sh
Use the ./script/run.py
Python script to compile and run a C source file:
$ ./scripts/run.py test/hello.c test/wasm.js Hello, world! $ scripts/run.py test/fizzbuzz.c test/wasm.js 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19
The script compiles the C source to v8-native binary format. The wasm.js
file is used as a wrapper for loading WebAssembly binary modules in d8.