cts: make private_hdrs self-contained instead of borrowing cts headers#10891
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the src/cts/BUILD file by moving src/CtsOptions.h and src/TechChar.h from the public headers (hdrs) list to the internal sources list. Additionally, it introduces several new dependencies to the cc_library target, including dbSta, dbNetwork, est, odb, rsz, and utl. There are no review comments, and I have no feedback to provide.
|
@hzeller FYI |
|
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
private_hdrs headers (HTreeBuilder.h, SinkClustering.h, TreeBuilder.h, LatencyBalancer.h) include CtsOptions.h and TechChar.h. Since cts already depends on private_hdrs, the header dependency actually runs the other way, and it only compiled because header-only targets are not built standalone under layering_check. Give private_hdrs ownership of CtsOptions.h and TechChar.h (they belong with the cluster -- CtsOptions.h itself includes CtsObserver.h and Util.h) plus the deps those headers need (dbSta, dbNetwork, est, rsz, odb, utl). This makes private_hdrs self-contained; adding cts as a dep of private_hdrs would instead create a cycle. Keep the two headers listed in cts.hdrs as well so cts re-exports them to consumers that depend on cts directly (e.g. the aggregated swig-py module), which layering_check requires. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
547f8b8 to
e06011e
Compare
|
needs more thought |
private_hdrs headers (HTreeBuilder.h, SinkClustering.h, TreeBuilder.h, LatencyBalancer.h) include CtsOptions.h and TechChar.h, which were declared in the cts target. Since cts already depends on private_hdrs, the dependency actually runs the other way at the header level.
Move CtsOptions.h and TechChar.h into private_hdrs and give it the deps those headers require (dbSta, dbNetwork, est, rsz, odb, utl). This keeps the acyclic direction cts -> private_hdrs; adding cts as a dep of private_hdrs would instead create a cycle.
Relates to #10889