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
Yaron Wittenstein
784e65d587
making wasmer_byte_array
fields public
2019-07-29 17:24:43 +03:00
Yaron Wittenstein
8408260edd
wasmer-c-api: adding #[derive(Debug)]
for wasmer_result_t
(so that we can do assert_eq!
)
2019-07-29 17:10:17 +03:00
Yaron Wittenstein
a8d2469689
wasmer-c-api: returning back pub(crate) fn inner
for export.rs
2019-07-29 13:44:56 +03:00
Yaron Wittenstein
10fc660aad
wasmer_byte_array
visibility revert (see PR: "wasmer-c-api-changes: making wasmer_byte_array
fields public
#589 ")
2019-07-29 13:41:28 +03:00
Nick Lewycky
11f66d287b
Improve NaN handling by canonicalizing NaNs before most operations.
...
Not handled here is @llvm.minnum and @llvm.maxnum which should be replaced with
@llvm.minimum and @llvm.maximum, but using those currently leads to LLVM backend
fatal errors.
2019-07-28 22:53:48 -07:00
Nick Lewycky
2f021f0e2a
LLVM srem is undefined in cases where i32.rem_s and i64.rem_s are defined.
2019-07-28 22:53:48 -07:00
Brandon Fish
8098b7e44d
Merge branch 'master' into feature/spectests-runner
2019-07-26 22:15:42 -05:00
bors[bot]
f483c89da7
Merge #586
...
586: Fixes case with empty module, handle case with no signatures r=bjfish a=bjfish
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:373:21
Co-authored-by: Brandon Fish <brandon.j.fish@gmail.com>
2019-07-26 23:20:42 +00:00
Brandon Fish
d7c11bcf5f
Fixes case with empty module, handle case with no signatures
2019-07-26 17:58:57 -05:00
bors[bot]
53c343bc6f
Merge #579
...
579: fix caching for other backends, improve default compiler code r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
2019-07-26 22:21:00 +00:00
bors[bot]
e89af86cb7
Merge #585
...
585: add rust example to CI r=MarkMcCaskey a=MarkMcCaskey
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2019-07-26 22:01:59 +00:00
Mark McCaskey
ce64f7ad0f
Add wasm plugin rust example test to bors.toml
2019-07-26 15:00:52 -07:00
bors[bot]
cf0a10124d
Merge #584
...
584: Add --enable-simd flag to wasmer run and wasmer validate. r=nlewycky a=nlewycky
Co-authored-by: Nick Lewycky <nicholas@mxc.ca>
2019-07-26 19:49:22 +00:00
Mark McCaskey
a666fb3e4a
Add Rust plugin example example to CI
2019-07-26 11:56:18 -07:00
Nick Lewycky
6cddc25ddd
Derive Debug on these small structs.
2019-07-26 11:12:13 -07:00
Nick Lewycky
8f417f3d59
Add --enable-simd flag to wasmer run and wasmer validate.
2019-07-26 00:34:02 -07:00
Brandon Fish
459837f412
Initial commit of wast spectest runner
2019-07-25 22:31:19 -05:00
Syrus Akbary
ab5f28851a
Merge pull request #578 from vavrusa/master
...
llvm-backend: export FunctionCodeGenerator and ModuleCodeGenerator
2019-07-25 17:08:50 -07:00
Mark McCaskey
2cfa97357f
Merge pull request #582 from wasmerio/fix/clif-semver-nightmare
...
fix semver issue with clif 0.31 + new version of wasmparser
2019-07-25 11:11:10 -07:00
Mark McCaskey
d1a5cc9139
fix semver issue with clif 0.31 + new version of wasmparser
2019-07-25 10:38:20 -07:00
Yaron Wittenstein
f04d552361
wasmer-c-api:
...
* error.rs - changing `update_last_error` visibility to `pub`.
* error.rs - changing `CApiError` `msg` field visibility to `pub`.
2019-07-25 15:46:57 +03:00
Yaron Wittenstein
015616b541
export.rs - changing FuncPointer
inner
visibility to pub
2019-07-25 14:59:59 +03:00
Yaron Wittenstein
6cc31d3b49
lib.rs - making wasmer_byte_array
fields public
2019-07-25 11:42:47 +03:00
Syrus Akbary
4ada51957d
Merge branch 'master' into feature/caching-fix-and-better-default-compiler
2019-07-24 18:58:45 -07:00
Syrus Akbary
c767b265d7
Improved CHANGELOG
...
Added dates to different versions and updated missing PRs
2019-07-24 18:50:26 -07:00
Marek Vavruša
659f088c4f
llvm-backend: export FunctionCodeGenerator and ModuleCodeGenerator
...
This is in line with the singlepass-backend to be able to use LLVM MCG with
a StreamingCompiler.
2019-07-24 18:46:35 -07:00
Syrus Akbary
947de78c3e
Added Twitter badge
2019-07-24 18:35:57 -07:00
Syrus Akbary
ec65abb289
Merge pull request #580 from wasmerio/feature/various-improvements
...
Various improvements
2019-07-24 18:18:26 -07:00
Syrus
680e4b8577
Improved README installation instructions
2019-07-24 18:15:18 -07:00
Syrus
76daa7b3fd
Improved Wasmer Backends documentation
2019-07-24 18:06:59 -07:00
Mark McCaskey
99b75c4dea
update changelog
2019-07-24 17:46:32 -07:00
Syrus
0191de4e50
Improved WAPM mentions
2019-07-24 17:44:06 -07:00
Syrus
0f5131303d
Simplified examples
2019-07-24 17:43:17 -07:00
Syrus
3bca3ee983
Make dependency installation easier to read
2019-07-24 17:42:03 -07:00
Syrus
c89848f984
Moved scripts to scripts folder
2019-07-24 17:36:08 -07:00
Syrus
ac859ac531
Added CODEOWNERS file
2019-07-24 17:32:04 -07:00
Mark McCaskey
a3089a4501
fix caching for other backends, improve default compiler code
2019-07-24 17:31:59 -07:00
Syrus Akbary
e877e6d6df
Merge pull request #542 from wasmerio/simd
...
Initial commit of SIMD support in wasmer.
2019-07-24 15:35:38 -07:00
nlewycky
624f3459ab
Merge branch 'master' into simd
2019-07-24 14:44:52 -07:00
Syrus Akbary
6a810bc220
Merge pull request #561 from YaronWittenstein/ctx-drop-finalizer
...
* vm.rs - calling `Ctx` `data_finalizer` upon destruction
2019-07-24 14:36:41 -07:00
nlewycky
361a027ec9
Only enable SIMD when using the LLVM backend.
...
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2019-07-24 14:10:09 -07:00
nlewycky
f6240721ea
Merge branch 'master' into simd
2019-07-24 14:08:24 -07:00
Nick Lewycky
4b1bc24a2b
Update cranelift to the version crates.io.
...
This is needed in order for the resulting wasmer to be releasable.
2019-07-24 14:06:19 -07:00
Mark McCaskey
610c5bfe1f
Merge branch 'master' into ctx-drop-finalizer
2019-07-24 13:52:57 -07:00
Mark McCaskey
05be42300e
Merge pull request #576 from wasmerio/fix/dropping-bad-data
...
fix Drop of uninit Ctx; use MaybeUninit
2019-07-24 13:51:30 -07:00
Mark McCaskey
1574a33ee8
Merge branch 'fix/dropping-bad-data' of github.com:wasmerio/wasmer into fix/dropping-bad-data
2019-07-24 13:50:24 -07:00
Mark McCaskey
a534ecb0bb
increase bors timeout threshold
2019-07-24 13:49:21 -07:00
Nick Lewycky
5c1b7d2e5b
Adds the SIMD tests from binaryren, updated to work with wasmer.
...
This test is too large and therefore does not run by default, see
`fn is_fat_test` in spectests.rs.
2019-07-24 13:48:38 -07:00
Mark McCaskey
ce9bea402c
Merge branch 'master' into fix/dropping-bad-data
2019-07-24 13:32:42 -07:00