spack/lib/spack
Todd Gamblin ac9405a80e concretizer: refactor to support multiple solver backends
There are now three parts:

- `SpackSolverSetup`
  - Spack-specific logic for generating constraints. Calls methods on
    `AspTextGenerator` to set up the solver with a Spack problem. This
    shouln't change much from solver backend to solver backend.

- ClingoDriver
  - The solver driver provides methods for SolverSetup to generates an ASP
    program, send it to `clingo` (run as an external tool), and parse the
    output into function tuples suitable for `SpecBuilder`.
  - The interface is generic and should not have to change much for a
    driver for, say, the Clingo Python interface.

- SpecBuilder
  - Builds Spack specs from function tuples parsed by the solver driver.
2020-11-17 10:04:13 -08:00
..
docs Support parallel environment builds (#18131) 2020-11-17 02:41:07 -08:00
env Support parallel environment builds (#18131) 2020-11-17 02:41:07 -08:00
external fix typo wrt target=graviton (#19865) 2020-11-11 19:29:13 -06:00
llnl macos: update build process to use spawn instead of fork (#18205) 2020-11-12 12:26:23 -08:00
spack concretizer: refactor to support multiple solver backends 2020-11-17 10:04:13 -08:00