Commit Graph

1233 Commits

Author SHA1 Message Date
Syrus Akbary
6570bd433d
Fixed import func to be mutable 2019-03-07 10:19:03 -08:00
Ivan Enderlin
1dfae80c65 test(runtime-c-api) Fix compilation errors in test-exports.c. 2019-03-07 10:15:32 +01:00
Ivan Enderlin
725aff6fee test(runtime-c-api) Fix a compilation error in test-instantiate.c. 2019-03-07 10:15:32 +01:00
Ivan Enderlin
603f1fc57d test(runtime-c-api) Fix compilation errors in test-import-function.c. 2019-03-07 10:15:32 +01:00
Ivan Enderlin
2a0e42c1e5 test(runtime-c-api) Fix compilation errors in test-memory.c. 2019-03-07 10:15:32 +01:00
Ivan Enderlin
dcb4032e9d test(runtime-c-api) Fix compilation errors in test-imports.c. 2019-03-07 10:15:32 +01:00
Ivan Enderlin
c658224f0c test(runtime-c-api) Transforms all C/C++ warnings into errors.
This patch ensures that all our examples and tests do not generate
warnings. In C, it can be catastrophic sometimes…

Also, be sure that the `cmake` command doesn't emit any warnings too.
2019-03-07 10:15:32 +01:00
Syrus Akbary
af9c26f4f9
Fixed links of wasmer runtime C api in crates.io and docs.rs 2019-03-06 18:22:16 -08:00
Syrus Akbary
6fae46d0d3
Improved bug report to get more info about the environment
Based on this feedback: https://github.com/wasmerio/wasmer/pull/243#pullrequestreview-211289058
2019-03-06 18:18:58 -08:00
Syrus Akbary
d0b42dd458
Merge pull request #243 from wasmerio/Hywan-patch-1
chore(github) Update issue templates
2019-03-06 18:08:09 -08:00
Syrus Akbary
49dc21363b
Merge pull request #242 from Hywan/doc-runtime-c-api
doc(runtime-c-api) Improve the `README.md`.
2019-03-06 17:28:02 -08:00
Syrus Akbary
acf2bc2722
Merge pull request #233 from wasmerio/feature/emscripten-for-bundling
implement more emscripten functions
2019-03-06 17:26:58 -08:00
Mackenzie Clark
fd5916e493
Merge branch 'master' into feature/emscripten-for-bundling 2019-03-06 10:18:26 -08:00
Mackenzie Clark
b1739d93ec remove leading underscores from execvp and exit 2019-03-06 10:18:00 -08:00
Ivan Enderlin
bedb05738b
Merge branch 'master' into doc-runtime-c-api 2019-03-06 18:50:49 +01:00
Ivan Enderlin
ec1a16512c
Merge pull request #238 from Hywan/feat-runtime-c-api-headers-in-out-dir
feat(runtime-c-api) Generate the C/C++ header files in `OUT_DIR` (+ copy in `CARGO_MANIFEST_DIR`).
2019-03-06 18:50:29 +01:00
Ivan Enderlin
145c6e1f18
Update ---bug-report.md 2019-03-06 15:55:16 +01:00
Ivan Enderlin
86644ed89f
chore(github) Update issue templates
This patch provides issue templates. It's a mix between Github defaults, and https://github.com/rustwasm/wasm-bindgen templates.

Thoughts?
2019-03-06 14:53:10 +01:00
Ivan Enderlin
f5ce1e8b60 doc(runtime-c-api) Improve the README.md.
This patch updates the `README.md` by adding badges, a Usage Section,
and a License Section. The Testing Section is slightly revamped.
2019-03-06 14:11:12 +01:00
Ivan Enderlin
d709191be1 doc(runtime-c-api) Declare the example as C, so that they are not tested.
Those examples contain C code. They must not be run by `rustdoc` as
tests.
2019-03-06 12:08:02 +01:00
Ivan Enderlin
365d00979b chore(runtime-c-api) Update the Cargo.lock file. 2019-03-06 11:03:38 +01:00
Ivan Enderlin
76caebebb4 fix(runtime-c-api) Provide a link target.
When compiling `wasmer-runtime-c-api` as a dependency of another
crate, `rustc` emits this warning:

```
warning: The package `wasmer_runtime_c_api` provides no linkable
target. The compiler might raise an error while compiling
`foo`. Consider adding 'dylib' or 'rlib' to key `crate-type` in
`wasmer_runtime_c_api`'s Cargo.toml. This warning might turn into a
hard error in the future.
```

To solve this issue, the `rlib` type has been added to the
`crate-type` list.
2019-03-06 11:02:14 +01:00
Ivan Enderlin
0f74133be3 feat(runtime-c-api) Build: Copy the C header files from OUT_DIR to CARGO_MANIFEST_DIR.
This patch copies the generated C and C++ header files from the
`OUT_DIR` to the root of the crate.
2019-03-06 10:58:40 +01:00
Ivan Enderlin
f2997357fc feat(runtime-c-api) Remove the flag WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS.
This patch removes the `WASM_EMSCRIPTEN_GENERATE_C_API_HEADERS`
flag. Consequently, the C header files will be generated for each
build.

The `generate-c-api-headers` feature is also removed, since it becomes useless.
2019-03-06 10:42:32 +01:00
Ivan Enderlin
7c56d893c2 feat(runtime-c-api) Generate the C header file in OUT_DIR.
This patch changes the directory where the C header files are
generated, from `CARGO_MANIFEST_DIR` to `OUT_DIR`. The goal is: When
`wasm-runtime-c-api` is used as a dependency of another Rust project,
then the C header files are accessible in the `target/` directory
(i.e. the `OUT_DIR`).

