path: root/support
diff options
authorGravatar Yann E. MORIN <yann.morin.1998@free.fr>2019-07-29 22:20:00 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-08-04 00:13:37 +0200
commitfa037acee09f8c74be2f4eb047a1ac1ea7f677f0 (patch)
tree27ec385526b3314e1e4856754ee87c1bba26b218 /support
parentedf32b021cd6f2a539423c8965981b17aa5025f6 (diff)
core: allow br2-external trees to provide pre-configured toolchains
Since we have a choice for the pre-configured pre-built toolchains, there is no possbility for a br2-external to provide its own. The only solution so far for defconfigs in br2-external trees is to use BR2_TOOLCHAIN_EXTERNAL_CUSTOM and define all the bits by itself... This is not so convemient, so offer a way for br2-external trees to provide such pre-configured toolchains. To allow for this, we now scan each br2-external tree and look for a specific file, provides.toolchains.in. We generate a kconfig file that sources each such file, and that generated file is sourced from within the toolchain choice, thus making the toolchains from a br2-external tree possible and available in the same location as the ones known to Buildroot: Toolchain ---> Toolchain type (External toolchain) ---> Toolchain ---> (X) Arm ARM 2019.03 ( ) Linaro ARM 2018.05 ( ) Custom toolchain *** Toolchains from my-br2-ext-tree: *** ( ) My custom ARM toolchain *** Toolchains from another-br2-ext-tree: *** ( ) Another custom ARM toolchain ( ) A third custom ARM toolchain Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Vadim Kochan <vadim4j@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'support')
1 files changed, 9 insertions, 0 deletions
diff --git a/support/scripts/br2-external b/support/scripts/br2-external
index da315d5c1d..b08b77bd33 100755
--- a/support/scripts/br2-external
+++ b/support/scripts/br2-external
@@ -157,6 +157,7 @@ do_kconfig() {
+ toolchains
for br2 in "${items[@]}"; do
@@ -196,6 +197,14 @@ do_kconfig() {
printf '\n'
} >>"${outputdir}/.br2-external.in.menus"
+ if [ -f "${br2_ext}/provides/toolchains.in" ]; then
+ printf 'comment "Toolchains from: %s"\n' "${br2_desc}"
+ printf 'source "%s/provides/toolchains.in"\n' "${br2_ext}"
+ printf '\n'
+ else
+ printf '# No toolchain from: %s\n\n' "${br2_desc}"
+ fi >>"${outputdir}/.br2-external.in.toolchains"
printf 'endmenu\n' >>"${outputdir}/.br2-external.in.menus"