-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Doxygen does not generate documentation for commented-out macros #520
Comments
ARM Internal Ref: IOTSSL-837 |
This is unfortunately one of doxygen's known "issues". |
The online documentation is (or should be) generated after As a result, the online documentation is missing a number of configuration options:
The first 2 are false positives, and some of these macros don't have any documentation (but I think still should be shown in the index), but others have documentation that's not getting included, e.g. Symbols from the “Module configuration options” are only documented if the macro is defined in another header in Furthermore, the documentation from Arguably some of these options should be in the “mbed TLS feature support” section instead. We seem to consistently use the feature support section for features such that enabling the option only enables the feature, and the module configuration option section for non-boolean options, but I don't see a pattern for on/off options that change the default behavior. But this wouldn't solve the problem since it also affects some non-boolean options. @mpg As the creator of Enabling “Module configuration options” in realfull (like #965 does in
Note added in 2024: I can't reproduce the statement above. The definition of |
We generate the Doxygen documentation in a configuration where part of config.h is excluded. See Mbed-TLS#520 ``` /var/lib/build/include/mbedtls/config.h:3635: warning: documentation for unknown define MBEDTLS_PSA_HMAC_DRBG_MD_TYPE found. ``` This is a more general issue and fixing it is out of scope of my current work. Therefore, just do something simple to silence Doxygen, and never mind that this causes the documentation of `MBEDTLS_PSA_HMAC_DRBG_MD_TYPE` to be omitted from the rendered documentation. We'll fix that when we fix all the configuration macros with a similar problem. Signed-off-by: Gilles Peskine <[email protected]>
We generate the Doxygen documentation in a configuration where part of config.h is excluded. See Mbed-TLS#520 ``` /var/lib/build/include/mbedtls/config.h:3635: warning: documentation for unknown define MBEDTLS_PSA_HMAC_DRBG_MD_TYPE found. ``` This is a more general issue and fixing it is out of scope of my current work. Therefore, just do something simple to silence Doxygen, and never mind that this causes the documentation of `MBEDTLS_PSA_HMAC_DRBG_MD_TYPE` to be omitted from the rendered documentation. We'll fix that when we fix all the configuration macros with a similar problem. Signed-off-by: Gilles Peskine <[email protected]>
I'm not sure what the reasoning was when "realfull" was created, or even if there was an explicit intention of excluding "Module configuration options" or it just happened that way because that's what "full" was doing already and "realfull" was implemented as a variant of it. What I can tell you is that when reading the description of this issue, my first reaction was "but aren't those options supposed to be documented in their respective modules?" Then I checked the ECP-related options. Turns out As you note, that's not an isolated case and a few other module options are documented in their module instead of / in addition to Actually there are (at least) two kinds of macros here:
|
We generate the Doxygen documentation in a configuration where part of config.h is excluded. See Mbed-TLS#520 ``` /var/lib/build/include/mbedtls/config.h:3635: warning: documentation for unknown define MBEDTLS_PSA_HMAC_DRBG_MD_TYPE found. ``` This is a more general issue and fixing it is out of scope of my current work. Therefore, just do something simple to silence Doxygen, and never mind that this causes the documentation of `MBEDTLS_PSA_HMAC_DRBG_MD_TYPE` to be omitted from the rendered documentation. We'll fix that when we fix all the configuration macros with a similar problem. Signed-off-by: Gilles Peskine <[email protected]>
We generate the Doxygen documentation in a configuration where part of config.h is excluded. See Mbed-TLS#520 ``` /var/lib/build/include/mbedtls/config.h:3635: warning: documentation for unknown define MBEDTLS_PSA_HMAC_DRBG_MD_TYPE found. ``` This is a more general issue and fixing it is out of scope of my current work. Therefore, just do something simple to silence Doxygen, and never mind that this causes the documentation of `MBEDTLS_PSA_HMAC_DRBG_MD_TYPE` to be omitted from the rendered documentation. We'll fix that when we fix all the configuration macros with a similar problem. Signed-off-by: Gilles Peskine <[email protected]>
We generate the Doxygen documentation in a configuration where part of config.h is excluded. See Mbed-TLS#520 ``` /var/lib/build/include/mbedtls/config.h:3635: warning: documentation for unknown define MBEDTLS_PSA_HMAC_DRBG_MD_TYPE found. ``` This is a more general issue and fixing it is out of scope of my current work. Therefore, just do something simple to silence Doxygen, and never mind that this causes the documentation of `MBEDTLS_PSA_HMAC_DRBG_MD_TYPE` to be omitted from the rendered documentation. We'll fix that when we fix all the configuration macros with a similar problem. Signed-off-by: Gilles Peskine <[email protected]>
use nss based hmac when nss enabled
Change "realfull" to activate everything. After investigation, it seems that having "realfull" not activate everything was a historical oddity due to proximity with "full", not a goal in itself. Mbed-TLS#520 (comment) https://github.com/Mbed-TLS/mbedtls/pull/965/files#r523409092 This changes the output of `scripts/config.py realfull`: now all non-boolean options are uncommented. Signed-off-by: Gilles Peskine <[email protected]>
Change "realfull" to activate everything. After investigation, it seems that having "realfull" not activate everything was a historical oddity due to proximity with "full", not a goal in itself. Mbed-TLS#520 (comment) https://github.com/Mbed-TLS/mbedtls/pull/965/files#r523409092 This changes the output of `scripts/config.py realfull`: now all non-boolean options are uncommented. Signed-off-by: Gilles Peskine <[email protected]>
Change "realfull" to activate everything. After investigation, it seems that having "realfull" not activate everything was a historical oddity due to proximity with "full", not a goal in itself. Mbed-TLS#520 (comment) https://github.com/Mbed-TLS/mbedtls/pull/965/files#r523409092 This changes the output of `scripts/config.py realfull`: now all non-boolean options are uncommented. Signed-off-by: Gilles Peskine <[email protected]>
Change "realfull" to activate everything. After investigation, it seems that having "realfull" not activate everything was a historical oddity due to proximity with "full", not a goal in itself. Mbed-TLS#520 (comment) https://github.com/Mbed-TLS/mbedtls/pull/965/files#r523409092 This changes the output of `scripts/config.py realfull`: now all non-boolean options are uncommented. Signed-off-by: Gilles Peskine <[email protected]>
When comparing https://tls.mbed.org/api/config_8h.html with include/mbedtls/config.h a lot of macros are missing. In fact, all macros that are shipped commented-out do not appear in the online documentation.
The text was updated successfully, but these errors were encountered: