# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "backtrace"
version = "0.3.13"
authors = ["Alex Crichton <alex@alexcrichton.com>", "The Rust Project Developers"]
autoexamples = true
autotests = true
description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n"
homepage = "https://github.com/alexcrichton/backtrace-rs"
documentation = "https://docs.rs/backtrace"
readme = "README.md"
license = "MIT/Apache-2.0"
repository = "https://github.com/alexcrichton/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"]
[dependencies.addr2line]
version = "0.7.0"
optional = true

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

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

[dependencies.findshlibs]
version = "0.4.0"
optional = true

[dependencies.gimli]
version = "0.16.0"
optional = true

[dependencies.memmap]
version = "0.7.0"
optional = true

[dependencies.object]
version = "0.9.0"
optional = true

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

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

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

[dependencies.serde_derive]
version = "1.0"
optional = true
[build-dependencies.autocfg]
version = "0.1"

[features]
coresymbolication = []
dbghelp = []
default = ["std", "libunwind", "libbacktrace", "coresymbolication", "dladdr", "dbghelp"]
dladdr = []
gimli-symbolize = ["addr2line", "findshlibs", "gimli", "memmap", "object"]
kernel32 = []
libbacktrace = ["backtrace-sys", "std"]
libunwind = []
serialize-rustc = ["rustc-serialize"]
serialize-serde = ["serde", "serde_derive"]
std = []
unix-backtrace = []
[target."cfg(all(unix, not(target_os = \"fuchsia\"), not(target_os = \"emscripten\"), not(target_os = \"macos\"), not(target_os = \"ios\")))".dependencies.backtrace-sys]
version = "0.1.17"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2.45"
default-features = false
[target."cfg(windows)".dependencies.winapi]
version = "0.3.3"
features = ["dbghelp", "processthreadsapi", "winnt", "minwindef"]
