[GIT PULL 2/2] Kconfig updates for v4.18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Please pull Kconfig updates for v4.18

(The follow-up cleanup works are not included in this PR.
I will send them later on because I need to wait for
some prerequisite patches from the PowerPC subsystem.)


You will see a conflict in the top-level Makefile.
It should be resolved as follows:
(The correct fix is also available in linux-next)

------------------------------------------
diff --cc Makefile
index 0d5cdaa,defb383..bbc979a
--- a/Makefile
+++ b/Makefile
@@@ -807,7 -806,8 +806,7 @@@ KBUILD_CFLAGS_KERNEL       += $(call cc-optio
  endif

  # arch Makefile may override CC so keep this after arch Makefile is included
- NOSTDINC_FLAGS += -nostdinc -isystem $(call shell-cached,$(CC)
-print-file-name=include)
+ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 -CHECKFLAGS     += $(NOSTDINC_FLAGS)

  # warn about C99 declaration after statement
  KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
-------------------------------------------




The following changes since commit b04e217704b7f879c6b91222b066983a44a7a09f:

  Linux 4.17-rc7 (2018-05-27 13:01:47 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
tags/kconfig-v4.18

for you to fetch changes up to 2ae89c7a82ea9d81a19b4fc2df23bef4b112f24e:

  kconfig: Avoid format overflow warning from GCC 8.1 (2018-06-05
22:07:21 +0900)

----------------------------------------------------------------
Kconfig updates for v4.18

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

----------------------------------------------------------------
Masahiro Yamada (26):
      kbuild: do not display CHK for filechk
      kconfig: refactor Qt package checks for building qconf
      kconfig: refactor GTK+ package checks for building gconf
      kconfig: refactor ncurses package checks for building mconf and nconf
      kbuild: remove kbuild cache
      kbuild: remove CONFIG_CROSS_COMPILE support
      kconfig: reference environment variables directly and remove 'option env='
      kconfig: remove string expansion in file_lookup()
      kconfig: remove string expansion for mainmenu after yyparse()
      kconfig: remove sym_expand_string_value()
      kconfig: make default prompt of mainmenu less specific
      kconfig: add built-in function support
      kconfig: add 'shell' built-in function
      kconfig: replace $(UNAME_RELEASE) with function call
      kconfig: begin PARAM state only when seeing a command keyword
      kconfig: support user-defined function and recursively expanded variable
      kconfig: support simply expanded variable
      kconfig: support append assignment operator
      kconfig: expand lefthand side of assignment statement
      kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
      kconfig: add 'filename' and 'lineno' built-in variables
      kconfig: error out if a recursive variable references itself
      Documentation: kconfig: document a new Kconfig macro language
      kconfig: test: add Kconfig macro language tests
      kconfig: show compiler version text in the top comment
      kconfig: add basic helper macros to scripts/Kconfig.include

Nathan Chancellor (1):
      kconfig: Avoid format overflow warning from GCC 8.1

Petr Vorel (2):
      kconfig: Add testconfig into make help output
      kbuild: Move last word of nconfig help to the previous line

Sam Ravnborg (1):
      kconfig: drop localization support

 Documentation/kbuild/kconfig-language.txt             |   8 -
 Documentation/kbuild/kconfig-macro-language.txt       | 242 +++++++++
 Kconfig                                               |  10 +-
 MAINTAINERS                                           |   3 +-
 Makefile                                              |  10 +-
 arch/sh/Kconfig                                       |   4 +-
 arch/sparc/Kconfig                                    |   4 +-
 arch/um/Kconfig.common                                |   4 -
 arch/x86/Kconfig                                      |   4 +-
 arch/x86/um/Kconfig                                   |  10 +-
 init/Kconfig                                          |  25 +-
 scripts/Kbuild.include                                | 102 +---
 scripts/Kconfig.include                               |  27 +
 scripts/kconfig/.gitignore                            |   4 -
 scripts/kconfig/Makefile                              | 194 ++------
 scripts/kconfig/POTFILES.in                           |  12 -
 scripts/kconfig/check.sh                              |  14 -
 scripts/kconfig/conf.c                                |  51 +-
 scripts/kconfig/confdata.c                            |  39 +-
 scripts/kconfig/gconf-cfg.sh                          |  23 +
 scripts/kconfig/gconf.c                               |  46 +-
 scripts/kconfig/kconf_id.c                            |   1 -
 scripts/kconfig/kxgettext.c                           | 235 ---------
 scripts/kconfig/lkc.h                                 |  19 +-
 scripts/kconfig/lkc_proto.h                           |  15 +-
 scripts/kconfig/lxdialog/check-lxdialog.sh            |  93 ----
 scripts/kconfig/lxdialog/checklist.c                  |   4 +-
 scripts/kconfig/lxdialog/dialog.h                     |   8 +-
 scripts/kconfig/lxdialog/inputbox.c                   |   4 +-
 scripts/kconfig/lxdialog/menubox.c                    |  10 +-
 scripts/kconfig/lxdialog/textbox.c                    |   2 +-
 scripts/kconfig/lxdialog/yesno.c                      |   4 +-
 scripts/kconfig/mconf-cfg.sh                          |  44 ++
 scripts/kconfig/mconf.c                               | 141 +++---
 scripts/kconfig/menu.c                                |  23 +-
 scripts/kconfig/nconf-cfg.sh                          |  44 ++
 scripts/kconfig/nconf.c                               | 148 +++---
 scripts/kconfig/nconf.h                               |   1 -
 scripts/kconfig/preprocess.c                          | 572
++++++++++++++++++++++
 scripts/kconfig/qconf-cfg.sh                          |  25 +
 scripts/kconfig/qconf.cc                              | 104 ++--
 scripts/kconfig/symbol.c                              | 109 -----
 .../tests/no_write_if_dep_unmet/expected_config       |   2 +-
 scripts/kconfig/tests/preprocess/builtin_func/Kconfig |  27 +
 .../kconfig/tests/preprocess/builtin_func/__init__.py |   9 +
 .../tests/preprocess/builtin_func/expected_stderr     |   5 +
 .../tests/preprocess/builtin_func/expected_stdout     |   1 +
 .../tests/preprocess/circular_expansion/Kconfig       |   5 +
 .../tests/preprocess/circular_expansion/__init__.py   |  11 +
 .../preprocess/circular_expansion/expected_stderr     |   1 +
 scripts/kconfig/tests/preprocess/escape/Kconfig       |  44 ++
 scripts/kconfig/tests/preprocess/escape/__init__.py   |   8 +
 .../kconfig/tests/preprocess/escape/expected_stderr   |  10 +
 scripts/kconfig/tests/preprocess/variable/Kconfig     |  53 ++
 scripts/kconfig/tests/preprocess/variable/__init__.py |   8 +
 .../kconfig/tests/preprocess/variable/expected_stderr |   9 +
 scripts/kconfig/util.c                                |  33 +-
 scripts/kconfig/zconf.l                               |  95 +++-
 scripts/kconfig/zconf.y                               |  46 +-
 59 files changed, 1666 insertions(+), 1143 deletions(-)
 create mode 100644 Documentation/kbuild/kconfig-macro-language.txt
 create mode 100644 scripts/Kconfig.include
 delete mode 100644 scripts/kconfig/POTFILES.in
 delete mode 100755 scripts/kconfig/check.sh
 create mode 100755 scripts/kconfig/gconf-cfg.sh
 delete mode 100644 scripts/kconfig/kxgettext.c
 delete mode 100755 scripts/kconfig/lxdialog/check-lxdialog.sh
 create mode 100755 scripts/kconfig/mconf-cfg.sh
 create mode 100644 scripts/kconfig/nconf-cfg.sh
 create mode 100644 scripts/kconfig/preprocess.c
 create mode 100755 scripts/kconfig/qconf-cfg.sh
 create mode 100644 scripts/kconfig/tests/preprocess/builtin_func/Kconfig
 create mode 100644 scripts/kconfig/tests/preprocess/builtin_func/__init__.py
 create mode 100644
scripts/kconfig/tests/preprocess/builtin_func/expected_stderr
 create mode 100644
scripts/kconfig/tests/preprocess/builtin_func/expected_stdout
 create mode 100644 scripts/kconfig/tests/preprocess/circular_expansion/Kconfig
 create mode 100644
scripts/kconfig/tests/preprocess/circular_expansion/__init__.py
 create mode 100644
scripts/kconfig/tests/preprocess/circular_expansion/expected_stderr
 create mode 100644 scripts/kconfig/tests/preprocess/escape/Kconfig
 create mode 100644 scripts/kconfig/tests/preprocess/escape/__init__.py
 create mode 100644 scripts/kconfig/tests/preprocess/escape/expected_stderr
 create mode 100644 scripts/kconfig/tests/preprocess/variable/Kconfig
 create mode 100644 scripts/kconfig/tests/preprocess/variable/__init__.py
 create mode 100644 scripts/kconfig/tests/preprocess/variable/expected_stderr


-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux