Skip to content

makefiles/kconfig: add board & CPU config variables #17376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

leandrolanzieri
Copy link
Contributor

Contribution description

This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for boards and CPUs (including common directories) to add default configuration files to be merged. The current approach, as it uses Makefile.features, would include boards first, not allowing them to override CPU configurations.

Documentation on this is added as well.

Testing procedure

  • You can check that for a board like stm32f769i-disco, which has configuration files from different sources (board, stm32, cortexm_common), now the order is the correct: 1st the arch, 2nd the cpu, 3rd the board. This can be seen by printing MERGE_SOURCES from makefiles/kconfig.mk and building with TEST_KCONFIG=1.
  • Read the docs
  • Green CI

Issues/PRs references

Found in #17349

@leandrolanzieri leandrolanzieri added the Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation label Dec 10, 2021
@github-actions github-actions bot added Area: boards Area: Board ports Area: build system Area: Build system Area: cpu Area: CPU/MCU ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration Platform: ARM Platform: This PR/issue effects ARM-based platforms Platform: native Platform: This PR/issue effects the native platform labels Dec 10, 2021
@leandrolanzieri leandrolanzieri force-pushed the pr/makefiles/add_board_cpu_config_variables branch from efea031 to d128c0d Compare December 10, 2021 15:22
Copy link
Contributor

@fjmolinas fjmolinas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK, murdock should check the dependencies.

@leandrolanzieri leandrolanzieri added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Dec 12, 2021
@leandrolanzieri leandrolanzieri added this to the Release 2022.01 milestone Dec 12, 2021
@MrKevinWeiss
Copy link
Contributor

Looks like there are still some issues, I will try to push a solution as @leandrolanzieri is a bit unavailable.

@MrKevinWeiss
Copy link
Contributor

I changes the priority of KCONFIG_ADD_CONFIG back to the original. The KCONFIG_APP_CONFIG and KCONFIG_USER_CONFIG should be able to overwrite the values set by KCONFIG_ADD_CONFIG.

@MrKevinWeiss
Copy link
Contributor

Things seem to be doing OK now. May I squash (or @leandrolanzieri ).

@fjmolinas
Copy link
Contributor

Please squash, ACK stands

This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
@MrKevinWeiss MrKevinWeiss force-pushed the pr/makefiles/add_board_cpu_config_variables branch from f40de78 to c8533e6 Compare December 13, 2021 11:33
@MrKevinWeiss
Copy link
Contributor

Done! now we wait :)

@MrKevinWeiss MrKevinWeiss added the CI: full build disable CI build filter label Dec 13, 2021
@MrKevinWeiss MrKevinWeiss merged commit ed94dd7 into RIOT-OS:master Dec 13, 2021
@leandrolanzieri leandrolanzieri deleted the pr/makefiles/add_board_cpu_config_variables branch December 16, 2021 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: build system Area: Build system Area: cpu Area: CPU/MCU ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration CI: full build disable CI build filter CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Platform: native Platform: This PR/issue effects the native platform Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants