1lints.workspace = true
2
3[package]
4authors = [
5 "Jyun-Yan You <jyyou.tw@gmail.com>",
6 "Emilio Cobos Álvarez <emilio@crisal.io>",
7 "Nick Fitzgerald <fitzgen@gmail.com>",
8 "The Servo project developers",
9]
10description = "Automatically generates Rust FFI bindings to C and C++ libraries."
11keywords = ["bindings", "ffi", "code-generation"]
12categories = ["external-ffi-bindings", "development-tools::ffi"]
13license = "BSD-3-Clause"
14name = "bindgen"
15readme = "../README.md"
16repository = "https://github.com/rust-lang/rust-bindgen"
17documentation = "https://docs.rs/bindgen"
18homepage = "https://rust-lang.github.io/rust-bindgen/"
19version = "0.71.1"
20build = "build.rs"
21rust-version.workspace = true
22edition.workspace = true
23
24[lib]
25name = "bindgen"
26path = "lib.rs"
27
28[dependencies]
29annotate-snippets = { workspace = true, optional = true }
30bitflags.workspace = true
31cexpr.workspace = true
32clang-sys = { workspace = true, features = ["clang_11_0"] }
33clap = { workspace = true, features = ["derive"], optional = true }
34clap_complete = { workspace = true, optional = true }
35itertools = { workspace = true }
36log = { workspace = true, optional = true }
37prettyplease = { workspace = true, optional = true, features = ["verbatim"] }
38proc-macro2.workspace = true
39quote.workspace = true
40regex = { workspace = true, features = ["std", "unicode-perl"] }
41rustc-hash.workspace = true
42shlex.workspace = true
43syn = { workspace = true, features = ["full", "extra-traits", "visit-mut"] }
44
45[features]
46default = ["logging", "prettyplease", "runtime"]
47logging = ["dep:log"]
48static = ["clang-sys/static"]
49runtime = ["clang-sys/runtime"]
50# This feature is no longer used for anything and should be removed in bindgen 0.70
51which-rustfmt = []
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 = ["dep:clap", "dep:clap_complete"]
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