Skip to content

Commit 927d03e

Browse files
committed
kbuild: rust_is_available: fix confusion when a version appears in the path
`bindgen`'s output for `libclang`'s version check contains paths, which in turn may contain strings that look like version numbers [1][2]: .../6.1.0-dev/.../rust_is_available_bindgen_libclang.h:2:9: warning: clang version 11.1.0 [-W#pragma-messages], err: false which the script will pick up as the version instead of the latter. It is also the case that versions may appear after the actual version (e.g. distribution's version text), which was the reason behind `head` [3]: .../rust-is-available-bindgen-libclang.h:2:9: warning: clang version 13.0.0 (Fedora 13.0.0-3.fc35) [-W#pragma-messages], err: false Thus instead ask for a match after the `clang version` string. Reported-by: Jordan Isaacs <[email protected]> Closes: Rust-for-Linux#942 [1] Reported-by: Ethan D. Twardy <[email protected]> Closes: https://lore.kernel.org/rust-for-linux/[email protected]/ [2] Reported-by: Tiago Lam <[email protected]> Closes: Rust-for-Linux#789 [3] Fixes: 78521f3 ("scripts: add `rust_is_available.sh`") Signed-off-by: Miguel Ojeda <[email protected]>
1 parent 2fbbe65 commit 927d03e

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

scripts/rust_is_available.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,7 @@ fi
157157
# of the `libclang` found by the Rust bindings generator is suitable.
158158
bindgen_libclang_version=$( \
159159
echo "$bindgen_libclang_output" \
160-
| grep -F 'clang version ' \
161-
| grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \
162-
| head -n 1 \
160+
| sed -nE 's:.*clang version ([0-9]+\.[0-9]+\.[0-9]+).*:\1:p'
163161
)
164162
bindgen_libclang_min_version=$($min_tool_version llvm)
165163
bindgen_libclang_cversion=$(get_canonical_version $bindgen_libclang_version)

0 commit comments

Comments
 (0)