doc: Add Kconfig section#13040
Conversation
|
@leandrolanzieri I have a more general question. A number of configurations are currently being exposed by a number of PRs. All these PRs follow the same scheme, they just replace all occurences of For example would become My concern is that such a change might also affect the Makefiles in user projects. Since So I wonder if there wouldn't be an acceptable approach to introduce Kconfig variables without changing all source files, the Makefiles and the documentation, e.g., While it would make each definition more complex, it would preserve the compatibility with previous definitions. |
I think it makes sense to actually do the changes in the code and documentation, and translate the current macros to the new ones: #ifndef ESP_WIFI_SSID
#define ESP_WIFI_SSID "RIOT_AP"
#endif
#ifndef CONFIG_ESP_WIFI_SSID
#define CONFIG_ESP_WIFI_SSID ESP_WIFI_SSID
#endifThis way if the user uses the new names, they take precedence, if not we fall back to the legacy. We should also start a deprecation process of the old macros by announcing this in the documentation. What do you think @gschorcht? |
|
@gschorcht I addressed your comments |
That is, we already make all changes when exposing the configuration, but keep some legacy definitions for compatibilty reasons in the way you suggest and declare them as deprecated in the documentation? I could live with that approach. |
Exactly |
|
@fjmolinas I think it would be good to have this in the release, since we are introducing Kconfig for several modules. Could you take a look as well? |
PeterKietzmann
left a comment
There was a problem hiding this comment.
@leandrolanzieri thanks for the detailed description. After the first (offline) review round of this document, I left a few minor comments to improve the text but I leave it up to you which to address.
Furthermore, I think that this piece of documentation should be backported to the release brach once merged
|
And I tested |
|
@PeterKietzmann thanks for reviewing, I addressed your comments. |
PeterKietzmann
left a comment
There was a problem hiding this comment.
ACK from my side after the suggested change has been applied. Please squash afterwards.
|
Offline @leandrolanzieri asked if this one could be backported to have the new kconfig doc present in the release branch. AFAIK documentation falls in the category of features that can be backported so go ahead. |
This adds information regarding the usage of Kconfig from an user perspective and in-depth information on how Kconfig is currently integrated to RIOT's build system.
328f4e3 to
ab3cea1
Compare
|
@PeterKietzmann fixed and squashed |
|
Green lights. ACK & go |
|
Backport provided in #13153 |
|
Since it's not a bug, just documentation, it doesn't need to be backported (and the corresponding label was not set). |
@fjmolinas agreed that documentation improvements can be backported for the release |
|
Doesn't make sense (sorry @fjmolinas): the online documentation always points the latest master, so the new section should be online soon. From my experience, documentation PR doesn't fall into the needs backport case, only bug fixes do. |
The hard-feature free\e email we send out says: Online documentation is not versioned, so if I want to see documentation that matches my version of RIOT I would check the documentation in code. I see no issue with backporting this. |
Not saying its a rule, but it seems like the closest thing to it that we have IMO. |
Contribution description
This adds information regarding the usage of Kconfig from an user perspective and in-depth information on how it is currently integrated into RIOT's build system.
Testing procedure
Run
make docand read 'Kconfig in RIOT' section.Issues/PRs references
None