1 | [package] |
2 | authors = [ |
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 | ] |
8 | description = "Automatically generates Rust FFI bindings to C and C++ libraries." |
9 | keywords = ["bindings" , "ffi" , "code-generation" ] |
10 | categories = ["external-ffi-bindings" , "development-tools::ffi" ] |
11 | license = "BSD-3-Clause" |
12 | name = "bindgen" |
13 | readme = "../README.md" |
14 | repository = "https://github.com/rust-lang/rust-bindgen" |
15 | documentation = "https://docs.rs/bindgen" |
16 | homepage = "https://rust-lang.github.io/rust-bindgen/" |
17 | version = "0.69.4" |
18 | edition = "2018" |
19 | build = "build.rs" |
20 | # If you change this, also update README.md and msrv in .github/workflows/bindgen.yml |
21 | rust-version = "1.60.0" |
22 | |
23 | [lib] |
24 | name = "bindgen" |
25 | path = "lib.rs" |
26 | |
27 | [dependencies] |
28 | annotate-snippets = { version = "0.9.1" , features = ["color" ], optional = true } |
29 | bitflags = "2.2.1" |
30 | cexpr = "0.6" |
31 | clang-sys = { version = "1" , features = ["clang_6_0" ] } |
32 | itertools = { version = ">=0.10,<0.13" , default-features = false } |
33 | lazy_static = "1" |
34 | lazycell = "1" |
35 | log = { version = "0.4" , optional = true } |
36 | prettyplease = { version = "0.2.7" , optional = true, features = ["verbatim" ] } |
37 | proc-macro2 = { version = "1" , default-features = false } |
38 | quote = { version = "1" , default-features = false } |
39 | regex = { version = "1.5.1" , default-features = false, features = ["std" , "unicode-perl" ] } |
40 | rustc-hash = "1.0.1" |
41 | shlex = "1" |
42 | syn = { version = "2.0" , features = ["full" , "extra-traits" , "visit-mut" ] } |
43 | which = { version = "4.2.1" , optional = true, default-features = false } |
44 | |
45 | [features] |
46 | default = ["logging" , "prettyplease" , "runtime" , "which-rustfmt" ] |
47 | logging = ["dep:log" ] |
48 | static = ["clang-sys/static" ] |
49 | runtime = ["clang-sys/runtime" ] |
50 | # Dynamically discover a `rustfmt` binary using the `which` crate |
51 | which-rustfmt = ["dep:which" ] |
52 | experimental = ["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] |
64 | features = ["experimental" ] |
65 | |
66 | [package.metadata.release] |
67 | release = true |
68 | pre-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]] |
72 | file = "../CHANGELOG.md" |
73 | search = "# Unreleased" |
74 | replace = "# Unreleased\n## Added\n## Changed\n## Removed\n## Fixed\n## Security\n\n# {{version}} ({{date}})" |
75 | |