Skip to content

Use git submodule for hpc

BinderDavid requested to merge BinderDavid/ghc:use-git-submodule-for-hpc into master

As discussed in #21870 (closed) we want to work on the hpc binary, and have therefore created a separate repository for it. This patch replaces the utils/hpc subdirectory with a git submodule pointing to https://gitlab.haskell.org/hpc/hpc-bin.git

That repository contains the entire history of the main GHC repository relevant for the hpc binary, extracted via the git filter-repo tool.

The commit of the hpc-bin repo that this commit points to differs from the version of hpc-bin currently in the GHC repo (the individual commits and MR's can all be checked the hpc-bin repo). The changes are not of a very fundamental nature and concern mostly the organization of the code:

  • Files are in subdirectories src/ and app/, and the cabal file has been split into a library and executable part.
  • Some small refactorings.
  • There is a testsuite which is run in CI.
  • There is a docs/ subdirectory which contains the sphinx documentation of the hpc-bin tool, which is currently still part of the GHC User manual. We will update the GHC user guide to point to that documentation with a separate PR.
  • We ran a code formatter (ormolu) on the codebase.

Merge request reports