Use git submodule for hpc
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/andapp/, 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 thehpc-bintool, 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.