Re: [PATCH 3/6] kbuild: rust_is_available: add check for `bindgen` invocation

Masahiro Yamada
2023-01-14T09:45:33Z

On Sat, Jan 14, 2023 at 8:10 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Thu, Jan 12, 2023 at 5:35 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > I meant this:
> >
> > if ! bindgen_libclang_output=$(LC_ALL=C "$BINDGEN" $(dirname
> > $0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null); then
> > [snip]
> > fi
> >
> > (">/dev/null" was lost in the previous email)
>
> I used the error code in the message below. I am happy either way.
>
> Cheers,
> Miguel

Ah, I see.

How about this?

bindgen_libclang_output=$(LC_ALL=C "$BINDGEN" $(dirname
$0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null) \
|| bindgen_libclang_code=$?

if [ -n "$bindgen_libclang_code" ]; then
echo >&2 "***"
echo >&2 "*** Running '$BINDGEN' to check the libclang version
(used by the Rust"
echo >&2 "*** bindings generator) failed with code
$bindgen_libclang_code. This may be caused by"
echo >&2 "*** a failure to locate libclang. See output and docs
below for details:"
echo >&2 "***"
echo >&2 "$bindgen_libclang_output"
echo >&2 "***"
exit 1
fi

You can get the error code of bindgen without toggling -e.

--
Best Regards
Masahiro Yamada