Move the C API to a separate crate (#818)

* Move the C API to a separate crate

This commit moves the C API from `crates/api/src/wasm.rs` to
`crates/capi/src/lib.rs` to be located in a separate crate. There's a
number of reasons for this:

* When a Rust program depends on the `wasmtime` crate, there's no need
  to compile in the C API.
* This should improve compile times of the `wasmtime` crate since it's
  not producing artifacts which aren't always used.
* The development of the C API can be guaranteed to only use the public
  API of the `wasmtime` crate itself.

Some CI pieces are tweaked and this overall shouldn't have much impact
on users, it's intended that it's a cleanup/speedup for developers!

* Disable rustdoc/tests for capi

* Review feedback

* Add back in accidentally deleted comment

* More renamings

* Try to fix dotnet build
This commit is contained in:
Alex Crichton
2020-01-14 13:36:57 -06:00
committed by Dan Gohman
parent 7f997fe7a6
commit 364fa994ed
17 changed files with 289 additions and 29 deletions

20
crates/c-api/Cargo.toml Normal file
View File

@@ -0,0 +1,20 @@
[package]
name = "wasmtime-c-api"
version = "0.9.0"
authors = ["The Wasmtime Project Developers"]
description = "C API to expose the Wasmtime runtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2018"
publish = false
[lib]
name = "wasmtime"
crate-type = ["staticlib", "cdylib"]
doc = false
test = false
doctest = false
[dependencies]
wasmtime = { path = "../api" }