-
-
Notifications
You must be signed in to change notification settings - Fork 51
/
Cargo.toml
102 lines (89 loc) · 2.66 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[package]
name = "rasn"
version.workspace = true
categories = ["encoding", "no-std", "parser-implementations"]
description = "A safe no_std ASN.1 codec framework."
license.workspace = true
exclude = ["fuzzing"]
keywords = ["asn1", "der", "ber", "cer", "per"]
repository.workspace = true
edition.workspace = true
[lib]
bench = false
[workspace]
members = [".", "macros", "macros/macros_impl", "standards/*"]
exclude = ["fuzzing"]
[workspace.package]
edition = "2021"
license = "MIT OR Apache-2.0"
version = "0.21.0"
repository = "https://github.com/librasn/rasn.git"
[workspace.dependencies]
pretty_assertions = "1.4"
chrono = { version = "0.4.38", default-features = false, features = ["alloc"] }
bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] }
[features]
std = []
backtraces = ["std", "snafu/backtrace"]
compiler = ["rasn-compiler"]
[profile.bench-lto]
inherits = "bench"
opt-level = 3
codegen-units = 1
lto = "fat"
[profile.bench-debug]
inherits = "dev"
opt-level = 1
[[bench]]
name = "criterion"
path = "benches/criterion.rs"
harness = false
test = true
[[bench]]
name = "iai"
path = "benches/iai.rs"
harness = false
bench = false
[[bench]]
name = "criterion_integer"
path = "benches/integer.rs"
harness = false
test = true
[dependencies]
bitvec.workspace = true
bytes = { version = "1.7.2", default-features = false }
chrono.workspace = true
either = { version = "1.13.0", default-features = false }
hashbrown = "0.14.5"
nom = { version = "7.1.3", default-features = false, features = ["alloc"] }
nom-bitvec = { package = "bitvec-nom2", version = "0.2.1" }
num-bigint = { version = "0.4.6", default-features = false }
num-traits = { version = "0.2.19", default-features = false }
num-integer = { version = "0.1.46", default-features = false, features = [
"i128",
] }
once_cell = { version = "1.20.2", default-features = false, features = [
"race",
"alloc",
] }
rasn-compiler = { version = "0.5.3", optional = true }
rasn-derive = { version = "0.21", path = "macros" }
snafu = { version = "0.8.5", default-features = false, features = [
"rust_1_81",
] }
serde_json = { version = "1", default-features = false, features = ["alloc"] }
[dev-dependencies]
criterion = { version = "0.5.1", default-features = false, features = [
"plotters",
"cargo_bench_support",
] }
iai-callgrind = "0.14.0"
once_cell = "1.20.2"
pretty_assertions.workspace = true
rasn-pkix = { path = "standards/pkix" }
# Assume that we need these dependencies only when benching manually on specific targets
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dev-dependencies]
rustls-webpki = "0.102.8"
x509-cert = "0.2.5"
x509-certificate = "0.23.1"
x509-parser = "0.16"