Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9b10478

Browse files
ojedafbq
authored andcommittedJul 9, 2024
rust: start supporting several bindgen versions
With both the workaround for `bindgen` 0.69.0 and the warning about 0.66.0 and 0.66.1 in place, start supporting several `bindgen` versions, like it was done for the Rust compiler in a previous patch. All other versions, including the latest 0.69.4, build without errors. The `bindgen` project, like Rust, has also agreed to have the kernel in their CI [1] -- thanks! This should help both projects: `bindgen` will be able to detect early issues like those mentioned above, and the kernel will be very likely build with new releases (at least for the basic configuration being tested). Link: rust-lang/rust-bindgen#2851 [1] Tested-by: Benno Lossin <benno.lossin@proton.me> Tested-by: Andreas Hindborg <a.hindborg@samsung.com> Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Link: https://lore.kernel.org/r/20240709160615.998336-10-ojeda@kernel.org
1 parent 87edbf0 commit 9b10478

File tree

3 files changed

+4
-16
lines changed

3 files changed

+4
-16
lines changed
 

‎Documentation/rust/quick-start.rst

+4-3
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,12 @@ bindgen
107107
*******
108108

109109
The bindings to the C side of the kernel are generated at build time using
110-
the ``bindgen`` tool. A particular version is required.
110+
the ``bindgen`` tool.
111111

112-
Install it via (note that this will download and build the tool from source)::
112+
Install it, for instance, via (note that this will download and build the tool
113+
from source)::
113114

114-
cargo install --locked --version $(scripts/min-tool-version.sh bindgen) bindgen-cli
115+
cargo install --locked bindgen-cli
115116

116117
``bindgen`` uses the ``clang-sys`` crate to find a suitable ``libclang`` (which
117118
may be linked statically, dynamically or loaded at runtime). By default, the

‎scripts/rust_is_available.sh

-8
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,6 @@ if [ "$rust_bindings_generator_cversion" -lt "$rust_bindings_generator_min_cvers
161161
echo >&2 "***"
162162
exit 1
163163
fi
164-
if [ "$rust_bindings_generator_cversion" -gt "$rust_bindings_generator_min_cversion" ]; then
165-
echo >&2 "***"
166-
echo >&2 "*** Rust bindings generator '$BINDGEN' is too new. This may or may not work."
167-
echo >&2 "*** Your version: $rust_bindings_generator_version"
168-
echo >&2 "*** Expected version: $rust_bindings_generator_min_version"
169-
echo >&2 "***"
170-
warning=1
171-
fi
172164

173165
# Check that the `libclang` used by the Rust bindings generator is suitable.
174166
#

‎scripts/rust_is_available_test.py

-5
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,6 @@ def test_bindgen_old_version(self):
231231
result = self.run_script(self.Expected.FAILURE, { "BINDGEN": bindgen })
232232
self.assertIn(f"Rust bindings generator '{bindgen}' is too old.", result.stderr)
233233

234-
def test_bindgen_new_version(self):
235-
bindgen = self.generate_bindgen_version("bindgen 0.999.0")
236-
result = self.run_script(self.Expected.SUCCESS_WITH_WARNINGS, { "BINDGEN": bindgen })
237-
self.assertIn(f"Rust bindings generator '{bindgen}' is too new. This may or may not work.", result.stderr)
238-
239234
def test_bindgen_libclang_failure(self):
240235
bindgen = self.generate_bindgen_libclang_failure()
241236
result = self.run_script(self.Expected.FAILURE, { "BINDGEN": bindgen })

0 commit comments

Comments
 (0)
Please sign in to comment.