Go to file
Yann E. MORIN 21e69972bf package/pkg-utils.mk: kconfig mangling defaults to current package's .config
The kconfig mangling macros currently operate on the caller-supplied
.config file, on the assumption that the caller will always know what
file to mangle.

This was correct so far, as packages would indeed only mangle their
own .config files.

However, the Linux kernel does its mangling based on whether some
other packages are enabled or not. That list of conditional mangling
is getting bigger and bigger with each new package that needs such
mangling, culminating with the pending firewalld one [0]. Furthermore,
this mangling is not accessible to packages in br2-external trees. So
we'll want to have packages provide the mangling commands.

So we'll want the mangling to be done on the Linux' .config file in
the expanding package context, not in the package calling the macros.

But packages do not, and should not have knowledge about where the
.config file is, nor how it is named.

So we make the parameter to specify the .config file to mangle
optional.  If it is set, this is what the macros will mangle; if it is
not set, the expanding package's .config file will be used.

This has the added benefit that we do not have to repeat in the
expanding package context the knowledge of how the .config file is
named:

    FOO_KCONFIG_DOTCONFIG = .config
    define FOO_KCONFIG_FIXUPS_CMDS
        $(call KCONFIG_ENABLE_OPT,BLA)
    endef

[0] http://lists.busybox.net/pipermail/buildroot/2020-March/278683.html

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-05-01 15:50:27 +02:00
arch arch/arc: explicitly set "max-page-size" for GNU LD 2019-12-25 22:09:52 +01:00
board board/hardkernel/odroidc2: remove unused files 2020-04-29 23:23:13 +02:00
boot boot/uboot: bump to version 2020.04 2020-04-13 21:55:59 +02:00
configs configs/qemu_sh4{, eb}-r2d: remove kernel patch "restore the old sh-sci driver behaviour" 2020-04-27 22:26:40 +02:00
docs docs: adding-packages-python: don't mention distutilscross 2020-04-28 19:17:54 +02:00
fs fs/cpio: make initramfs init script survive 'console=' kernel argument 2020-04-25 14:06:34 +02:00
linux {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 5, 6}.x series 2020-04-23 21:42:27 +02:00
package package/pkg-utils.mk: kconfig mangling defaults to current package's .config 2020-05-01 15:50:27 +02:00
support support/testing: test_lua_utf8: fix test after bump to lua-utf8 0.1.2 2020-04-27 22:03:21 +02:00
system package/systemd: make sure init choice and package have same dependencies 2020-04-05 20:33:36 +02:00
toolchain toolchain/toolchain-external: install ldd on the target 2020-04-27 22:55:19 +02:00
utils utils/scancpan: use two spaces indentation in hash file 2020-03-15 23:17:46 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: fix check for 80/132 columns 2019-04-10 12:31:33 +02:00
.gitignore
.gitlab-ci.yml configs/zynq_qmtech: new defconfig 2020-04-19 21:43:35 +02:00
.gitlab-ci.yml.in gitlab.yml.in*: enable Qemu gitlab testing 2020-04-13 21:51:13 +02:00
CHANGES Update for 2020.02.1 2020-04-11 08:43:29 +02:00
Config.in Config.in: drop BR2_NEEDS_HOST_{JAVAC,JAR} 2020-03-03 23:55:48 +01:00
Config.in.legacy package/python-pyasn: remove duplicate package 2020-04-20 07:44:45 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS package/matio: new package 2020-04-28 21:11:50 +02:00
Makefile Makefile: assemble package file lists before calling post-build scripts 2020-03-20 22:17:28 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches