1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
Leandro Lanzieri
aec9d7a8e5
makefiles/features_modules: do not generate init for ESP RTT
This avoids the generation of the unneeded modules
periph_init_rtt_hw_rtc and periph_init_rtt_hw_sys.
2021-12-10 18:51:24 +01:00
Leandro Lanzieri
9bfa652f9e
makefiles/features_modules: don't generate init for kinetis periphs 2021-12-07 11:32:16 +01:00
Francisco
cb07027b39
Merge pull request #17277 from leandrolanzieri/pr/cpu/qn908x/model_kconfig
cpu/qn908x: model kconfig
2021-12-01 01:03:30 +01:00
Leandro Lanzieri
07871d072e
makefiles/features_modules: avoid init for qn908x periphs 2021-11-29 13:56:43 +01:00
MrKevinWeiss
51f92fa816
drivers/periph_spi: Kconfig SPI_ON_QSPI model 2021-11-29 09:12:27 +01:00
Leandro Lanzieri
6769101c34
sys/arduino: add pseudomodule for the arduino_pwm feature 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
7036388769
drivers/periph_common: add RTC ms module to Kconfig 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
cf753c6790
cpu/riscv_common: model Kconfig 2021-10-01 11:26:15 +02:00
Francisco Molina
8e675cd64f makefiles/features_modules.inc.mk: add periph_rtc_rtt to init ignore 2021-09-27 10:25:11 +02:00
Hauke Petersen
f69fcc162b make: introduce VDD_LC_FILTER_x feature 2021-02-19 17:19:28 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Bas Stottelaar
8e1f6efa6d makefiles: model efm32_coretemp as a feature 2020-11-18 17:27:17 +01:00
17b04972f9
makefiles/features_modules.inc.mk: convert bootloader_stm32 feature as module 2020-09-28 21:06:37 +02:00
Benjamin Valentin
3dbe468c14 features_modules: include puf_sram if used 2020-09-04 13:48:59 +02:00
43d6c4147a features_modules: cortexm_mpu -> mpu_stack_guard 2020-08-18 10:26:21 +02:00
e3f6c0f340 core: make idle thread optional 2020-06-25 16:02:28 +02:00
24facae6fb makefiles/features_modules: add cortexm_svc 2020-06-10 23:12:58 +02:00
Marian Buschsieweke
7bc15acee2
build system: Restructure dependency resolution
Goals:
- Untangle dependency resolution and feature checking for better maintainability
- Improve performance of "make info-boards-supported"

Changes:
- Makefile.dep
    - Dropped handling of default modules and recursion
    - Now only dependencies of the current set of used modules and pkgs are
      added
  ==> External recursion is needed to catch transient dependencies
- Changed Makefile.features:
    - Dropped checking of provided features
    - Dropped populating FEATURES_USED with provided features that are required
      or optional
    - Dropped populating FEATURES_MISSING with required but not provided
      features
    - Dropped adding modules implementing used features to USE_MODULE
  ==> This now only populates FEATURES_PROVIDED, nothing more
- Added makefiles/features_check.inc.mk:
    - This performs the population of FEATURES_USED and FEATURES_MISSING now
- Added makefiles/features_modules.inc.mk:
    - This performs now the addition of modules implementing used features
- Added makefiles/dependency_resolution.inc.mk:
    - This now performs the recursion required to catch transient dependencies
    - Also the feature check is performed recursively to handle also required
      and optional features of the transient dependencies
    - DEFAULT_MODULES are added repeatedly to allow it to be extended based on
      used features and modules
      ==> This allows modules to have optional dependencies, as these
          dependencies can be blacklisted
- Use simply expanded variables instead of recursively expended variables
  (`foo := $(bar)` instead `foo = $(bar)`) for internal variables during feature
  resolution. This improves performance significantly for
  `make info-boards-supported`.
- Reduce dependency resolution steps in `make info-boards-supported`
    - Globally resolve dependencies without any features (including arch)
      provided
      ==> This results in the common subset of feature requirements and modules
          used
        - But for individual boards additional modules might be used on top due
          to architecture specific dependencies or optional features
    - Boards not supporting this subset of commonly required features are not
      supported, so no additional dependency resolution is needed for them
    - For each board supporting the common set of requirements a complete
      dependency resolution is still needed to also catch architecture specific
      hacks
         - But this resolution is seeded with the common set of dependencies to
           speed this up
2020-04-02 09:55:07 +02:00