]> git.proxmox.com Git - rustc.git/blob - src/vendor/backtrace/Cargo.toml
New upstream version 1.19.0+dfsg1
[rustc.git] / src / vendor / backtrace / Cargo.toml
1 [package]
2 name = "backtrace"
3 version = "0.3.0"
4 authors = ["Alex Crichton <alex@alexcrichton.com>",
5 "The Rust Project Developers"]
6 license = "MIT/Apache-2.0"
7 readme = "README.md"
8 repository = "https://github.com/alexcrichton/backtrace-rs"
9 homepage = "https://github.com/alexcrichton/backtrace-rs"
10 documentation = "http://alexcrichton.com/backtrace-rs"
11 description = """
12 A library to acquire a stack trace (backtrace) at runtime in a Rust program.
13 """
14 build = "build.rs"
15
16 [dependencies]
17 libc = "0.2"
18 backtrace-sys = { path = "backtrace-sys", version = "0.1.3", optional = true }
19 kernel32-sys = { version = "0.2", optional = true }
20 winapi = { version = "0.2.5", optional = true }
21 dbghelp-sys = { version = "0.2", optional = true }
22 cfg-if = "0.1"
23 rustc-demangle = "0.1"
24
25 # Optionally enable the ability to serialize a `Backtrace`
26 serde = { version = "0.8", optional = true }
27 rustc-serialize = { version = "0.3", optional = true }
28
29 [build-dependencies]
30 serde_codegen = { version = "0.8", optional = true }
31
32 # Each feature controls the two phases of finding a backtrace: getting a
33 # backtrace and then resolving instruction pointers to symbols. The default
34 # feature enables all the necessary features for each platform this library
35 # supports, but it can be disabled to have finer grained control over the
36 # dependencies.
37 #
38 # Note that not all features are available on all platforms, so even though a
39 # feature is enabled some other feature may be used instead.
40 [features]
41 default = ["libunwind", "libbacktrace", "coresymbolication", "dladdr", "dbghelp"]
42
43 #=======================================
44 # Methods of acquiring a backtrace
45 #
46 # - libunwind: when using this the libgcc library is linked against to get
47 # the unwinding support. This is generally the most reliable method to get
48 # a backtrace on unix.
49 # - unix-backtrace: this uses the backtrace(3) function to acquire a
50 # backtrace, but is not as reliable as libunwind. It is, however,
51 # generally found in more locations.
52 # - dbghelp: on windows this enables usage of dbghelp.dll to find a
53 # backtrace at runtime
54 # - kernel32: on windows this enables using RtlCaptureStackBackTrace as the
55 # function to acquire a backtrace
56 libunwind = []
57 unix-backtrace = []
58 dbghelp = ["kernel32-sys", "winapi", "dbghelp-sys"]
59 kernel32 = []
60
61 #=======================================
62 # Methods of resolving symbols
63 #
64 # - libbacktrace: this feature activates the `backtrace-sys` dependency,
65 # building the libbacktrace library found in gcc repos. This library
66 # parses the DWARF info of ELF executables to find symbol names, and it
67 # can also provide filename/line number information if debuginfo is
68 # compiled in. This library currently only primarily works on unixes that
69 # are not OSX, however.
70 # - dladdr: this feature uses the dladdr(3) function (a glibc extension) to
71 # resolve symbol names. This is fairly unreliable on linux, but works well
72 # enough on OSX.
73 # - coresymbolication: this feature uses the undocumented core symbolication
74 # framework on OS X to symbolize.
75 libbacktrace = ["backtrace-sys"]
76 dladdr = []
77 coresymbolication = []
78
79 #=======================================
80 # Methods of serialization
81 #
82 # Various features used for enabling rustc-serialize or syntex codegen.
83 serialize-rustc = ["rustc-serialize"]
84 serialize-serde = ["serde", "serde_codegen"]