Bugzilla – Full Text Bug Listing |
Summary: | record additional aggregations for print-introspected-doxygen | ||
---|---|---|---|
Product: | ns-3 | Reporter: | Peter Barnes <pdbarnes> |
Component: | documentation | Assignee: | Peter Barnes <pdbarnes> |
Status: | NEEDINFO --- | ||
Severity: | normal | CC: | ns-bugs, tomh |
Priority: | P5 | ||
Version: | ns-3-dev | ||
Hardware: | All | ||
OS: | All | ||
Attachments: | Reduce module dependency to just network. |
Description
Peter Barnes
2015-01-22 13:36:52 EST
According to Tom: It has to do with the build dependencies for print-introspected-doxygen.cc; the wscript allows it to build with only csma enabled, but runtime errors will occur if the module dependencies in GetTypicalAggregations() are not enabled. It can be reproduced by enabling only the set of modules that Matt posted earlier in this thread. Created attachment 1952 [details]
Reduce module dependency to just network.
This patch checks if the requested aggregation object has been registered as a type. If it hasn't (because the parent module wasn't enabled in the waf configuration), it records the aggregation object name separately. These names then generate a config path message of:
"Introspection could not find Config paths for <x> in this build, likely because the parent module was not configured."
This patch makes possible two enhancements:
- print-introspected-doxygen (p-i-d) can depend only on network (which depends on core and stats). The patch makes this change, replacing the CsmaChannel (from the csma module) with SimpleChannel (from network itself).
- We can add any further aggregations we want, without increasing the build dependencies on p-i-d. (I haven't added any in this patch)
An implicit goal for our doxygen is to generate documentation for *everything* even if it is not part of the build (because it's not part of the configuration, or it's missing dependencies). Of course, getting the dependencies right so p-i-d doesn't crash is part of meeting that goal. The second point also facilitates that goal, by allowing a documentation build to pick up *all* config paths created by the configured modules, including obscure modules with external dependencies.
So, what *other* aggregations should we add to p-i-d?
pushed in changeset 11185:7d6c1139be2f leaving open (needinfo) to respond to Peter's question about adding missing aggregations *** Bug 1561 has been marked as a duplicate of this bug. *** The process to record other aggregations is well documented in the GetTypicalAggregations() function of p-i-d: https://www.nsnam.org/docs/doxygen/print-introspected-doxygen_8cc_source.html#l01276 Since no other aggregations have been mentioned here, suggest closing this bug. |