Closed nspin closed 6 days ago
These options are useful in cases where the SDK is being built by a build system that doesn't have any use for artifacts other than those necessary for building a particular system.
Would this be solved once the SDK is released?
These options would still be useful for cases where projects build Microkit from source. One example that comes to mind is working off of HEAD rather than the latest release. Another example is hacking on Microkit itself.
Yep I agree I just meant if your specific use-case would still need these options.
I assume the use-case is for the Rust Microkit demos which I think should just be able to use a released version available for download but just want to check.
Yes, those demos will use the binary release.
Can you change —only-board to something like —boards and make it take a comma separated list of boards that are built, same thing for the config?
This has been pretty useful for me in the past and is something I have in my fork.
I changed it to take multiple --board
and --config
arguments. When absent, the default is all. How is that?
I changed it to take multiple
--board
and--config
arguments. When absent, the default is all. How is that?
It's fairly common for me to specify multiple boards when developing so would still prefer the comma separated list.
Something like:
if args.boards:
board_names = args.boards.split(",")
supported_board_names = [board.name for board in SUPPORTED_BOARDS]
# Check that we are filtering boards that actually are supported
for board in board_names:
if board not in supported_board_names:
raise Exception(f"Trying to build a board: {board} that does not exist in supported list.")
selected_boards = board_names
else:
selected_boards = SUPPORTED_BOARDS
The PR as is allows one to specify --board
and --config
multiple times to select multiple boards or configs. For example:
microkit --board imx8mm_evk --board qemu_virt_aarch64 --config release --config debug
Would you prefer --boards BOARD1,BOARD2
or --board BOARD1 --board BOARD2
?
I'll add the existence check.
Would you prefer --boards BOARD1,BOARD2 or --board BOARD1 --board BOARD2?
Sorry that's what I was trying to say in my previous comment. Doing --boards BOARD1,BOARD2
saves me some typing when targeting more than one board, that's all.
I've made both of those changes.
Cool, thanks!
This PR adds four new options to the
build_sdk.py
CLI:--only-board <board>
: only artifacts for<board>
will be built--only-config <config>
: only artifacts for<config>
(either"debug"
or"release"
) will be built--skip-docs
: docs will not be built--skip-source-tarball
: source tarball will not be builtThese options are useful in cases where the SDK is being built by a build system that doesn't have any use for artifacts other than those necessary for building a particular system.