1[package]
2authors = [
3 "Jyun-Yan You <jyyou.tw@gmail.com>",
4 "Emilio Cobos Álvarez <emilio@crisal.io>",
5 "Nick Fitzgerald <fitzgen@gmail.com>",
6 "The Servo project developers",
7]
8description = "Automatically generates Rust FFI bindings to C and C++ libraries."
9keywords = ["bindings", "ffi", "code-generation"]
10categories = ["external-ffi-bindings", "development-tools::ffi"]
11license = "BSD-3-Clause"
12name = "bindgen"
13readme = "../README.md"
14repository = "https://github.com/rust-lang/rust-bindgen"
15documentation = "https://docs.rs/bindgen"
16homepage = "https://rust-lang.github.io/rust-bindgen/"
17version = "0.69.4"
18edition = "2018"
19build = "build.rs"
20# If you change this, also update README.md and msrv in .github/workflows/bindgen.yml
21rust-version = "1.60.0"
22
23[lib]
24name = "bindgen"
25path = "lib.rs"
26
27[dependencies]
28annotate-snippets = { version = "0.9.1", features = ["color"], optional = true }
29bitflags = "2.2.1"
30cexpr = "0.6"
31clang-sys = { version = "1", features = ["clang_6_0"] }
32itertools = { version = ">=0.10,<0.13", default-features = false }
33lazy_static = "1"
34lazycell = "1"
35log = { version = "0.4", optional = true }
36prettyplease = { version = "0.2.7", optional = true, features = ["verbatim"] }
37proc-macro2 = { version = "1", default-features = false }
38quote = { version = "1", default-features = false }
39regex = { version = "1.5.1", default-features = false, features = ["std", "unicode-perl"] }
40rustc-hash = "1.0.1"
41shlex = "1"
42syn = { version = "2.0", features = ["full", "extra-traits", "visit-mut"] }
43which = { version = "4.2.1", optional = true, default-features = false }
44
45[features]
46default = ["logging", "prettyplease", "runtime", "which-rustfmt"]
47logging = ["dep:log"]
48static = ["clang-sys/static"]
49runtime = ["clang-sys/runtime"]
50# Dynamically discover a `rustfmt` binary using the `which` crate
51which-rustfmt = ["dep:which"]
52experimental = ["dep:annotate-snippets"]
53
54## The following features are for internal use and they shouldn't be used if
55## you're not hacking on bindgen
56# Features used by `bindgen-cli`
57__cli = []
58# Features used for CI testing
59__testing_only_extra_assertions = []
60__testing_only_libclang_9 = []
61__testing_only_libclang_16 = []
62
63[package.metadata.docs.rs]
64features = ["experimental"]
65
66[package.metadata.release]
67release = true
68pre-release-hook = ["../node_modules/doctoc/doctoc.js", "../CHANGELOG.md"]
69
70# Add version and date to changelog file
71[[package.metadata.release.pre-release-replacements]]
72file = "../CHANGELOG.md"
73search = "# Unreleased"
74replace = "# Unreleased\n## Added\n## Changed\n## Removed\n## Fixed\n## Security\n\n# {{version}} ({{date}})"
75