On Sat, Feb 10, 2018 at 2:34 PM, Jed Brown <j...@jedbrown.org> wrote:
> 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. > If we were in charge of all dependencies, that would be true. However, packages can dump in things that need to link with. if we could require that all dependencies be specified through our system, then we could topologically sort and put out all the link libs. This is exactly what we do for configure tests already. Matt -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>