-
Notifications
You must be signed in to change notification settings - Fork 13
/
Cargo.toml
79 lines (68 loc) · 2.18 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[package]
name = "rmesg"
version = "1.0.18"
authors = ["Archis Gore <[email protected]>"]
edition = "2018"
license = "Apache-2.0"
categories = ["os", "command-line-utilities"]
keywords = ["dmesg", "klogctl", "printk", "syslog"]
readme = "README.md"
repository = "https://github.com/polyverse/rmesg"
description = """This is a fully Rust-based implementation of the popular dmesg Linux utility, giving
programmatic access to the kernel log buffer."""
[[bin]]
name = "rmesg"
path = "src/main.rs"
required-features = ["async"]
[lib]
name = "rmesg"
path = "src/lib.rs"
[features]
default = ["async"]
# The default set of optional packages. Most people will want to use these
# packages, but they are strictly optional. Note that `session` is not a package
# but rather another feature listed in this manifest.
sync = []
async = ["futures", "futures-util", "tokio", "pin-project"]
extra-traits = ["serde"]
[dependencies]
libc = "0.2.112"
cfg-if = "1.0.0"
enum-display-derive = "0.1.1"
errno = "0.2.8"
clap = "2.34.0"
lazy_static = "1.4.0"
regex = "1.5.4"
strum = "0.23.0"
strum_macros = "0.23.1"
num = "0.4.0"
num-traits = "0.2.14"
num-derive = "0.3.3"
nonblock = "0.1.0"
# Optional - on extra-traits
serde = { version = "1.0.132", features = ["derive"], optional = true }
# Optional - only enabled through the "async" feature
futures = { version = "0.3.19", optional = true }
futures-util = { version = "0.3.19", optional = true }
tokio = { version = "1.15.0", features = ["rt", "fs", "io-util", "macros", "time"], optional = true }
pin-project = {version = "1.0.8", optional = true }
[dev-dependencies]
tokio-stream = { version = "0.1.8" }
rand = "0.8.4"
criterion = { version = "0.3.5", features = ["async_tokio"]}
[profile.dev]
# We don't need stack unwinding in dev either - can be manually enabled
panic = 'abort'
[profile.release]
# We don't need stack unwinding in releases
panic = 'abort'
# Enable LTO for release (since it only builds in Travis and doesn't block day to day)
lto = "fat"
# One code-gen unit so we get a highly optimized binary
codegen-units = 1
[package.metadata.cargo-all-features]
skip_optional_dependencies = true
[[bench]]
name = "benchmark"
harness = false
required-features = ["sync", "async"]