Skip to content
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

Makefile.features: assert CPU is defined by BOARD/Makefile.features #12417

Merged

Conversation

cladmi
Copy link
Contributor

@cladmi cladmi commented Oct 10, 2019

Contribution description

CPU must now be defined by $(RIOTBOARD)/$(BOARD)/Makefile.features or
one of its common included Makefile.features file.
The cpu Makefile.dep file can now automatically be included when it exists.

This now forbids the previous scheme, but with an error message explaining what to do, and updating would still be compatible with a previous version too.

It was just not the good time to do it before the release.

Testing procedure

All boards in RIOT already define CPU as checked by dist/tools/build_system_sanity_check/check.sh and the error are not raised when parsing the makefiles.

for board in $(make info-boards); do BOARD=${board} make --no-print-directory -C examples/hello-world/ clean; done

If I comment the CPU line in boards/samr21-xpro/Makefile.features then it raises an error.

BOARD=samr21-xpro make --no-print-directory -C examples/hello-world/ clean
/home/harter/work/git/RIOT/Makefile.features:12: *** CPU must be defined by board / board_common Makefile.features.  Stop.

Issues/PRs references

Finalization of the migration done by #11477
#11477 (comment)

Depends on release 2019.10

CPU must now be defined by `$(RIOTBOARD)/$(BOARD)/Makefile.features` or
one of its common included Makefile.features file.
The cpu `Makefile.dep` file can now automatically be included when it exists.
@fjmolinas fjmolinas added this to the Release 2020.01 milestone Oct 10, 2019
@fjmolinas fjmolinas added Area: boards Area: Board ports Area: build system Area: Build system State: waiting for other PR State: The PR requires another PR to be merged first labels Oct 10, 2019
@fjmolinas
Copy link
Contributor

Looks good, but tagging as Waiting for other PR to do after Release-2019.10

@fjmolinas fjmolinas removed the State: waiting for other PR State: The PR requires another PR to be merged first label Nov 12, 2019
@fjmolinas
Copy link
Contributor

No longer waiting.

@fjmolinas fjmolinas added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Nov 12, 2019
@fjmolinas
Copy link
Contributor

Commenting out in boards/samr21-xpro/Makefile.features:

BOARD=samr21-xpro make --no-print-directory -C examples/hello-world/ clean
/home/francisco/workspace/RIOT/Makefile.features:12: *** CPU must be defined by board / board_common Makefile.features.  Stop.

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.

migration was completed, and now that 2019.10 is in we can go forward. ACK

@fjmolinas fjmolinas merged commit 9352b88 into RIOT-OS:master Nov 12, 2019
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 CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants