Build from an arbitrary set of modules