docs: rust: include other expressions in conditional compilation section
authorMiguel Ojeda <ojeda@kernel.org>
Mon, 2 Sep 2024 16:55:33 +0000 (18:55 +0200)
committerMiguel Ojeda <ojeda@kernel.org>
Thu, 5 Sep 2024 20:45:01 +0000 (22:45 +0200)
Expand the conditional compilation section to explain how to support
other expressions, such as testing whether `RUSTC_VERSION` is at least
a given version, which requires a numerical comparison that Rust's `cfg`
predicates do not support (yet?).

Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20240902165535.1101978-7-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Documentation/rust/general-information.rst

index 2d76e09da12162770e74cccf3f87d09f17f032bf..6146b49b6a9881cf665e2d5279121bd0f1fd6981 100644 (file)
@@ -151,3 +151,11 @@ configuration:
        #[cfg(CONFIG_X="y")]   // Enabled as a built-in (`y`)
        #[cfg(CONFIG_X="m")]   // Enabled as a module   (`m`)
        #[cfg(not(CONFIG_X))]  // Disabled
+
+For other predicates that Rust's ``cfg`` does not support, e.g. expressions with
+numerical comparisons, one may define a new Kconfig symbol:
+
+.. code-block:: kconfig
+
+       config RUSTC_VERSION_MIN_107900
+               def_bool y if RUSTC_VERSION >= 107900