• Linus Torvalds's avatar
    Merge tag 'kconfig-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 0ad39cb3
    Linus Torvalds authored
    Pull Kconfig updates from Masahiro Yamada:
     "Kconfig now supports new functionality to perform textual
      substitution. It has been a while since Linus suggested to move
      compiler option tests from makefiles to Kconfig. Finally, here it is.
    
      The implementation has been generalized into a Make-like macro
      language.
    
      Some built-in functions such as 'shell' are provided. Variables and
      user-defined functions are also supported so that 'cc-option',
      'ld-option', etc. are implemented as macros.
    
      Summary:
    
       - refactor package checks for building {m,n,q,g}conf
    
       - remove unused/unmaintained localization support
    
       - remove Kbuild cache
    
       - drop CONFIG_CROSS_COMPILE support
    
       - replace 'option env=' with direct variable expansion
    
       - add built-in functions such as 'shell'
    
       - support variables and user-defined functions
    
       - add helper macros as as 'cc-option'
    
       - add unit tests and a document of the new macro language
    
       - add 'testconfig' to help
    
       - fix warnings from GCC 8.1"
    
    * tag 'kconfig-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
      kconfig: Avoid format overflow warning from GCC 8.1
      kbuild: Move last word of nconfig help to the previous line
      kconfig: Add testconfig into make help output
      kconfig: add basic helper macros to scripts/Kconfig.include
      kconfig: show compiler version text in the top comment
      kconfig: test: add Kconfig macro language tests
      Documentation: kconfig: document a new Kconfig macro language
      kconfig: error out if a recursive variable references itself
      kconfig: add 'filename' and 'lineno' built-in variables
      kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
      kconfig: expand lefthand side of assignment statement
      kconfig: support append assignment operator
      kconfig: support simply expanded variable
      kconfig: support user-defined function and recursively expanded variable
      kconfig: begin PARAM state only when seeing a command keyword
      kconfig: replace $(UNAME_RELEASE) with function call
      kconfig: add 'shell' built-in function
      kconfig: add built-in function support
      kconfig: make default prompt of mainmenu less specific
      kconfig: remove sym_expand_string_value()
      ...
    0ad39cb3
Kconfig 60.6 KB