From d49e6bc0384a4a01754f13edb793cb1d6ce0b836 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Thu, 10 Nov 2022 11:00:23 -0800 Subject: modules/rust: Add support for dependencies in bindgen This is needed for cases where we need external C headers, which are passed to clang. --- docs/markdown/Rust-module.md | 3 ++- docs/markdown/snippets/rust_bindgen_deps.md | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/markdown/snippets/rust_bindgen_deps.md (limited to 'docs/markdown') diff --git a/docs/markdown/Rust-module.md b/docs/markdown/Rust-module.md index e2c455e..65eec64 100644 --- a/docs/markdown/Rust-module.md +++ b/docs/markdown/Rust-module.md @@ -35,7 +35,7 @@ that automatically. Additional, test only dependencies may be passed via the dependencies argument. -### bindgen(*, input: string | BuildTarget | [](string | BuildTarget), output: string, include_directories: [](include_directories | string), c_args: []string, args: []string) +### bindgen(*, input: string | BuildTarget | [](string | BuildTarget), output: string, include_directories: [](include_directories | string), c_args: []string, args: []string, dependencies: []Dependency) This function wraps bindgen to simplify creating rust bindings around C libraries. This has two advantages over hand-rolling ones own with a @@ -54,6 +54,7 @@ It takes the following keyword arguments these are passed to clang as `-I` arguments *(string since 1.0.0)* - c_args — A list of string arguments to pass to clang untouched - args — A list of string arguments to pass to `bindgen` untouched. +- dependencies — A list of `Dependency` objects to pass to the underlying clang call (*since 1.0.0*) ```meson rust = import('unstable-rust') diff --git a/docs/markdown/snippets/rust_bindgen_deps.md b/docs/markdown/snippets/rust_bindgen_deps.md new file mode 100644 index 0000000..0e8ebef --- /dev/null +++ b/docs/markdown/snippets/rust_bindgen_deps.md @@ -0,0 +1,5 @@ +## rust.bindgen accepts a dependency argument + +The `bindgen` method of the `rust` module now accepts a dependencies argument. +Any include paths in these dependencies will be passed to the underlying call to +`clang`, and the call to `bindgen` will correctly depend on any generatd sources. -- cgit v1.1