summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-28 11:21:56 +0200
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-28 20:31:19 +0200
commit316d55d55f49eca442e4fd948f5fa92bab0c8312 (patch)
tree679e09a814529d768c4395056c51c7cd5442cf6d /scripts
parentkconfig: error out if a recursive variable references itself (diff)
downloadlinux-316d55d55f49eca442e4fd948f5fa92bab0c8312.tar.xz
linux-316d55d55f49eca442e4fd948f5fa92bab0c8312.zip
Documentation: kconfig: document a new Kconfig macro language
Add a document for the macro language introduced to Kconfig. The motivation of this work is to move the compiler option tests to Kconfig from Makefile. A number of kernel features require the compiler support. Enabling such features blindly in Kconfig ends up with a lot of nasty build-time testing in Makefiles. If a chosen feature turns out unsupported by the compiler, what the build system can do is either to disable it (silently!) or to forcibly break the build, despite Kconfig has let the user to enable it. By moving the compiler capability tests to Kconfig, features unsupported by the compiler will be hidden automatically. This change was strongly prompted by Linus Torvalds. You can find his suggestions [1] [2] in ML. The original idea was to add a new attribute with 'option shell=...', but I found more generalized text expansion would make Kconfig more powerful and lovely. The basic ideas are from Make, but there are some differences. [1]: https://lkml.org/lkml/2016/12/9/577 [2]: https://lkml.org/lkml/2018/2/7/527 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions