2020-12-08 15:32:43

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH 1/2] Documentation/kbuild: Document COMPILE_TEST dependencies

Document best practises for using COMPILE_TEST dependencies.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
Documentation/kbuild/kconfig-language.rst | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/Documentation/kbuild/kconfig-language.rst b/Documentation/kbuild/kconfig-language.rst
index 1cf1aebdd6cdf8fa..2b746332d8aa6bce 100644
--- a/Documentation/kbuild/kconfig-language.rst
+++ b/Documentation/kbuild/kconfig-language.rst
@@ -553,6 +553,17 @@ with "depends on m". E.g.::

limits FOO to module (=m) or disabled (=n).

+Compile-testing
+~~~~~~~~~~~~~~~
+If a config symbol has a dependency, but the code controlled by the config
+symbol can still be compiled if the dependency is not met, it is encouraged to
+increase build coverage by adding an "|| COMPILE_TEST" clause to the
+dependency. This is especially useful for drivers for more exotic hardware, as
+it allows continuous-integration systems to compile-test the code on a more
+common system, and detect bugs that way.
+Note that compile-tested code should avoid crashing when run on a system where
+the dependency is not met.
+
Kconfig recursive dependency limitations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

--
2.25.1


2020-12-08 15:50:57

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 1/2] Documentation/kbuild: Document COMPILE_TEST dependencies

On Tue, Dec 8, 2020 at 4:28 PM Geert Uytterhoeven
<[email protected]> wrote:
>
> Document best practises for using COMPILE_TEST dependencies.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>

Acked-by: Arnd Bergmann <[email protected]>

2020-12-19 16:12:54

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH 1/2] Documentation/kbuild: Document COMPILE_TEST dependencies

On Wed, Dec 9, 2020 at 12:29 AM Geert Uytterhoeven
<[email protected]> wrote:
>
> Document best practises for using COMPILE_TEST dependencies.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> Documentation/kbuild/kconfig-language.rst | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/Documentation/kbuild/kconfig-language.rst b/Documentation/kbuild/kconfig-language.rst
> index 1cf1aebdd6cdf8fa..2b746332d8aa6bce 100644
> --- a/Documentation/kbuild/kconfig-language.rst
> +++ b/Documentation/kbuild/kconfig-language.rst
> @@ -553,6 +553,17 @@ with "depends on m". E.g.::


Both applied to linux-kbuild. Thanks.

I replaced the two-spaces between sentences
because the majority in this file adopts
one-space between sentences.
(I still see some inconsistencies, though.)






>
> limits FOO to module (=m) or disabled (=n).
>
> +Compile-testing
> +~~~~~~~~~~~~~~~
> +If a config symbol has a dependency, but the code controlled by the config
> +symbol can still be compiled if the dependency is not met, it is encouraged to
> +increase build coverage by adding an "|| COMPILE_TEST" clause to the
> +dependency. This is especially useful for drivers for more exotic hardware, as
> +it allows continuous-integration systems to compile-test the code on a more
> +common system, and detect bugs that way.
> +Note that compile-tested code should avoid crashing when run on a system where
> +the dependency is not met.
> +
> Kconfig recursive dependency limitations
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> --
> 2.25.1
>


--
Best Regards
Masahiro Yamada