Skip to content
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 warning: explicit link #383

Closed
avan989 opened this issue Oct 30, 2019 · 3 comments · Fixed by #413
Closed

doxygen warning: explicit link #383

avan989 opened this issue Oct 30, 2019 · 3 comments · Fixed by #413
Milestone

Comments

@avan989
Copy link
Contributor

avan989 commented Oct 30, 2019

Describe the bug
doxygen gives warning: explicit link request to 'CFE_SB_CmdHdr_t' could not be resolved ...etc

userguide_warning_explicit_link.txt

To Reproduce
Steps to reproduce the behavior:

  1. make usersguide

System observed on:

  • Hardware
  • Ubuntu 18.04
  • doxygen 1.8.13, rc-6.7-0

Reporter Info
Anh Van, NASA Goddard

@skliper skliper added this to the 6.8.0 milestone Nov 1, 2019
@avan989
Copy link
Contributor Author

avan989 commented Nov 4, 2019

Explicit link warning is caused by cross-referencing *.h files not being include in doxygen build.

For Example: CFE_SB_BufferD_t is being cross referenced by cfe/cmake/sample_defs/cpu1_platform_cfg.h but CFE_SB_BufferD_t is being defined src/sb/cfe_sb_priv.h which is not included in the doxygen build.

In addition some of the warning are given by struct being defined in several different PSP/OSAL. For example: CFE_PSP_ExceptionHook is being defined for linux, rtems, and mcp750-vxworks.

Possible Solution:

  1. I get rid of all cross reference to get rid of these warning.

  2. I include all the files in the build. But for this I would need to also implement logic in mission_build.cmake to choose the correct files based on the what psp/osal users choose.

@jphickey
Copy link
Contributor

jphickey commented Nov 4, 2019

I think the solution choice is dependent on the context and probably needs to be evaluated on a case by case basis.

For instance the CFE_SB_BufferD_t is a private, CFE-internal data structure and not exposed in the public API. Therefore I would think this should also not be referenced in the "user guide" style API documentation.

However, if generating a CFE developers guide, then I would think all the internal files should be indexed in this case.

The problem of a developer guide is that the specifics are different for each CPU within a multi-CPU mission. So to be correct one would have to generate a separate dev guide for each of the CPUs within the mission. AFAIK the compromise here was just to build a single dev guide but potentially include more than one OSAL/PSP in it, and that is probably what triggers the warnings.

@skliper
Copy link
Contributor

skliper commented Nov 7, 2019

CCB 20191106 - discussed, with the forward path of just using the first target's configuration (OSAL and PSP) for default linkage where required. This is what CI will use (so linux/pc by default). Projects can always doxygen with a different configuration if they really want to, but by picking a default the warnings can be resolved.

edit - date

skliper added a commit that referenced this issue Nov 15, 2019
Fixes #379, Fixes #380, Fixes #383, Fixes #384,
Fixes #385, Fixes #292
Code reviewed and approved at 20191106 and 20191113 CB
skliper added a commit that referenced this issue Nov 30, 2019
Fixes #379, Fixes #380, Fixes #383, Fixes #384,
Fixes #385, Fixes #392
Code reviewed and approved at 20191106 and 20191113 CB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants