summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-28 18:21:56 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-29 03:31:19 +0900
commit316d55d55f49eca442e4fd948f5fa92bab0c8312 (patch)
tree679e09a814529d768c4395056c51c7cd5442cf6d /scripts/kconfig
parent915f64901eb3f1e4e126f58c0d2f82f5ec1d1223 (diff)
downloadlinux-316d55d55f49eca442e4fd948f5fa92bab0c8312.tar.gz
linux-316d55d55f49eca442e4fd948f5fa92bab0c8312.tar.bz2
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/kconfig')
0 files changed, 0 insertions, 0 deletions