silveroak icon indicating copy to clipboard operation
silveroak copied to clipboard

Source tree clean up and building and CI modernisation

Open blaxill opened this issue 3 years ago • 0 comments

In the direction of cleaning up source trees, adding support for matrix CI builds and dune building, I'm proposing the following:

  • [x] Keep everything simply buildable via make
  • [X] Make haskell files built by cabal by default (#743)
  • [ ] Add dune build files but dont make the switch yet
  • [ ] Upgrade nix files to support multi coq,ghc,verilator versions
  • to be expanded

Then once everything has settled:

  • [ ] Add a dependency on dune (everything will still be buildable via make)
  • to be expanded

And should enable:

  • Generated non-source files (.vo etc), kept in build directories (dune -> _build, cabal -> dist)
  • Generated source files (.hs, .sv, etc) in-tree in marked directories
  • Simplification of makefiles e.g. dune handles _CoqProject and no files in source tree = easier cleaning
  • Easier/better caching in CI & easier integration of matrix builds (run CI with multiple versions of Coq/Haskell/Verilator, keep requirement for only one blessed version to pass)

blaxill avatar Apr 14 '21 16:04 blaxill