Go to file
Thomas Petazzoni 3e1b33a534 pkg-generic: improve incorrectly used package detection
Currently, the check that packages we build are indeed enabled is done
at the time a package is configured.

This can come quite late in the build process, and does not provide
direct knowledge of the real culprit for the incorrect dependency.

However, we can improve these two issues quite easily, albeit at the
expense of a very slightly more complicated make code.

First, the check can not be done at the time we define the package, i.e.
in the inner-generic-pacakge, because all its dependencies might have
not been parsed yet, so we can't yet know whether it is enabled or not
(because we can't match the package name of the dependency to its
Kconfig variable yet).

But then, we know we have all packages definitions after we scanned the
the bundled packages, kernel, bootloaders and toolchains, as well as the
br2-external tree (if any).

So, at this location, we iterate through the list of enabled packages,
and check that the packages they each depend on are indeed enabled.

This allows us to:
 1- do the check very early, before any build action,
 2- report on the exact offending package very easily.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-03 22:09:17 +01:00
arch arch/arm: add help text to BR2_ARM_ENABLE_VFP 2015-12-27 12:22:43 +01:00
board configs/raspberrypi*: update them to use genimage 2015-12-31 15:22:48 +01:00
boot uboot: add COPY_OLD_LICENSE_FILE fix to rsync hook 2015-12-29 12:24:19 +01:00
configs configs: orangepipc defconfig needs dtc for u-boot 2015-12-31 15:28:15 +01:00
docs Config.in: add symbols for BR2_HOST_GCC_AT_LEAST_X_Y 2015-12-31 10:32:10 +01:00
fs fs/ext2: add options for extra space and extra inodes 2015-10-31 15:56:56 +01:00
linux linux: add blind kconfig option to require kernel modules 2015-12-29 23:50:11 +01:00
package pkg-generic: improve incorrectly used package detection 2016-01-03 22:09:17 +01:00
support support/download: generate reproducible Bazaar archives 2016-01-03 21:51:50 +01:00
system Makefile: drop ldconfig handling 2016-01-03 21:46:07 +01:00
toolchain toolchain-external: CodeSourcery PowerPC: Revert the removal of CS PowerPC 2011.03 2015-12-30 22:25:50 +01:00
.defconfig arch: kill avr32 2015-02-14 17:39:50 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
CHANGES Update for 2015.11 2015-11-30 23:13:41 +01:00
Config.in Config.in: add symbols for BR2_HOST_GCC_AT_LEAST_X_Y 2015-12-31 10:32:10 +01:00
Config.in.legacy python-pyxml: remove obsolete package 2016-01-01 21:07:07 +01:00
COPYING clarify license and fix website license link 2009-05-08 09:29:41 +02:00
Makefile pkg-generic: improve incorrectly used package detection 2016-01-03 22:09:17 +01:00
Makefile.legacy Makefile.legacy: fix recursive invocation with BUILDROOT_DL_DIR and _CONFIG 2014-02-11 08:14:57 +01:00
README README: mention 'make list-defconfigs' 2015-04-04 15:19:43 +02: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.