Closed ms705 closed 9 years ago
Having looked at this a bit more, I think the dependency issue is as follows:
scheduling
builds the flow graph components, which the cost model interface depends on (via FlowGraphNode
and similar types), but the scheduling
unit tests (DIMACSExporterTest
and FlowGraphTest
) in turn depend on the trivial cost model.
The right answer to me seems to be to break out the flow graph stuff into its own module (and possibly the flow scheduler more generally), merge this module with the cost models and move the offending tests in there (since they're both related to the flow scheduler).
Thoughts? This is obviously a fairly invasive change to the tree, so we may want to background it until outstanding merges have happened.
(This is on hold until #17 is merged, as it will otherwise trigger lots of tree conflicts.)
This is fixed in #22. Sent to @ICGog for review: https://review.gerrithub.io/#/c/234885/.
Resolved in #22 (merged).
We still have a circular dependency in the build system, unfortunately: the
cost_models
target depends onscheduling
, butscheduling
contains some unit tests that requirelibfirmament_cost_models.a
.To reproduce, do a
make clean
and build:Possible solutions:
scheduling
(not really a good answer)scheduling
thatcost_models
depends on and build them as a separate module.libfirmament_cost_models.a
.