docs(kconfiglib): Add Project and Component configuration guide

* Project Configuration Guide: how to configure the project, purpose of
  sdkconfig.defaults, where is the configuration stored...
* Component configuration: how to write Kconfig files, how to ensure
  backward compatibility...

Also, general information about Kconfig and its files was added. Other parts of the
documentation (e.g. build-system) now point to these new guides in order
to provide more info.
This commit is contained in:
Jan Beran
2024-10-21 14:04:41 +02:00
parent cd21bdeb15
commit 1fcf006ec6
24 changed files with 431 additions and 190 deletions
@@ -0,0 +1,11 @@
Configuration Options Reference
===============================
.. _configuration-options-reference:
Subsequent sections contain the list of available ESP-IDF options automatically generated from Kconfig files. Note that due to dependencies between options, some options listed here may not be visible by default in ``menuconfig``.
By convention, all option names are upper-case letters with underscores. When Kconfig generates ``sdkconfig`` and ``sdkconfig.h`` files, option names are prefixed with ``CONFIG_``. So if an option ``ENABLE_FOO`` is defined in a Kconfig file and selected in ``menuconfig``, then the ``sdkconfig`` and ``sdkconfig.h`` files will have ``CONFIG_ENABLE_FOO`` defined. In the following sections, option names are also prefixed with ``CONFIG_``, same as in the source code.
.. include-build-file:: inc/kconfig.inc