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>
This commit is contained in:
parent
edf32b021c
commit
fa037acee0
@ -157,6 +157,7 @@ do_kconfig() {
|
||||
items=(
|
||||
paths
|
||||
menus
|
||||
toolchains
|
||||
)
|
||||
|
||||
for br2 in "${items[@]}"; do
|
||||
@ -196,6 +197,14 @@ do_kconfig() {
|
||||
fi
|
||||
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"
|
||||
done
|
||||
|
||||
printf 'endmenu\n' >>"${outputdir}/.br2-external.in.menus"
|
||||
|
@ -47,9 +47,12 @@ source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Confi
|
||||
|
||||
# Kept last, so it remains the non-default choice, unless there isn't
|
||||
# any available toolchain profile for the currently selected
|
||||
# architecture.
|
||||
# architecture, but before toolchains from br2-external trees.
|
||||
source "toolchain/toolchain-external/toolchain-external-custom/Config.in"
|
||||
|
||||
# Toolchains from br2-external trees, if any
|
||||
source "$BR2_BASE_DIR/.br2-external.in.toolchains"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
|
Loading…
Reference in New Issue
Block a user