[package]
name = "wasmer"
version = "0.11.0"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
edition = "2018"
repository = "https://github.com/wasmerio/wasmer"
publish = true
description = "High-Performance WebAssembly JIT interpreter"
license = "MIT"
default-run = "wasmer"
include = [
    "examples/**/*",
    "src/**/*",
    "Cargo.lock",
    "Cargo.toml",
    "LICENSE",
    "Makefile",
    "/README.md",
    "rustfmt.toml"
]

[dependencies]
byteorder = "1.3"
errno = "0.2"
structopt = "0.3"
wabt = "0.9.1"
wasmer-clif-backend = { path = "lib/clif-backend", optional = true }
wasmer-singlepass-backend = { path = "lib/singlepass-backend", optional = true }
wasmer-middleware-common = { path = "lib/middleware-common" }
wasmer-runtime = { path = "lib/runtime" }
wasmer-runtime-core = { path = "lib/runtime-core" }
wasmer-emscripten = { path = "lib/emscripten" }
wasmer-llvm-backend = { path = "lib/llvm-backend", optional = true }
wasmer-wasi = { path = "lib/wasi", optional = true }
wasmer-kernel-loader = { path = "lib/kernel-loader", optional = true }
wasmer-dev-utils = { path = "lib/dev-utils", optional = true }
wasmer-wasi-tests = { path = "lib/wasi-tests", optional = true }
wasmer-middleware-common-tests = { path = "lib/middleware-common-tests", optional = true }
wasmer-emscripten-tests = { path = "lib/emscripten-tests", optional = true }

[workspace]
members = [
    "lib/clif-backend",
    "lib/singlepass-backend",
    "lib/runtime",
    "lib/runtime-core",
    "lib/runtime-core-tests",
    "lib/emscripten",
    "lib/spectests",
    "lib/win-exception-handler",
    "lib/runtime-c-api",
    "lib/llvm-backend",
    "lib/llvm-backend-tests",
    "lib/wasi",
    "lib/middleware-common",
    "lib/kernel-loader",
    "lib/kernel-net",
    "lib/dev-utils",
    "lib/wasi-tests",
    "lib/emscripten-tests",
    "lib/middleware-common-tests",
    "examples/parallel",
    "examples/plugin-for-example",
    "examples/parallel-guest",
]

[build-dependencies]
wabt = "0.9.1"
glob = "0.3"
rustc_version = "0.2"

[dev-dependencies]
serde = { version = "1", features = ["derive"] } # used by the plugin example
typetag = "0.1" # used by the plugin example

[features]
default = ["fast-tests", "wasi"]
"loader-kernel" = ["wasmer-kernel-loader"]
debug = ["wasmer-runtime-core/debug"]
trace = ["wasmer-runtime-core/trace"]
docs = ["wasmer-runtime/docs"]
extra-debug = ["wasmer-clif-backend/debug", "wasmer-runtime-core/debug"]
# This feature will allow cargo test to run much faster
fast-tests = []
backend-cranelift = [
    "wasmer-clif-backend",
    "wasmer-runtime-core/backend-cranelift",
    "wasmer-runtime/cranelift",
    "wasmer-middleware-common-tests/clif",
]
backend-llvm = [
    "wasmer-llvm-backend",
    "wasmer-runtime-core/backend-llvm",
    "wasmer-runtime/llvm",
    "wasmer-middleware-common-tests/llvm",
]
backend-singlepass = [
    "wasmer-singlepass-backend",
    "wasmer-runtime-core/backend-singlepass",
    "wasmer-runtime/singlepass",
    "wasmer-middleware-common-tests/singlepass",
]
wasi = ["wasmer-wasi"]
managed = ["backend-singlepass", "wasmer-runtime-core/managed"]

[[example]]
name = "plugin"
crate-type = ["bin"]

[[example]]
name = "callback"
crate-type = ["bin"]