Fixes: #69548 Support extending an existing board with new board variants. This commit introduces the following changes to allow a board to be extended out-of-tree. The board yaml schema is extended to support an extend field which will be used to identify the board to be extended. A board 'plank' can be extended like this: > board: > extend: plank > variants: > - name: ext > qualifier: soc1 For the rest of the build system this means that there is no longer a single board directory. The existing CMake variable BOARD_DIR is kept and reference the directory which defines the board. A new CMake variable BOARD_DIRECTORIES provides a list of all directories which defines board targets for the board. This means the directory which defines the board as well as all directories that extends the board. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
52 lines
1021 B
Plaintext
52 lines
1021 B
Plaintext
# Copyright (c) 2021 Nordic Semiconductor
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
rsource "Kconfig.$(HWM_SCHEME)"
|
|
|
|
comment "Sysbuild image configuration"
|
|
|
|
osource "$(KCONFIG_BOARD_DIR)/Kconfig.sysbuild"
|
|
osource "$(KCONFIG_BINARY_DIR)/soc/Kconfig.sysbuild"
|
|
|
|
menu "Modules"
|
|
|
|
source "modules/Kconfig.sysbuild"
|
|
|
|
endmenu
|
|
|
|
config EXPERIMENTAL
|
|
bool
|
|
help
|
|
Symbol that must be selected by a feature if it is considered to be
|
|
at an experimental implementation stage.
|
|
|
|
config WARN_EXPERIMENTAL
|
|
bool
|
|
prompt "Warn on experimental usage"
|
|
help
|
|
Print a warning when the Kconfig tree is parsed if any experimental
|
|
features are enabled.
|
|
|
|
config DEPRECATED
|
|
bool
|
|
help
|
|
Symbol that must be selected by a feature or module if it is
|
|
considered to be deprecated.
|
|
|
|
config WARN_DEPRECATED
|
|
bool
|
|
default y
|
|
prompt "Warn on deprecated usage"
|
|
help
|
|
Print a warning when the Kconfig tree is parsed if any deprecated
|
|
features are enabled.
|
|
|
|
rsource "images/Kconfig"
|
|
|
|
menu "Build options"
|
|
|
|
rsource "build/Kconfig"
|
|
|
|
endmenu
|