• Masahiro Yamada's avatar
    kconfig: show compiler version text in the top comment · 21c54b77
    Masahiro Yamada authored
    The kernel configuration phase is now tightly coupled with the compiler
    in use.  It will be nice to show the compiler information in Kconfig.
    
    The compiler information will be displayed like this:
    
      $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- config
      scripts/kconfig/conf  --oldaskconfig Kconfig
      *
      * Linux/arm64 4.16.0-rc1 Kernel Configuration
      *
      *
      * Compiler: aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011
      *
      *
      * General setup
      *
      Compile also drivers which will not load (COMPILE_TEST) [N/y/?]
    
    If you use GUI methods such as menuconfig, it will be displayed in the
    top menu.
    
    This is simply implemented by using the 'comment' statement.  So, it
    will be saved into the .config file as well.
    
    This commit has a very important meaning.  If the compiler is upgraded,
    Kconfig must be re-run since different compilers have different sets
    of supported options.
    
    All referenced environments are written to include/config/auto.conf.cmd
    so that any environment change triggers syncconfig, and prompt the user
    to input new values if needed.
    
    With this commit, something like follows will be added to
    include/config/auto.conf.cmd
    
      ifneq "$(CC_VERSION_TEXT)" "aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011"
      include/config/auto.conf: FORCE
      endif
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    21c54b77
Name
Last commit
Last update
Documentation Loading commit data...
LICENSES Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.clang-format Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...