kumquat-buildroot/support/scripts
Yann E. MORIN 6bd19ccf0d core: offload handling of BR2_EXTERNAL into the script
Currently, we treat the case where we have no br2-external tree
(BR2_EXTERNAL is empty) differently from the case where we do have one
(BR2_EXTERNAL is not empty).

There is now no reason to treat those two cases differently:

  - the kconfig snippet is always generated appropriately (i.e. it would
    include the br2-external tree if set, or include nothing otherwise);

  - we no longer have a dummy br-external tree either.

Also, the Makefile code to handle BR2_EXTERNAL is currently quite
readable if at least a little bit tricky.

However, when we're going to add support for using multiple br2-external
trees simultaneously, this code would need to get much, much more complex.

To keep the Makefile (rather) simple, offload all of the handling of
BR2_EXTERNAL to the recently added br2-external helper script.

However, because of Makefiles idiosyncracies, we can't use a rule to
generate that Makefile fragment.

Instead, we use $(shell ...) to call the helper script, and include the
fragment twice: once before the $(shell ...) so we can grab a previously
defined BR2_EXTERNAL value, a second time to use the one passed on the
command line, if any.

Furthermore, we can't error out (e.g. on non-existent br2-external tree)
directly from the fragment or we'd get that error on subsequent calls,
with no chance to override it even from command line.

Instead, we use a variable in which we store the error, set it to empty
before the second inclusion, so that only the one newly generated, if
any, is taken into account.

Since we know the script will always be called from Makefile context
first, we know validation will occur in Makefile context first. So we
can assume that, if there is an error, it will be detected in Makefile
context. Consequently, if the script is called to generate the kconfig
fragment, validation has already occured, and there should be no error.
So we change the error function to generate Makefile code, so that
errors are caught as explained above.

Lastly, when the value of BR2_EXTERNAL changes, we want to 'forget'
about the previous value of the BR2_EXTERNAL_MK variable, especially in
the case where BR2_EXTERNAL is now set to empty, so that we do not try
to include it later. That's why we first generate empty version of
BR2_EXTERNAL_MK, and then assign it the new value, if any.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-16 13:01:02 +02:00
..
apply-patches.sh support/apply-patches: re-instate set -e 2016-07-06 14:47:30 +02:00
br2-external core: offload handling of BR2_EXTERNAL into the script 2016-10-16 13:01:02 +02:00
check-host-rpath support/scripts/check-host-rpath: also check HOST_DIR/{bin, sbin} 2016-04-21 22:17:36 +02:00
check-kernel-headers.sh check-kernel-headers: mktemp --tmpdir not available on RedHat RHEL5 2014-09-28 20:40:57 +02:00
eclipse-register-toolchain eclipse support: document script and add checks 2013-01-14 21:45:09 +01:00
expunge-gconv-modules Change /bin/bash shebangs into /usr/bin/env bash 2014-10-25 01:55:37 +02:00
get-developers support/scripts/get-developers: add new script 2016-09-21 09:02:13 +02:00
getdeveloperlib.py support/scripts/get-developers: add new script 2016-09-21 09:02:13 +02:00
graph-build-time support/scripts: fix graph-build-time help text 2016-05-24 23:26:25 +02:00
graph-depends support/scripts: fix graph-depends when run with python3 2016-04-18 11:34:33 +02:00
hardlink-or-copy support/scripts: add helper to hardlink-or-copy 2016-05-11 23:14:37 +02:00
mkmakefile Makefile: Remove 'quiet' variable 2015-10-29 00:04:05 +01:00
mkusers support/mkusers: allow comments in users tables 2015-10-18 17:52:21 +02:00
pkg-stats support: pkg-stats: add efl package in packages stats 2016-07-24 23:25:31 +02:00
pycompile.py python/python3: globalize *.pyc files compilation 2016-05-26 22:07:35 +02:00
scancpan scancpan: improve message when bad host perl version 2016-07-04 17:41:54 +02:00
scanpypi scanpypi: include LICENCE in the list of supported license files 2016-07-07 11:48:52 +02:00
setlocalversion setlocalversion: sync with Linux kernel version (2.6.34) 2013-09-04 11:58:12 +02:00
size-stats size-stats: fix bug when parsing file names with comma 2016-08-09 12:25:11 +02:00
size-stats-compare support/scripts: add size-stats-compare script 2016-02-07 15:52:25 +01:00
xorg-release trivial: fix typo 'informations' 2014-07-24 22:31:20 +02:00