# Order (or more generally, edge selection) is significant (see gmxtree.md);
# "moduleA -> moduleB" means that moduleA should not depend on moduleB, and is
# a problem to be addressed at some point.

domdec -> imd
domdec -> ewald
domdec -> mdlib
domdec -> pulling
fileio -> gmxlib
mdlib -> essentialdynamics
mdlib -> imd
mdlib -> ewald
mdlib -> pulling
nbnxm -> domdec
nbnxm -> mdlib
simd -> hardware
gpu_utils -> hardware
listed_forces -> mdlib
utility -> math

# modular simulator uses shellfc from mdrun, but is later included in mdrun by simulator builder
modularsimulator -> mdrun

# Cycle counters in timing use comrec for the set up, which is in the mdtypes. This introduces
# cyclic dependencies if the cycle counting is used anywhere in mdtypes.
timing -> mdtypes

# awh has dependencies in mdlib and pulling that need resolving.
mdlib -> applied_forces
