[package]
name = "wasmer-bin"
version = "0.16.2"
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]
atty = "0.2"
byteorder = "1.3"
errno = "0.2"
fern = { version = "0.5", features = ["colored"], optional = true }
log = "0.4"
structopt = "0.3"
wabt = { version = "0.9.1", optional = true }
wasmer = { path = "lib/api" }
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-experimental-io-devices = { path = "lib/wasi-experimental-io-devices", optional = true }

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

[build-dependencies]
wabt = "0.9.1"
generate-emscripten-tests = { path = "tests/generate-emscripten-tests" }
generate-wasi-tests = { path = "tests/generate-wasi-tests" }
glob = "0.3"
rustc_version = "0.2"

[dev-dependencies]
criterion = "0.3"
glob = "0.3"
serde = { version = "1", features = ["derive"] } # used by the plugin example
typetag = "0.1" # used by the plugin example
wabt = "0.9.1"
wasmer-dev-utils = { path = "lib/dev-utils" }

[features]
default = ["fast-tests", "wasi", "backend-cranelift", "wabt"]
"loader-kernel" = ["wasmer-kernel-loader"]
debug = ["fern", "log/max_level_debug", "log/release_max_level_debug"]
trace = ["fern", "log/max_level_trace", "log/release_max_level_trace"]
docs = ["wasmer-runtime/docs"]
# This feature will allow cargo test to run much faster
fast-tests = []
backend-cranelift = [
    "wasmer-clif-backend",
    "wasmer-clif-backend/generate-debug-information",
    "wasmer-runtime-core/generate-debug-information",
    "wasmer-runtime/cranelift",
]
backend-llvm = [
    "wasmer-llvm-backend",
    "wasmer-runtime/llvm",
    "wasmer-runtime-core/generate-debug-information-no-export-symbols"
]
backend-singlepass = [
    "wasmer-singlepass-backend",
    "wasmer-runtime/singlepass",
]
wasi = ["wasmer-wasi"]
experimental-io-devices = ["wasmer-wasi-experimental-io-devices"]
managed = ["backend-singlepass", "wasmer-runtime-core/managed"]

[[example]]
name = "plugin"
required-features = ["wasi"]
crate-type = ["bin"]

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