Also, since `rustc` has a `--out-dir` directory, it increases the
flexibility of this approach: The user can generate the C header files
where she wants.
2019-03-06 10:42:06 +01:00
Syrus Akbary
28bb264266
Merge pull request #232 from Hywan/fix-runtime-c-api-remove-warnings
fix(runtime-c-api) Fix several warnings
2019-03-05 16:38:14 -08:00
Syrus Akbary
e7e0fa813a
Merge pull request #237 from Hywan/fix-runtime-c-api-cbindgen-version
fix(runtime-c-api) Update `cbindgen`
2019-03-05 16:37:45 -08:00
Ivan Enderlin
8ed340b6f1 fix(runtime-c-api) Update cbindgen.
When requiring `wasmer-runtime-c-api`, I get the following conflicts:

```
error: failed to select a version for `serde_derive`.
    ... required by package `cbindgen v0.7.1`
    ... which is depended on by `wasmer-runtime-c-api v0.2.1`
    ... which is depended on by `foo v0.1.0 (/private/tmp/foo)`
versions that meet the requirements `= 1.0.58` are: 1.0.58

all possible versions conflict with previously selected packages.

  previously selected package `serde_derive v1.0.89`
    ... which is depended on by `wasmer-runtime-core v0.2.1`
    ... which is depended on by `wasmer-runtime-c-api v0.2.1`
    ... which is depended on by `foo v0.1.0 (/private/tmp/foo)`

failed to select a version for `serde_derive` which could resolve this conflict
```

This issue resolves by updating `cbindgen` to 0.8.
2019-03-05 14:28:35 +01:00
Ivan Enderlin
25feef7384 chore(runtime-c-api) Regenerate the header files. 2019-03-05 10:07:08 +01:00
Ivan Enderlin
86c41264a3 chore(runtime-c-api) Fix CS. 2019-03-05 10:07:08 +01:00
Ivan Enderlin
59de57e075 fix(runtime-c-api) Fix Clippy notes.
This patch fixes warnings raised by Clippy.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
053e5c40f4 fix(runtime-c-api) Avoid mutable bindings as much as possible.
This patch cleans several warnings where mutable bindings are declared
but used only as immutable bindings.

It's a little bit opinionated patch. I think it's interesting to use
`const` pointers as much as possible.
2019-03-05 10:07:08 +01:00
Ivan Enderlin
5ace3cfa2b fix(runtime-c-api) Remove unsafe blocks inside unsafe function.
This patch removes `unsafe { … }` blocks inside `unsafe` functions.

This patch also removes some warnings about camel case. All structures
with a C representation are automatically not mangle, and allow non
camel case.
2019-03-05 10:07:08 +01:00
Mackenzie Clark
84c8be6b33
Merge branch 'master' into feature/emscripten-for-bundling 2019-03-04 13:16:01 -08:00
Lachlan Sneff
65ec10961b
Change RuntimeError type (#234)
* Change RuntimeError type and fix codebase to use it

* Fix spectests to work with new runtime error type

* Fix windows signal handler in the clif-backend

* Add missing conversion

* final windows fix
2019-03-04 12:57:26 -08:00
Mackenzie Clark
970758dd69
Merge branch 'master' into feature/emscripten-for-bundling 2019-03-04 12:51:12 -08:00
Syrus Akbary
2d987982d6
Merge pull request #231 from Hywan/fix-clif-backend-module-new
fix(clif-backend) `Module::new` does not use its argument
2019-03-04 11:42:36 -08:00
Syrus Akbary
c1400d8c85
Merge pull request #227 from wasmerio/fix/c-api-fix-imports
Fix C API table/global/memory imports
2019-03-04 11:41:37 -08:00
Mackenzie Clark
b3c60bce14
Merge branch 'master' into fix-clif-backend-module-new 2019-03-04 08:14:44 -08:00
Mackenzie Clark
71d7fe7d08
Merge branch 'master' into fix/c-api-fix-imports 2019-03-04 08:14:14 -08:00
Mackenzie Clark
4eb6ad238e lint 2019-03-04 08:11:36 -08:00
Mackenzie Clark
65100d19fc add __exit 2019-03-04 08:10:37 -08:00
Mackenzie Clark
00e3ec1446 add execvp 2019-03-04 08:10:37 -08:00
Mackenzie Clark
2ea9d0b09b add __syscall42 (pipe) 2019-03-04 08:10:37 -08:00
Mackenzie Clark
cf2909f5f3 add alternative assert function for emscripten 2019-03-04 08:10:37 -08:00
Mackenzie Clark
ddc385a4ac git ignore vscode directory 2019-03-04 08:10:37 -08:00
Syrus Akbary
ba8b7580ba
Merge pull request #230 from Hywan/fix-clif-backend-resolver-compiled-functions
fix(clif-backend) Remove an unused variable declaration
2019-03-04 08:10:11 -08:00
Syrus Akbary
436c4bffcb
Merge pull request #228 from Hywan/fix-runtime-core-unused-import
fix(runtime-core) Remove an unused import
2019-03-04 07:13:21 -08:00
Syrus Akbary
133203897b
Merge pull request #229 from Hywan/fix-runtime-core-mut-variable
fix(runtime-core) `hasher` does not need to be mutable
2019-03-04 06:50:45 -08:00
Ivan Enderlin
5744f6896f fix(clif-backend) Module::new does not use its argument.
The `Module::new` method requires an argument (`wasm: &[u8]`) that is
never used.

This patch removes the argument, and updates the code accordingly.
2019-03-04 14:03:07 +01:00