# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "thorin-dwp"
version = "0.8.0"
authors = ["David Wood <david.wood@huawei.com>"]
description = "Library for building DWARF packages from input DWARF objects and packages"
homepage = "https://docs.rs/thorin-dwp"
readme = "README.md"
keywords = [
    "dwarf",
    "split-dwarf",
    "dwarf-package",
    "dwarf-object",
    "dwp",
]
categories = ["development-tools::debugging"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/thorin"

[lib]
name = "thorin"
bench = false

[dependencies.gimli]
version = "0.30.0"
features = [
    "read",
    "write",
    "std",
]
default-features = false

[dependencies.hashbrown]
version = "0.14.0"

[dependencies.object]
version = "0.36.0"
features = [
    "archive",
    "read",
    "write",
    "compression",
]
default-features = false

[dependencies.tracing]
version = "0.1.29"
