/ Cargo.toml
Cargo.toml
 1  [package]
 2  name = "c-kzg"
 3  version = "1.0.2"
 4  edition = "2021"
 5  license = "Apache-2.0"
 6  description = "A minimal implementation of the Polynomial Commitments API for EIP-4844, written in C."
 7  links = "ckzg"
 8  
 9  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
10  include = ["src", "inc", "bindings/rust/src", "bindings/rust/build.rs", "blst/bindings/*.h"]
11  build = "bindings/rust/build.rs"
12  
13  [lib]
14  path = "bindings/rust/src/lib.rs"
15  
16  [features]
17  default = ["std", "portable"]
18  std = ["hex/std", "libc/std", "serde?/std"]
19  serde = ["dep:serde"]
20  generate-bindings = ["dep:bindgen"]
21  
22  # This is a standalone feature so that crates that disable default features can
23  # enable blst/portable without having to add it as a dependency
24  portable = ["blst/portable"]
25  
26  # BLST Compilation:
27  # Suppress multi-threading.
28  # Engaged on wasm32 target architecture automatically.
29  no-threads = ["blst/no-threads"]
30  
31  [dependencies]
32  blst = { version = "0.3.11", default-features = false }
33  hex = { version = "0.4.2", default-features = false, features = ["alloc"] }
34  libc = { version = "0.2", default-features = false }
35  serde = { version = "1.0", optional = true, default-features = false, features = [
36      "alloc",
37      "derive",
38  ] }
39  
40  [dev-dependencies]
41  criterion = "0.5.1"
42  glob = "0.3.1"
43  rand = "0.8.5"
44  serde = { version = "1.0", features = ["derive"] }
45  serde_json = "1.0.105"
46  serde_yaml = "0.9.17"
47  
48  [build-dependencies]
49  bindgen = { version = "0.69", optional = true }
50  cc = "1.0"
51  
52  [target.'cfg(target_env = "msvc")'.build-dependencies]
53  glob = "0.3"
54  
55  [[bench]]
56  path = "bindings/rust/benches/kzg_benches.rs"
57  name = "kzg_benches"
58  harness = false