[package]
name = "memflow"
version = "0.1.5"
authors = ["ko1N <ko1N1337@gmail.com>", "Aurimas Blažulionis <0x60@pm.me>"]
edition = "2018"
description = "core components of the memflow physical memory introspection framework"
documentation = "https://docs.rs/memflow"
readme = "../README.md"
homepage = "https://memflow.github.io"
repository = "https://github.com/memflow/memflow"
license-file = "../LICENSE"
keywords = [ "memflow", "introspection", "memory", "dma" ]
categories = [ "memory-management", "os" ]

[badges]
maintenance = { status = "actively-developed" }
codecov = { repository = "github", branch = "master", service = "github" }

[dependencies]
memflow-derive = { version = "0.1", path = "../memflow-derive" }
dataview = { version = "0.1", features = ["derive_pod"] }
log = "0.4"
bitflags = "1.2"
coarsetime = { version = "0.1", optional = true }
smallvec = { version = "1.4", default-features = false }
x86_64 = { version = "0.12", default-features = false }
rand = { version = "0.7", optional = true }
rand_xorshift = { version = "0.2", optional = true }
bumpalo = { version = "3.4", features = ["collections"] }
no-std-compat = { version = "0.4", features = ["alloc"] }
itertools = { version = "0.9", default-features = false }
vector-trees = { version = "0.1", git = "https://github.com/h33p/vector-trees", features = ["bumpalo"] }
hashbrown = "0.8"
libloading = { version = "0.6", optional = true }
memmap = { version = "0.7", optional = true }
dirs = { version = "3.0", optional = true }

serde = { version = "1.0", optional = true, default-features = false, features = ["derive", "alloc"] }
toml = { version = "0.5", optional = true }

[dev-dependencies]
rand = { version = "0.7" }
rand_xorshift = "0.2"

[features]
default = ["std", "serde_derive", "inventory", "filemap", "memmapfiles"]
trace_mmu = [] # enables debug traces in the mmu (very verbose)
dummy_mem = ["rand", "rand_xorshift"]
std = ["coarsetime", "no-std-compat/std"]
collections = []
alloc = []
serde_derive = ["serde"]
memmapfiles = ["toml", "serde_derive"]
inventory = ["libloading", "dirs"]
filemap = ["memmap"]
