[package]
name = "rustpython"
version = "0.1.2"
authors = ["RustPython Team"]
edition = "2018"
description = "A python interpreter written in rust."
repository = "https://github.com/RustPython/RustPython"
license = "MIT"
include = ["LICENSE", "Cargo.toml", "src/**/*.rs"]

[workspace]
members = [
    ".", "ast", "bytecode", "common", "compiler", "compiler/porcelain",
    "derive", "jit", "parser", "vm", "vm/pylib-crate", "wasm/lib",
]

[features]
default = ["threading", "pylib"]
flame-it = ["rustpython-vm/flame-it", "flame", "flamescope"]
freeze-stdlib = ["rustpython-vm/freeze-stdlib"]
jit = ["rustpython-vm/jit"]
threading = ["rustpython-vm/threading"]

ssl = ["rustpython-vm/ssl"]

[dependencies]
log = "0.4"
env_logger = "0.7"
clap = "2.33"
rustpython-compiler = { path = "compiler/porcelain", version = "0.1.1" }
rustpython-parser = { path = "parser", version = "0.1.1" }
rustpython-vm = { path = "vm", version = "0.1.1", default-features = false, features = ["compile-parse"] }
pylib = { package = "rustpython-pylib", path = "vm/pylib-crate", version = "0.1.0", default-features = false, optional = true }
dirs = { package = "dirs-next", version = "1.0" }
num-traits = "0.2.8"
cfg-if = "0.1"
libc = "0.2"

flame = { version = "0.2", optional = true }
flamescope = { version = "0.1", optional = true }

[target.'cfg(not(target_os = "wasi"))'.dependencies]
rustyline = "6.0"

[dev-dependencies]
cpython = "0.5.0"
criterion = "0.3"

[[bench]]
name = "execution"
harness = false

[[bench]]
name = "microbenchmarks"
harness = false

[[bin]]
name = "rustpython"
path = "src/main.rs"

[profile.dev.package."*"]
opt-level = 3

[profile.bench]
lto = true
codegen-units = 1
opt-level = 3

[patch.crates-io]
# REDOX START, Uncommment when you want to compile/check with redoxer
# REDOX END

