content: [package]
  name = "ab-proof-of-space-gpu"
  description = "Proof of space plotting utilities for GPU (Vulkan/Metal)"
  license = "0BSD"
  version = "0.1.0"
  authors = ["Nazar Mokrynskyi <nazar@mokrynskyi.com>"]
  edition = "2024"
  include = [
      "/src",
      "/build.rs",
      "/Cargo.toml",
  ]
  
  [package.metadata.docs.rs]
  all-features = true
  
  [lib]
  # SPIR-V target requires `dylib`
  crate-type = ["dylib", "lib"]
  
  # TODO: Benches
  
  [dependencies]
  ab-blake3 = { workspace = true }
  ab-chacha8 = { workspace = true }
  derive_more = { workspace = true, features = ["from", "into"] }
  spirv-std = { workspace = true }
  
  [target.'cfg(not(target_arch = "spirv"))'.dependencies]
  ab-core-primitives = { workspace = true }
  wgpu = { workspace = true }
  
  [target.'cfg(not(target_arch = "spirv"))'.dev-dependencies]
  chacha20 = { workspace = true, features = ["rng"] }
  futures = { workspace = true, features = ["executor"] }
  rand = { workspace = true }
  
  # TODO: This will be built in the shader as well, figure out a way to avoid that
  [build-dependencies]
  cargo-gpu = { workspace = true }
  
  [features]
  # GPU tests search for compatible GPU. If no compatible GPU is found, tests are skipped unless this feature is
  # specified.
  __force-gpu-tests = []
  # Internal feature used by the build script for shader compilation. Should not be used externally.
  __modern-gpu = []
  
  [lints]
  workspace = true
  