A large build system question for +Anthony Scopatz
, +Jed Brown
and others: I am working on making https://github.com/otherlab/geode
friendlier for external use. Currently at Otherlab we check out geode underneath a larger project, then build the entire thing using scons. The scons build system in geode is set up to be used either standalone or in a larger project via symlinks (it can also be used from other standalone projects via more symlinks).
However, this system may be too clever for its own good. In particular, no one else is likely to build geode as part of a larger project, and I would like the commonly used build structure to be the same as how others would use it. I would also like geode to install cleanly via pip. It would be lovely to maintain the ability to type one command and build both geode and all my projects which depend on it, but I don't see how to preserve this in a clean way?
The current configuration system is very low tech: you add lines like "petsc_dir = ..." to a config.py file which is read by scons.
Suggestions? The other wrinkle is that I want to preserve the ability to build geode entirely without python (I did this when running on bluegene, for example). That may rule out a pure pip-ish solution.