Matthew Knepley <knep...@gmail.com> writes: >> Note that PETSc's own dependency management is messy because someone in >> the early days of BuildSystem thought that concatenating strings was >> sufficient, instead of maintaining a structured dependency graph to be >> topologically sorted at the final stage (pkg-config does this). >> > > Of course, we do have a structured dependency graph. Where is it not being > used?
If the DAG structure was preserved, toStringNoDupes would never need to work with a list containing duplicate flags, including libraries like -ldl and -lm, because the topological sort would never have created duplicates in the first place.