cpu: move cpu level dependencies in dedicated Makefile.dep files#12898
cpu: move cpu level dependencies in dedicated Makefile.dep files#12898gschorcht merged 12 commits intoRIOT-OS:masterfrom
Conversation
|
Should |
If the modules defined in those Makefile.dep are used later to resolve some dependencies then I would say yes. This will make the "normal" dependency resolution equal to the one performed by the |
Yes, of course, you are right. |
gschorcht
left a comment
There was a problem hiding this comment.
Seems to be OK for me.
@aabadie you could use |
I'm running the script on this PR, it takes a while. I'll post the results when it's done. |
Thanks a lot @leandrolanzieri ! |
|
@aabadie here there is a diff only on the results for the examples. The diff is not really easy to follow, the script does not order the variables :- / I ran the script after applying the PR (584f24c) and before (f2dbd3b). I'm seeing various false positives (e.g. |
|
Thanks for providing your results @leandrolanzieri. The differences are indeed hard to read but, except some false positives with DEFAULT_MODULE, the other differences are normal I would say. For example, now it's reported that acd52832 (and in fact all nrf boards) are pulling the There's another fix I could see from the results: the dependency to periph_uart/stdio_uart for lpc2387 based boards is now explicit because the newlib dependency appears (and it depends on stdio_uart). Same thing with riscv. |
584f24c to
8e94725
Compare
|
@aabadie The differences here are really hard to read and verify, it might be easier if we split and address the changes individually. |
8e94725 to
7b9c487
Compare
|
rebased |
|
I re-ran The diff can be found in this https://gist.github.com/fjmolinas/b34d9d28b87915c5a904efcc381b3861 |
|
If wanted I can also provide the whole dependency dump. |
|
I would like someone else to ACK this, since it affects so many modules. But otherwise I think it is good to go. |
cpu/mips32r2_common/Makefile.include
Outdated
| #Use UHI to handle syscalls | ||
| LINKFLAGS += -luhi | ||
| export USEMODULE += newlib_syscalls_mips_uhi | ||
| USEMODULE += newlib_syscalls_mips_uhi |
There was a problem hiding this comment.
This line should be removed, this was introduced by a wrong rebase
There was a problem hiding this comment.
you mean the exports had already been removed?
There was a problem hiding this comment.
There was an PR for removing the export, but this PR is moving the line in Makefile.dep. In the current state, the line is duplicated.
This commit also removes not needed use of export
7b9c487 to
e969b2f
Compare
|
@fjmolinas, there's still one USE_PKG in cpu/efm32, see here but I'm not sure how to handle the condition on the |
I would just leave it, #13174 will move it out. |
I already did in fact, just forgot about it... |
|
All green here. @leandrolanzieri maybe you can give this one another brief look and eventually the second ACK ? |
leandrolanzieri
left a comment
There was a problem hiding this comment.
Changes make sense, and according to the diff provided by @fjmolinas dependency resolution variables are the same (with the exception of periph_timer feature for mips). ACK.
|
@aabadie Thank you very much for this contribution. A big step towards changing the order of including the CPU |
Contribution description
This PR moves some modules dependencies defined at CPU level (with
USEMODULE,FEATURES_REQUIRED,DEFAULT_MODULE) fromMakefile.includetoMakefile.dep.Note that
$(RIOTCPU)/$(CPU)/Makefile.depis automatically included in$(RIOTBASE)/Makefile.dep:RIOT/Makefile.dep
Lines 8 to 9 in f2dbd3b
That's why new
Makefile.depfiles were introduced (for stm32, mips, etc).Some CPU families are not fully "fixed": kinetis, efm32 and esp. They should be handled in separate PRs because more work is needed there.
Each CPU family is modified in a separate commit, that should simply the review.
Testing procedure
Issues/PRs references
Part of the work needed in #9913