ocaml-mccs icon indicating copy to clipboard operation
ocaml-mccs copied to clipboard

Switch selection of GLPK to Dune virtual libraries

Open dra27 opened this issue 6 years ago • 1 comments

This is a continuation of the work in #22 to make the vendored GLPK completely separate from the forked MCCS. This takes advantage of the Dune virtual libraries introduced in version 1.7 of the language (the implementation details for MCCS mean that Dune 1.9.2 or later is required).

Various notes:

  • The shared and static variants are built by default - if you don't have GLPK installed, then src/glpk-static/dune and src/glpk-shared/dune must be blown away before the build (see mccs.opam and the temporary steps in appveyor.yml)
  • I have done some work previously on manually compiling glpk for Windows - at some point in the coming months I'll dust it off and push it so that AppVeyor can test all three builds too
  • I use the default_implementation field to mean that opam carries on using the internal solver by default - downstream builds such as Debian can in future alter src/solver/dune in opam to change mccs to mccs.shared.
  • The context_flags.ml and context_flags_all.ml should be merged and tidied up. The git diff appears to have got thoroughly confused by the renaming - they're basically unchanged!

dra27 avatar Jul 08 '19 09:07 dra27

Any plan to continue this?

Alessandro-Barbieri avatar Apr 28 '22 07:04 Alessandro-Barbieri