- 17 7月, 2019 1 次提交
-
-
由 Masahiro Yamada 提交于
'make olddefconfig' is non-interactive, so we can drop 'yes'. The behavior is equivalent. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 09 6月, 2019 2 次提交
-
-
由 Masahiro Yamada 提交于
Until recently, if KBUILD_DEFCONFIG was not set by the arch Makefile, the default path arch/*/defconfig was used. The last users of the default are gone by the following commits: - Commit f3e20ad6 ("s390: move arch/s390/defconfig to arch/s390/configs/defconfig") - Commit 986a1376 ("alpha: move arch/alpha/defconfig to arch/alpha/configs/defconfig") Let's set arch/*/configs/defconfig as a new default. This saves KBUILD_DEFCONFIG for some architectures. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
-
由 Masahiro Yamada 提交于
With the following two commits applied, all the arch Makefiles define KBUILD_DEFCONFIG. - Commit f3e20ad6 ("s390: move arch/s390/defconfig to arch/s390/configs/defconfig") - Commit 986a1376 ("alpha: move arch/alpha/defconfig to arch/alpha/configs/defconfig") The first conditional in the defconfig rule is always false. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 19 5月, 2019 1 次提交
-
-
由 Masahiro Yamada 提交于
'ifeq ... else ifneq ... endif' notation is supported by GNU Make 3.81 or later, which is the requirement for building the kernel since commit 37d69ee3 ("docs: bump minimal GNU Make version to 3.81"). Use it to improve the readability. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 18 5月, 2019 1 次提交
-
-
由 Masahiro Yamada 提交于
Currently, the Kbuild core manipulates header search paths in a crazy way [1]. To fix this mess, I want all Makefiles to add explicit $(srctree)/ to the search paths in the srctree. Some Makefiles are already written in that way, but not all. The goal of this work is to make the notation consistent, and finally get rid of the gross hacks. Having whitespaces after -I does not matter since commit 48f6e3cf ("kbuild: do not drop -I without parameter"). [1]: https://patchwork.kernel.org/patch/9632347/Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 13 2月, 2019 2 次提交
-
-
由 Masahiro Yamada 提交于
Use a more logical name. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
Use a more logical name. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 14 1月, 2019 1 次提交
-
-
由 Masahiro Yamada 提交于
I accidentally dropped '*' in the previous renaming patch. Revive it so that 'make mrproper' can clean the generated files. Fixes: d86271af ("kconfig: rename generated .*conf-cfg to *conf-cfg") Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 06 1月, 2019 2 次提交
-
-
由 Masahiro Yamada 提交于
Remove the dot-prefixing since it is just a matter of the .gitignore file. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
You do not have to use define ... endef for filechk_* rules. For simple cases, the use of assignment looks cleaner, IMHO. I updated the usage for scripts/Kbuild.include in case somebody misunderstands the 'define ... endif' is the requirement. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
-
- 28 12月, 2018 3 次提交
-
-
由 Masahiro Yamada 提交于
Currently, images.c is included by qconf.cc and gconf.c. qconf.cc uses all of xpm_* arrays, but gconf.c only some of them. Hence, lots of "... defined but not used" warnings are displayed while compiling gconf.c Splitting out images.c fixes the warnings. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
Compile zconf.lex.c independently of the other files. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
I want to compile each C file independently instead of including all of them from zconf.y. Split out confdata.c, expr.c, symbol.c, and preprocess.c . These are low-hanging fruits. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 01 11月, 2018 2 次提交
-
-
由 Masahiro Yamada 提交于
As commit 911a91c3 ("kconfig: rename silentoldconfig to syncconfig") announced, it is time for the removal. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
-
由 Masahiro Yamada 提交于
As commit 312ee687 ("kconfig: announce removal of oldnoconfig if used") announced, it is time for the removal. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 03 9月, 2018 1 次提交
-
-
由 Masahiro Yamada 提交于
Meelis Roos reported a {menu,n}config regression: "I have libncurses devel package installed in the default system location (as do 99%+ on actual developers probably) and in this case, pkg-config is useless. pkg-config is needed only when libraries and headers are installed in non-default locations but it is bad to require installation of pkg-config on all the machines where make menuconfig would be possibly run." For {menu,n}config, do not use pkg-config if it is not installed. For {g,x}config, keep checking pkg-config since we really rely on it for finding the installation paths of the required packages. Fixes: 4ab3b801 ("kconfig: check for pkg-config on make {menu,n,g,x}config") Reported-by: NMeelis Roos <mroos@linux.ee> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Tested-by: NMeelis Roos <mroos@linux.ee> Tested-by: NRandy Dunlap <rdunlap@infradead.org>
-
- 22 8月, 2018 2 次提交
-
-
由 Masahiro Yamada 提交于
If you run "make menuconfig" or "make nconfig" with -j<N> option in a fresh source tree, you will see several "Can't open ..." messages: $ make -j8 menuconfig HOSTCC scripts/basic/fixdep YACC scripts/kconfig/zconf.tab.c LEX scripts/kconfig/zconf.lex.c /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: HOSTCC scripts/kconfig/lxdialog/checklist.o Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg HOSTCC scripts/kconfig/lxdialog/inputbox.o /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg UPD scripts/kconfig/.mconf-cfg /bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/textbox.o HOSTCC scripts/kconfig/lxdialog/util.o HOSTCC scripts/kconfig/lxdialog/yesno.o HOSTCC scripts/kconfig/mconf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/mconf Correct dependencies to fix this problem. Fixes: 1c5af5cf ("kconfig: refactor ncurses package checks for building mconf and nconf") Cc: linux-stable <stable@vger.kernel.org> # v4.18 Reported-by: NBorislav Petkov <bp@suse.de> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Tested-by: NBorislav Petkov <bp@suse.de>
-
由 Randy Dunlap 提交于
Add build-only targets for build_menuconfig, build_nconfig, build_xconfig, and build_gconfig. (targets must end in "config" to qualify in top-level Makefile) This allows these target to be built without execution (e.g., to look for errors or warnings) and/or to be built and checked by sparse. Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 25 7月, 2018 2 次提交
-
-
由 Masahiro Yamada 提交于
'make syncconfig' creates some files such as include/config/auto.conf, include/generate/autoconf.h, etc. but the necessary directory creation relies on scripts/kconfig/Makefile. To make Kconfig self-contained, create directories as needed in conf_write_autoconf(). This change allows scripts/kconfig/Makefile cleanups; syncconfig can be merged into simple-targets. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
Commit 17263baf ("kconfig: Create include/generated for localmodconfig") added the 'mkdir' line because local{yes,mod}config ran streamline_config.pl followed by silentoldconfig at that time. Since commit 81d2bc22 ("kconfig: invoke oldconfig instead of silentoldconfig from local*config"), no sub-directory is required. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 18 7月, 2018 2 次提交
-
-
由 Randy Dunlap 提交于
Each of 'make {menu,n,g,x}config' uses (needs) pkg-config to make sure that other required files are present and to determine build flags settings, but none of these check that pkg-config itself is present. Add a check for all 4 of these targets and update Documentation/process/changes.rst to mention 'pkg-config'. Fixes kernel bugzilla #77511: https://bugzilla.kernel.org/show_bug.cgi?id=77511Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Cc: Bjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Laura Abbott 提交于
In preparation for enabling command line LDLIBS, re-name HOST_LOADLIBES to KBUILD_HOSTLDLIBS as the internal use only flags. Also rename existing usage to HOSTLDLIBS for consistency. This should not have any visible effects. Signed-off-by: NLaura Abbott <labbott@redhat.com> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 05 6月, 2018 2 次提交
-
-
由 Petr Vorel 提交于
Signed-off-by: NPetr Vorel <pvorel@suse.cz> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Petr Vorel 提交于
Signed-off-by: NPetr Vorel <pvorel@suse.cz> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 28 5月, 2018 4 次提交
-
-
由 Sam Ravnborg 提交于
The localization support is broken and appears unused. There is no google hits on the update-po-config target. And there is no recent (5 years) activity related to the localization. So lets just drop this as it is no longer used. Suggested-by: NUlf Magnusson <ulfalizer@gmail.com> Suggested-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
The mconf (or its infrastructure, lxdiaglog) depends on the ncurses. Move and rename check-lxdialog.sh to mconf-cfg.sh to make it work in the same way as for qconf and gconf. This commit fixes some more weirdnesses. The nconf also needs ncurses packages. HOSTLOADLIBES_nconf is set to the libraries needed for nconf, but the cflags is not explicitly set. Actually, nconf relies on the check-lxdialog.sh for the proper cflags: HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \ -DLOCALE The code above passes the ncurses flags to all objects, even for conf, qconf, gconf. Let's pass the ncurses flags only to mconf and nconf. Currently, the presence of ncurses is not checked for nconf. Let's show a prompt like the mconf case. According to Randy's report, the shell scripts still need to carry the fallback code in case the pkg-config fails to find the ncurses packages. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Tested-by: NRandy Dunlap <rdunlap@infradead.org> Acked-by: NRandy Dunlap <rdunlap@infradead.org> Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
-
由 Masahiro Yamada 提交于
Refactor the package checks for gconf in the same way as for qconf. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Tested-by: NRandy Dunlap <rdunlap@infradead.org> Acked-by: NRandy Dunlap <rdunlap@infradead.org> Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
-
由 Masahiro Yamada 提交于
Currently, the necessary package checks for building qconf is surrounded by ifeq ($(MAKECMDGOALS),xconfig) ... endif. Then, Make will restart when .tmp_qtcheck is generated. To simplify the Makefile, move the scripting to a separate file, and use filechk. The shell script is executed everytime xconfig is run, but it is not a costly script. In the old code, 'pkg-config --exists' only checked Qt5Core / QtCore, but the set of necessary packages should be checked. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Tested-by: NRandy Dunlap <rdunlap@infradead.org> Acked-by: NRandy Dunlap <rdunlap@infradead.org> Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
-
- 07 4月, 2018 2 次提交
-
-
由 Masahiro Yamada 提交于
Files generated by if_changed* must be added to 'targets' to include *.cmd files. Otherwise, they would be regenerated every time. The build system automatically adds objects to 'targets' where appropriate, such as obj-y, extra-y, etc. but does nothing for intermediate files. So, each Makefile needs to add them by itself. There are some common cases where objects are generated by chained rules. Lexers and parsers are compiled like follows: %.lex.o <- %.lex.c <- %.l %.tab.o <- %.tab.c <- %.y They are common patterns, so it is reasonable to take care of them in the core Makefile instead of requiring each Makefile to do so. At this moment, you cannot delete 'target += zconf.lex.c' in the Kconfig Makefile because zconf.lex.c is included from zconf.tab.c instead of being compiled separately. It should be deleted after Kconfig is more refactored. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NFrank Rowand <frowand.list@gmail.com>
-
由 Masahiro Yamada 提交于
Files suffixed by .lex.c, .tab.[ch] are generated lexers, parsers, respectively. Clean them up globally from the top Makefile. Some of the final host programs those lexer/parser are linked into are necessary for building external modules, but the intermediates are unneeded. They can be cleaned away by 'make clean' instead of 'make mrproper'. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NFrank Rowand <frowand.list@gmail.com>
-
- 26 3月, 2018 5 次提交
-
-
由 Masahiro Yamada 提交于
Many parts in Kconfig are so cryptic and need refactoring. However, its complexity prevents us from moving forward. There are several naive corner cases where it is difficult to notice breakage. If those are covered by unit tests, we will be able to touch the code with more confidence. Here is a simple test framework based on pytest. The conftest.py provides a fixture useful to run commands such as 'oldaskconfig' etc. and to compare the resulted .config, stdout, stderr with expectations. How to add test cases? ---------------------- For each test case, you should create a subdirectory under scripts/kconfig/tests/ (so test cases are separated from each other). Every test case directory should contain the following files: - __init__.py: describes test functions - Kconfig: the top level Kconfig file for the test To do a useful job, test cases generally need additional data like input .config and information about expected results. How to run tests? ----------------- You need python3 and pytest. Then, run "make testconfig". O= option is supported. If V=1 is given, detailed logs captured during tests are displayed. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
-
由 Ulf Magnusson 提交于
The local{yes,mod}config targets currently have streamline_config.pl as a prerequisite. This is redundant, because streamline_config.pl is a checked-in file with no prerequisites. Remove the prerequisite and reference streamline_config.pl directly in the recipe of the rule instead. Signed-off-by: NUlf Magnusson <ulfalizer@gmail.com> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
由 Masahiro Yamada 提交于
As commit cedd55d4 ("kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help") mentioned, 'silentoldconfig' is a historical misnomer. That commit removed it from help and docs since it is an internal interface. If so, it should be allowed to rename it to something more intuitive. 'syncconfig' is the one I came up with because it updates the .config if necessary, then synchronize include/generated/autoconf.h and include/config/* with it. You should not manually invoke 'silentoldcofig'. Display warning if used in case existing scripts are doing wrong. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
-
由 Masahiro Yamada 提交于
The purpose of local{yes,mod}config is to arrange the .config file based on actually loaded modules. It is unnecessary to update include/generated/autoconf.h and include/config/* stuff here. They will be updated as needed during the build. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
-
由 Masahiro Yamada 提交于
Commit d3fc425e ("kbuild: make sure autoksyms.h exists early") moved the code that touches autoksyms.h to scripts/kconfig/Makefile with obscure reason. From Nicolas' comment [1], he did not seem to be sure about the root cause. I guess I figured it out, so here is a fix-up I think is more correct. According to the error log in the original post [2], the build failed in scripts/mod/devicetable-offsets.c scripts/mod/Makefile is descended from scripts/Makefile, which is invoked from the top-level Makefile by the 'scripts' target. To build vmlinux and/or modules, Kbuild descend into $(vmlinux-dirs). This depends on 'prepare' and 'scripts' as follows: $(vmlinux-dirs): prepare scripts Because there is no dependency between 'prepare' and 'scripts', the parallel building can execute them simultaneously. 'prepare' depends on 'prepare1', which touched autoksyms.h, while 'scripts' descends into script/, then scripts/mod/, which needs <generated/autoksyms.h> if CONFIG_TRIM_UNUSED_KSYMS. It was the reason of the race. I am not happy to have unrelated code in the Kconfig Makefile, so getting it back to the top Makefile. I removed the standalone test target because I want to use it to create an empty autoksyms.h file. Here is a little improvement; unnecessary autoksyms.h is not created when CONFIG_TRIM_UNUSED_KSYMS is disabled. [1] https://lkml.org/lkml/2016/11/30/734 [2] https://lkml.org/lkml/2016/11/30/531Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NNicolas Pitre <nico@linaro.org>
-
- 28 1月, 2018 1 次提交
-
-
由 Marc Herbert 提交于
As explained by Michal Marek at https://lkml.org/lkml/2011/8/31/189 silentoldconfig has become a misnomer. It has become an internal interface so remove it from "make help" and Documentation/ to stop confusing people using it as seen for instance at https://chromium-review.googlesource.com/835632 Don't remove it from kconfig/Makefile yet not to break any (other) tool using it. On the other hand, correct and expand its description in the help of the (internal) scripts/kconfig/conf.c Signed-off-by: NMarc Herbert <marc.herbert@intel.com> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 25 1月, 2018 1 次提交
-
-
由 Masahiro Yamada 提交于
The 'oldnoconfig' is really confusing due to its counter-intuitive name. It was renamed by commit fb16d891 ("kconfig: replace 'oldnoconfig' with 'olddefconfig', and keep the old name as an alias"). The 'oldnoconfig' has been kept as an alias for enough period of time, and finally I am planning to remove it. I will give people a little more time for migration. Meanwhile, the following message will be displayed if oldnoconfig is used. WARNING: "oldnoconfig" target will be removed after Linux 4.19 Please use "olddefconfig" instead, which is an alias. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
-
- 22 1月, 2018 1 次提交
-
-
由 Yaakov Selkowitz 提交于
The C-based config programs are properly guarded from a missing (or, currently, external) libintl.h by the HOST_EXTRACFLAGS check, but this does not help the C++-based qconf. Signed-off-by: NYaakov Selkowitz <yselkowi@redhat.com> Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-
- 21 1月, 2018 1 次提交
-
-
由 Masahiro Yamada 提交于
Flex and Bison provide an option to change the prefix of globally- visible symbols. This is useful to link multiple lexers and/or parsers into the same executable. However, Kconfig (and any other host programs in kernel) uses a single lexer and parser. I do not see a good reason to change the default 'yy' prefix. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
-
- 16 12月, 2017 1 次提交
-
-
由 Masahiro Yamada 提交于
zconf.lex.c is generated by flex, zconf.tab.c by bison. Instead of running flex and bison during the kernel building, we conventionally version-control those artifacts with _shipped suffix. It is tedious to manually regenerate them every time we change the real sources, zconf.l and zconf.y. Remove the _shipped files and switch over to build-time generation of the intermediate C files. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
-