summaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2022-10-24Update README.mdChristian Poveda Ruiz
2022-07-18Bump MSRV to 1.57.0Darren Kulp
2022-06-23Bump msrv to 1.56.1Justin Smith
2022-01-29Bump MSRV to 1.54Mateusz Mikuła
2021-10-13Bump cexpr to 0.6Anthony Ramine
2021-07-19Bump cexpr to 0.5Anthony Ramine
2021-04-15Add env var EXTRA_CLANG_ARGS_<TARGET>Thomas Vermeilh
Closes #2009
2020-11-13Document that people can request releasesEmilio Cobos Álvarez
(and I'd be more than happy to make them happen :))
2020-08-18Bump MSRV to 1.40.0Kyle Mayes
The libloading crate is used for runtime linking and since 0.6.0 it has a MSRV of 1.40.0
2020-06-29Update some docs that are not changelogsDarren Kulp
2020-06-08Document environment variables in READMETravis Finkenauer
Mention BINDGEN_EXTRA_CLANG_ARGS and clang-sys variables.
2020-04-26Readme/CI: mention and test the MSRVDenis Lisov
Write down the minimal supported Rust version in the README.md and add a CI test that ensures MSRV bumps cannot happen accidentally.
2019-05-06Readme badgesLokathor
2018-11-24Update ReadmeAlex Touchet
2018-11-24Update broken links: Rust-lang-nursery => Rust-lang (#1447)diwic
* Fix broken link to user's guide * rust-lang-nursery => rust-lang * rust-lang-nusery => rust-lang
2018-04-03Match tag line on github in README to downplay implied reliability of ↵Nick Fitzgerald
binding to C++
2017-09-21Add links to `impl period` blog post and gitter.imSergey Pepyakin
2017-07-25s/servo/rust-lang-nursery/ in README.mdNick Fitzgerald
Missed the most important part of the last commit... r=me
2017-07-1311/10 MAJESTIC AFNick Fitzgerald
2017-04-26Add the `bindgen` Users GuideNick Fitzgerald
This commit adds a Users Guide, built with [mdbook][] (the same tool used by *The Rust Book*). It moves all the user documentation from the README.md into the Users Guide. It leaves the README.md as a splash page featuring an example of what `bindgen` is and does, a link to the Users Guide, a link to the docs.rs/bindgen API reference documentation, and a link to CONTRIBUTING.md. It ensures that the Users Guide builds with `mdbook`, and all code snippets within it build as doctests and pass, on every CI run. Finally, it builds and uploads the Users Guide every time CI passes on the master branch. [mdbook]: https://github.com/azerupi/mdBook
2017-03-07fix clang installation instruction for debian osSimkha
2017-02-09Clarify/correct command line usageRafael Bachmann
cargo installs bindgen to the local bin repo and not the current directory.
2017-01-23Add missing highlighting language annotationAlexander Altman
2017-01-23Auto merge of #419 - fitzgen:cargo-metadata, r=emiliobors-servo
Small cargo and docs clean ups r? @emilio
2017-01-23Expand documentation about C++ bindings generationNick Fitzgerald
2017-01-23Recommend using `bindgen` with build.rs in the READMENick Fitzgerald
2017-01-23Re-run doctoc to update README's table of contentsNick Fitzgerald
2017-01-23Breaking version bump.Emilio Cobos Álvarez
2017-01-23Unify under the `bindgen` name.Emilio Cobos Álvarez
2017-01-19Move the building instructions from README.md to CONTRIBUTING.mdNick Fitzgerald
2017-01-19Clean up the README.md and CONTRIBUTING.md docsNick Fitzgerald
Use the `doctoc` program to generate tables of contents, stop referring to forking and make this the canonical `bindgen`, move the section on building to last.
2016-12-28Update README.md to reflect the current situationXidorn Quan
There are several changes: * Announce that Clang 3.9 is the new default * Update the install steps for 3.9 * Add installing steps for Windows * Update stylo's usage of bindgen
2016-12-12Fix issues in READMEXidorn Quan
Mainly for fixing `env!("OUT_DIR")` usage in `build.rs`.
2016-11-26Restore links in README.mdTing-Yu Lin
These were deleted accidentally in 073b12ff35a8ec6314d655804915f177ce453227.
2016-11-16Remove plugin and its documentationJeff Waugh
2016-11-16Document library usageJeff Waugh
2016-11-04Fix link to stylo script in README.mdTing-Yu Lin
The scripts were moved in https://github.com/servo/servo/pull/13372
2016-10-29Add link to setup LLVM repos on Debian/Ubuntu.catdesk
2016-10-21Add a CONTRIBUTING.md fileNick Fitzgerald
It provides an overview of how to file a helpful issue and how to run tests. Fixes #93
2016-09-27Add documentation for building with ports and LLVM 3.9Emilio Cobos Álvarez
Fixes #64.
2016-08-25Add description of how to run the tests to README.mdNick Fitzgerald
Fixes #42
2016-08-22Make sure to mention the need to checkout and build clangNick Fitzgerald
2016-08-22Expand the build instructions when using llvm 3.9Nick Fitzgerald
2016-07-01readme: Add a bit more up-to-date information.Emilio Cobos Álvarez
2016-07-01Correct the README on the rustbindgen attribute.Ms2ger
2016-03-16SM hacks squashMichael Wu
Generate better enums Squash of... Disable prefixing Default to failing on unknown types Add support for Char16 Emit errors for unknown cursor kinds Hack in support for classes Recurse into unexposed decls This fixes functions that use extern "C". Add support for generating unmangled functions Prefix unnamed data structures with the file name Recurse into namespaced things Avoid rust reserved keywords in unmangle func args Don't create variadic unmangled funcs Don't translate typedefs to the same name Ignore operator overloads Avoid templates Handle class declarations Number duplicate demangle functions Implement copy on enums Translate stdint types into standard rust int types Switch enums to i32 for better compatibility Correctly deal with mangled functions with unnamed args Mark unmangling functions as unsafe Attempt to produce structs for C++ classes Convert references Generate better func decls for void returns Make every function callback unsafe Add support for generics in typedefs Add support for class templates Aggressively trim duplicates Don't generate default impl for templates Improve handling of templates Fix function numbering Fix deduplication Make unmangling functions extern "C" Convert all int/float typedefs to standard rust ints/floats This also gives better information to the bitfield parsing and allows uint32_t and other stdint bitfields to be processed properly Add support for wchar Add support for bitfield setter generation Fix floats Squash of... Shorten generated bitfield names Add support for generating whole bitfields Add support for enums nested inside structs/classes Rustup Fixes #184. Rustup to b301e02f3 2015-05-19 Inline demangling functions Add support for base classes/types Generate bindings for methods Make duplicate detection less aggressive Avoid converting long/unsigned longs to rust types. This fixes 64/32bit issues in structs. Generate bitfields correctly for typedefs Convert stdint types to rust types Derive Debug on BindgenOptions, Bindings, and LinkType. Remove +'static when writing bindings Generate virtual function tables Resolve some warnings Add NotConst where Constness params are required Generate real bools when applicable Squash of... Add support for comments Improve bitfield support using const fn Add limited support for references Add comments to fields Don't generate empty comments Convert char16_t to u16 rather than i16 Convert signed chars to libc::c_char Fix Cargo.toml rebasing breakage Fix compiler errors This gets bindgen to compile and run again, but all but one `cargo test` tests fail. Not sure if that’s because of mistakes on my part or if the sm-hacks branch never passed those tests. Fix build warnings Use link_name attr for mangled function names Handle mangled global vars Only generate bindings for visible symbols Don't generate arrays for blobs when the length is 1 Name enums inside classes better Handle template args inside typedefs better Filter out duplicate decls better Generate correctly sized enums Squash of... Fix bitfield accessor method generation for bools Insert phantom fields in empty structs Don't mark unmangling methods as extern "C" Add back comment support for functions Add basic annotation support Don't generate univariant enums Add support for hide annotation and adjust syntax Don't generate unsupported structs Don't parse hidden fields Don't derive Copy for structs with destructors Don't implement Clone or Default Derive Clone when deriving Copy Bypass single member unions Disable references in function args for now Remove extra underscore in mangled names on OSX Don't translate private methods Support generating consts from macros that are defined as integer literals. Handle mangling better Squash of... Update README.md for fork Generate docs for enum items Generate docs for typedefs Generate docs for enums Update syntex_syntax to 0.24.* Update clang info in README.md Spit errors and warnings to stdout. The correct thing to do here is to use env_logger, but that was causing cargo troubles for me, and this is preferable to swallowing them. Add the -ignore-functions argument. Handle 1 << 63 as enum value. Don't try to convert standard int types in rust_type_id. It looks like mwu added this, but I'm pretty sure it's a category error. This function appears to be designed to reproducibly permute C identifiers so that they don't conflict with builtin rust types. It's specifically _not_ a type translator (which would happen at the type level, rather than the string level), and using it as such with callers like ctypedef_to_rs causes us to generate things like: type u64 = u64; While processing stdint.h, which is clearly wrong. Stop patching in placeholder names for CompInfo and EnumInfo instances during code generator. As best as I can tell, it's done this way (rather than my way) because bindgen tries to recognize struct and enums typedefs of the form: /* This is a common idiom in C, not so much in C++ */ typdef struct { ... } Foo; The intention, I think, is to avoid generating rust code for a struct with a placeholder name followed by a typedef, and just give the struct the right name initially. This seems like a reasonable goal, though not a particularly important one. However, in my testing this never actually happens, because we end up calling unnamed_name anyway during the GComp(ci) case of gen_mod before we get to evaluting the typedef. So let's just remove that stuff and simplify the code. This lets us remove all the borrow_mut calls during code generation, which seems necessary for soundness. gen: Allow empty union members Use full paths in generation. Fix test compilation parser: Add support for parsing namespaces Partial C++ namespaces support We currently generate the modules as expected, but we don't resolve the names from external namespaces well. Remove unnecesary return statements Put namespaces behind a flag Overall now that they aren't complete still. Moar refactoring Finally take rid of all the warnings Even moar gen: Avoid so much cloning parser: Refactor the way submodules are stored This way we can share the global map, while having each module custom globals. gen: Checkpoint before the refactoring This actually keeps working as before. gen: Make modules (almost) work for typedef'd types We generate almost valid code, we just have to add some use statements. Or maybe is a better idea to add an unintelligible name to the root mod, and actually output a root mod plus a use root::* before. gen: Document the current submodule approach and some desirable alternative gen: Make it actually compilable \o/ gen: Make the code generation usable for every type. There's just an edge case I've detected, and it's when we remove the instantiation of C<int>, and another module uses it, because that means we only know of its existance in that other module. Probably we might want to use cursor_getSemanticParent to get the real class instead of the instantiated, but I'm not too confident about that. Fix a corner case when a template was instantiated in another module. Added an example of the namespace resolution. Don't panic when not finding the specialised template This can be annoying if filtering files out. Straight rebase completed, let's fix that build errors wip Pair up with master nits Update AST Add -no-rename-fields option This is for compatibility between C bindings and C++ bindings (in C `struct Foo` and `enum Foo`, are different, while in C++ they aren't). wip Add enum tests pass, and add C++ tests Make a few more struct-related tests pass
2016-03-12Add links to README icons.Yamakaky
2016-03-12Add shields to README.md.Benedikt Steinbusch
2015-06-03updated documentation with location of libclang when only command line xcode ↵David Boon
installed.
2015-05-10Update README.mdTupshin Harper