[riot-notifications] [RIOT-OS/RIOT] Build dependencies - processing order issues (#9913)

Gaëtan Harter notifications at github.com
Mon May 6 15:47:56 CEST 2019

The explanation is a bit messy and dissolved in both the first post and following comments as there are many problems together.

However, there are concurrency issues even without `info-boards-supported`.

I can link the code reference for each issue if wanted.

#### Between `features` and `include`

* `board/Makefile.features` includes `cpu/hardwritten_cpu_name/Makefile.features` so uses the value of `CPU` before it is set.
* `cpu/Makefile.features` needs `CPU_MODEL` to set some features, but it is set in `Makefile.include`. Currently hacked by using `BOARD`, so would need `CPU_MODEL`.

#### Between `include` and `deps`

* `Makefile.include` sets CFLAGS/LINKFLAGS/Flasher options depending on the dependencies when `Makefile.dep` is not parsed yet so dependencies not resolved.

#### More CPU specific things:

* The `efm32`/`kinetis` that want to define features depending on the `CPU_MODEL` and do specific CFLAGS when the `features` is enabled but cannot, or add features from the `CPU_MODEL`
* `EFM32_UART_MODES` which should be a feature
* `EFM32_TNRG`

#### `info-boards-supported` 

Having a separate way of parsing dependencies also shows inconsistencies:

* `board/Makefile.dep` includes `cpu/hardwritten_cpu_name/Makefile.dep` but cannot use the value of `CPU` as not defined in that case.
* Makefile.dep uses `CPU_FAM`/`CPU_ARCH` which is not defined at all so ignored when parsing in this one
* board/cpu/Makefile.include define `USEMODULE` which is not parsed by this one.
* This leads to ignored missing features

My goal is to be able to parse the dependencies the same way in both cases, so do it without `Makefile.include`.`Makefile.include`.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190506/76a39fdf/attachment.html>

More information about the notifications mailing list