# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "mmtk"
version = "0.2.0"
authors = ["The MMTk Developers <>"]
description = "MMTk is a framework for the design and implementation of high-performance and portable memory managers."
homepage = "https://www.mmtk.io"
readme = "README.md"
keywords = ["gc", "garbage", "collection", "garbage-collection", "allocation"]
categories = ["memory-management"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/mmtk/mmtk-core"
[package.metadata.docs.rs]
features = ["semispace"]

[lib]
name = "mmtk"
crate-type = ["rlib"]
doctest = false
[dependencies.atomic]
version = "0.4.6"

[dependencies.atomic-traits]
version = "0.2.0"

[dependencies.crossbeam-deque]
version = "0.6"

[dependencies.custom_derive]
version = "0.1"

[dependencies.downcast-rs]
version = "1.1.1"

[dependencies.enum-map]
version = "0.6.2"

[dependencies.enum_derive]
version = "0.1"

[dependencies.env_logger]
version = "0.8.2"

[dependencies.lazy_static]
version = "1.1"

[dependencies.libc]
version = "0.2"

[dependencies.log]
version = "0.4"
features = ["max_level_trace", "release_max_level_off"]

[dependencies.num_cpus]
version = "1.8"

[dependencies.spin]
version = "0.5.2"
[dev-dependencies.crossbeam]
version = "0.7.3"

[dev-dependencies.rand]
version = "0.7.3"

[features]
base_spaces = []
code_space = ["base_spaces"]
copyspace = []
default = []
gencopy = ["immortalspace", "largeobjectspace", "copyspace"]
immortalspace = []
largeobjectspace = []
lockfreeimmortalspace = []
nogc = ["immortalspace", "largeobjectspace"]
nogc_lock_free = ["nogc", "lockfreeimmortalspace"]
nogc_no_zeroing = ["nogc_lock_free"]
ro_space = ["base_spaces"]
sanity = []
semispace = ["immortalspace", "largeobjectspace", "copyspace"]
single_worker = []
vm_space = ["base_spaces"]
