Просмотр исходного кода

docs: update the migration guides for esp_timer

Previous commit removes esp_timer from the common requirements.
This commit updates the documentation to describe the resulting
changes.
Ivan Grokhotkov 3 лет назад
Родитель
Сommit
ceeb9f9451
1 измененных файлов с 15 добавлено и 3 удалено
  1. 15 3
      docs/en/migration-guides/build-system.rst

+ 15 - 3
docs/en/migration-guides/build-system.rst

@@ -11,7 +11,19 @@ Update fragment file grammar
 
 Please follow the :ref:`migrate linker script fragment files grammar<ldgen-migrate-lf-grammar>` chapter for migrating v3.x grammar to the new one.
 
-Component dependencies that shall be explicit
----------------------------------------------
+Specify component requirements explicitly
+-----------------------------------------
 
-In previous versions of ESP-IDF, target components (``components/esp32*``) had a dependency on ``driver`` and ``efuse`` components. Since target components were part of common requirements (:ref:`more info about common requirements <component-common-requirements>`), all components in the project implicitly had a dependency on ``driver`` and ``efuse``. Now that the dependency of target components on these components has been removed, every component depending on ``driver`` or ``efuse`` has to declare this dependency explicitly. This can be done by adding ``REQUIRES <component_name>`` or ``PRIV_REQUIRES <component_name>`` in ``idf_component_register`` call inside component's ``CMakeLists.txt``. See :ref:`Component Requirements` for more information on specifying requirements.
+In previous versions of ESP-IDF, some components were always added as public requirements (dependencies) to every component in the build, in addition to the :ref:`common requirements<component-common-requirements>`:
+
+* ``driver``
+* ``efuse``
+* ``esp_timer``
+
+This means that it was possible to include header files of those components without specifying them as requirements in ``idf_component_register``.
+
+This behavior was caused by transitive dependencies of various common components.
+
+In ESP-IDF v5.0, this behavior is fixed and these components are no longer added as public requirements by default.
+
+Every component depending on one of the components which isn't part of common requirements has to declare this dependency explicitly. This can be done by adding ``REQUIRES <component_name>`` or ``PRIV_REQUIRES <component_name>`` in ``idf_component_register`` call inside component's ``CMakeLists.txt``. See :ref:`Component Requirements` for more information on specifying requirements.