[package] authors = [ "Jyun-Yan You ", "Emilio Cobos Álvarez ", "Nick Fitzgerald ", "The Servo project developers", ] description = "Automatically generates Rust FFI bindings to C and C++ libraries." keywords = ["bindings", "ffi", "code-generation"] categories = ["external-ffi-bindings", "development-tools::ffi"] license = "BSD-3-Clause" name = "bindgen" readme = "../README.md" repository = "https://github.com/rust-lang/rust-bindgen" documentation = "https://docs.rs/bindgen" homepage = "https://rust-lang.github.io/rust-bindgen/" version = "0.69.5" edition = "2018" build = "build.rs" # If you change this, also update README.md and msrv in .github/workflows/bindgen.yml rust-version = "1.60.0" [lib] name = "bindgen" path = "lib.rs" [dependencies] annotate-snippets = { version = "0.9.1", features = ["color"], optional = true } bitflags = "2.2.1" cexpr = "0.6" clang-sys = { version = "1", features = ["clang_6_0"] } itertools = { version = ">=0.10,<0.13", default-features = false } lazy_static = "1" lazycell = "1" log = { version = "0.4", optional = true } prettyplease = { version = "0.2.7", optional = true, features = ["verbatim"] } proc-macro2 = { version = "1", default-features = false } quote = { version = "1", default-features = false } regex = { version = "1.5.1", default-features = false, features = ["std", "unicode-perl"] } rustc-hash = "1.0.1" shlex = "1" syn = { version = "2.0", features = ["full", "extra-traits", "visit-mut"] } which = { version = "4.2.1", optional = true, default-features = false } [features] default = ["logging", "prettyplease", "runtime", "which-rustfmt"] logging = ["dep:log"] static = ["clang-sys/static"] runtime = ["clang-sys/runtime"] # Dynamically discover a `rustfmt` binary using the `which` crate which-rustfmt = ["dep:which"] experimental = ["dep:annotate-snippets"] ## The following features are for internal use and they shouldn't be used if ## you're not hacking on bindgen # Features used by `bindgen-cli` __cli = [] # Features used for CI testing __testing_only_extra_assertions = [] __testing_only_libclang_9 = [] __testing_only_libclang_16 = [] [package.metadata.docs.rs] features = ["experimental"] [package.metadata.release] release = true pre-release-hook = ["../node_modules/doctoc/doctoc.js", "../CHANGELOG.md"] # Add version and date to changelog file [[package.metadata.release.pre-release-replacements]] file = "../CHANGELOG.md" search = "# Unreleased" replace = "# Unreleased\n## Added\n## Changed\n## Removed\n## Fixed\n## Security\n\n# {{version}} ({{date}})"