From: Miguel Ojeda <ojeda@kernel.org>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Nicolas Schier" <nicolas@fjasle.eu>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
patches@lists.linux.dev, "Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>
Subject: [PATCH 2/6] kbuild: rust_is_available: print docs reference
Date: Mon, 9 Jan 2023 21:45:16 +0100 [thread overview]
Message-ID: <20230109204520.539080-2-ojeda@kernel.org> (raw)
In-Reply-To: <20230109204520.539080-1-ojeda@kernel.org>
People trying out the Rust support in the kernel may get
warnings and errors from `scripts/rust_is_available.sh`
from the `rustavailable` target or the build step.
Some of those users may be following the Quick Start guide,
but others may not (likely those getting warnings from
the build step instead of the target).
While the messages are fairly clear on what the problem is,
it may not be clear how to solve the particular issue,
especially for those not aware of the documentation.
We could add all sorts of details on the script for each one,
but it is better to point users to the documentation instead,
where it is easily readable in different formats. It also
avoids duplication.
Thus add a reference to the documentation whenever the script
fails or there is at least a warning.
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
Note that is based on top of patch "kbuild: rust: remove -v
option of scripts/rust_is_available.sh" applied on v6.2-rc3:
https://lore.kernel.org/rust-for-linux/20230109061436.3146442-1-masahiroy@kernel.org/
scripts/rust_is_available.sh | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh
index eaeafebf8572..c907cf881c2c 100755
--- a/scripts/rust_is_available.sh
+++ b/scripts/rust_is_available.sh
@@ -21,6 +21,20 @@ get_canonical_version()
echo $((100000 * $1 + 100 * $2 + $3))
}
+# Print a reference to the setup guide in the documentation.
+print_docs_reference()
+{
+ echo >&2 "***"
+ echo >&2 "*** Please see Documentation/rust/quick-start.rst for details"
+ echo >&2 "*** on how to setup Rust support."
+ echo >&2 "***"
+}
+
+# If the script fails for any reason, or if there was any warning, then
+# print a reference to the documentation on exit.
+warning=0
+trap 'if [ $? -ne 0 ] || [ $warning -ne 0 ]; then print_docs_reference; fi' EXIT
+
# Check that the Rust compiler exists.
if ! command -v "$RUSTC" >/dev/null; then
echo >&2 "***"
@@ -62,6 +76,7 @@ if [ "$rust_compiler_cversion" -gt "$rust_compiler_min_cversion" ]; then
echo >&2 "*** Your version: $rust_compiler_version"
echo >&2 "*** Expected version: $rust_compiler_min_version"
echo >&2 "***"
+ warning=1
fi
# Check that the Rust bindings generator is suitable.
@@ -89,6 +104,7 @@ if [ "$rust_bindings_generator_cversion" -gt "$rust_bindings_generator_min_cvers
echo >&2 "*** Your version: $rust_bindings_generator_version"
echo >&2 "*** Expected version: $rust_bindings_generator_min_version"
echo >&2 "***"
+ warning=1
fi
# Check that the `libclang` used by the Rust bindings generator is suitable.
@@ -128,6 +144,7 @@ if [ "$cc_name" = Clang ]; then
echo >&2 "*** libclang version: $bindgen_libclang_version"
echo >&2 "*** Clang version: $clang_version"
echo >&2 "***"
+ warning=1
fi
fi
--
2.39.0
next prev parent reply other threads:[~2023-01-09 20:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-09 20:45 [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang` Miguel Ojeda
2023-01-09 20:45 ` Miguel Ojeda [this message]
2023-01-10 10:16 ` [PATCH 2/6] kbuild: rust_is_available: print docs reference Finn Behrens
2023-01-10 12:28 ` Miguel Ojeda
2023-01-09 20:45 ` [PATCH 3/6] kbuild: rust_is_available: add check for `bindgen` invocation Miguel Ojeda
2023-01-09 22:46 ` Boqun Feng
2023-01-09 23:27 ` Miguel Ojeda
2023-01-12 4:33 ` Masahiro Yamada
2023-01-12 4:35 ` Masahiro Yamada
2023-01-13 23:10 ` Miguel Ojeda
2023-01-14 9:44 ` Masahiro Yamada
2023-01-14 12:11 ` Miguel Ojeda
2023-01-14 12:12 ` Miguel Ojeda
2023-01-09 20:45 ` [PATCH 4/6] kbuild: rust_is_available: check if the script was invoked from Kbuild Miguel Ojeda
2023-01-12 5:28 ` Masahiro Yamada
2023-01-13 23:12 ` Miguel Ojeda
2023-01-14 12:33 ` Masahiro Yamada
2023-01-09 20:45 ` [PATCH 5/6] kbuild: rust_is_available: fix confusion when a version appears in the path Miguel Ojeda
2023-01-12 5:32 ` Masahiro Yamada
2023-01-13 23:12 ` Miguel Ojeda
2023-01-15 2:39 ` Masahiro Yamada
2023-01-13 23:30 ` Miguel Ojeda
2023-01-09 20:45 ` [PATCH 6/6] kbuild: rust_is_available: normalize version matching Miguel Ojeda
2023-01-12 6:22 ` Masahiro Yamada
2023-01-13 23:15 ` Miguel Ojeda
2023-01-15 2:48 ` Masahiro Yamada
2023-01-15 10:48 ` Masahiro Yamada
2023-01-09 20:54 ` [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang` Nick Desaulniers
2023-01-09 21:05 ` Miguel Ojeda
2023-01-09 21:06 ` Miguel Ojeda
2023-01-12 6:04 ` Masahiro Yamada
2023-01-13 23:13 ` Miguel Ojeda
2023-01-15 2:59 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230109204520.539080-2-ojeda@kernel.org \
--to=ojeda@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=gary@garyguo.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=patches@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox