# 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"
rust-version = "1.65.0"
name = "backtrace"
version = "0.3.71"
authors = ["The Rust Project Developers"]
build = "build.rs"
exclude = ["/ci/"]
autoexamples = true
autotests = true
description = """
A library to acquire a stack trace (backtrace) at runtime in a Rust program.
"""
homepage = "https://github.com/rust-lang/backtrace-rs"
documentation = "https://docs.rs/backtrace"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/backtrace-rs"

[[example]]
name = "backtrace"
required-features = ["std"]

[[example]]
name = "raw"
required-features = ["std"]

[[test]]
name = "skip_inner_frames"
required-features = ["std"]

[[test]]
name = "long_fn_name"
required-features = ["std"]

[[test]]
name = "smoke"
required-features = ["std"]
edition = "2021"

[[test]]
name = "accuracy"
required-features = ["std"]
edition = "2021"

[[test]]
name = "concurrent-panics"
harness = false
required-features = ["std"]

[[test]]
name = "current-exe-mismatch"
harness = false
required-features = ["std"]

[dependencies.cfg-if]
version = "1.0"

[dependencies.cpp_demangle]
version = "0.4.0"
features = ["alloc"]
optional = true
default-features = false

[dependencies.rustc-demangle]
version = "0.1.4"

[dependencies.rustc-serialize]
version = "0.3"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dev-dependencies.libloading]
version = "0.7"

[build-dependencies.cc]
version = "1.0.90"

[features]
coresymbolication = []
dbghelp = []
default = ["std"]
dladdr = []
gimli-symbolize = []
kernel32 = []
libbacktrace = []
libunwind = []
serialize-rustc = ["rustc-serialize"]
serialize-serde = ["serde"]
std = []
unix-backtrace = []
verify-winapi = [
    "winapi/dbghelp",
    "winapi/handleapi",
    "winapi/libloaderapi",
    "winapi/memoryapi",
    "winapi/minwindef",
    "winapi/processthreadsapi",
    "winapi/synchapi",
    "winapi/tlhelp32",
    "winapi/winbase",
    "winapi/winnt",
]

[target."cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))".dependencies.addr2line]
version = "0.21.0"
default-features = false

[target."cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))".dependencies.libc]
version = "0.2.146"
default-features = false

[target."cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))".dependencies.miniz_oxide]
version = "0.7.0"
default-features = false

[target."cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))".dependencies.object]
version = "0.32.0"
features = [
    "read_core",
    "elf",
    "macho",
    "pe",
    "xcoff",
    "unaligned",
    "archive",
]
default-features = false

[target."cfg(windows)".dependencies.winapi]
version = "0.3.9"
optional = true
