Commit Graph

20 Commits

Author SHA1 Message Date
Pekka Enberg
b9e1607043 Add a Docker sandbox for building Wasmer
Building Wasmer is bit of a pain, because it requires Rust nightly, and
bunch of OS specific packages.

To make building easier, this adds a "build" script at the top-level
directory, which can be used to build Wasmer within a Docker sandbox
that has all the necessary dependencies installed. The build environment
is based on latest Ubuntu 19.04.

You first need to build a Docker image of the sandbox:

    docker build --file Dockerfile.build --tag wasmer-build .

Then, to build Wasmer, run:

    ./build make

To test Wasmer, run:

    ./build make test

and so on.

You can also drop into a shell within the Docker with:

    ./build

The "build" script bind mounts current directory as "/wasmer" in the
Docker container, which allows inspecting the build contents like you
had built them on your local machine.

For future improvements, we should consider:

  - Consolidation with existing Dockerfile (that is used for Circle CI)

  - Publishing the build sandbox image on Docker Hub so that people
    don't have to build it themselves

  - Moving dependency installation to separate script, which can be
    reused outside of the Docker sandbox.

The work has been inspired by "devtool" in the Firecracker project:

  https://github.com/firecracker-microvm/firecracker/blob/master/tools/devtool

and "dbuild" in the Scylla project:

  https://github.com/scylladb/scylla/blob/master/tools/toolchain/dbuild
2019-07-29 21:18:04 +03:00
Syrus
de459fa5bd Isolated emscripten in new lib 2019-01-10 21:38:10 -08:00
Brandon Fish
14c9512cf4 Remove old src/runtime and src/compilers directories 2019-01-09 00:49:11 -06:00
Brandon Fish
2f9119a7f0 Update tests for old runtime removal 2019-01-06 15:45:41 -06:00
Brandon Fish
3c21823cc0 Fix spectest generation 2019-01-06 02:18:49 -06:00
Steve Akinyemi
f802dd4f12 Add global conversion 2018-12-30 12:10:53 +01:00
Syrus Akbary
76d2d80169
Merge branch 'master' into feature/add-emscripten-core-tests 2018-12-28 12:42:41 +01:00
Brandon Fish
5f9247cb8e Make emtest generation cargo fmt friendly 2018-12-27 14:25:47 -06:00
Mackenzie Clark
cb65c9dad6 refactor localtime functions to use time crate
lint fixes
2018-12-27 09:41:29 -08:00
Brandon Fish
8921385fbb Update emtests to glob for c/cpp files, use ignores.txt to exclude tests, disable cc out by default 2018-12-27 01:43:38 -06:00
Mackenzie Clark
4813047d37 clock_gettime with time crate and test
more lint
2018-12-26 16:58:23 -08:00
Syrus
1ad580a618 Improved emscripten env(get,set,unset,put) integration 2018-12-21 17:16:40 -08:00
Syrus
ae77811c4d Merge branch 'master' into fix/emscripten-env
# Conflicts:
#	build/emtests.rs
#	src/emtests/mod.rs
2018-12-21 16:58:41 -08:00
Brandon Fish
572115f140 Initial format using rustfmt 2018-12-15 00:46:11 -06:00
Syrus
332840afe3 Added emscripten env test 2018-12-11 21:32:53 -08:00
Syrus
028d86a300 Provide instance options when instantiating. Make tests monothreaded 2018-12-10 19:19:46 -08:00
Syrus
43128070b7 Added emtests autogenerated tests 2018-12-10 18:42:23 -08:00
Syrus
5796b172d1 Added emtests 2018-12-10 17:07:13 -08:00
Syrus
5dac9b489a Added emtests build 2018-12-09 19:21:28 -08:00
Syrus
e58963dd35 Refactored build outside src 2018-12-09 18:47:34 -08:00