Skip to content
This repository

A parallel wrapper for 'ghc --make'.

branch: master

Formatting.

latest commit a7b17612af
Mikhail Glushenkov authored November 24, 2013
Octocat-spinner-32 cbits Add 'numberOfProcessors'. October 17, 2013
Octocat-spinner-32 src Fix warning. October 17, 2013
Octocat-spinner-32 tests Unbreak the test suite. October 17, 2013
Octocat-spinner-32 .gitignore Update .gitignore. July 29, 2013
Octocat-spinner-32 .travis.yml Add a .travis.yml file. January 02, 2013
Octocat-spinner-32 GhcParmake.hs Unbreak the test suite. October 17, 2013
Octocat-spinner-32 GhcServer.hs Formatting. November 24, 2013
Octocat-spinner-32 LICENSE Initial commit. October 13, 2011
Octocat-spinner-32 README.md README update. September 12, 2013
Octocat-spinner-32 Setup.hs Initial commit. October 13, 2011
Octocat-spinner-32 TODO TODO update. September 12, 2013
Octocat-spinner-32 ghc-parmake.cabal Fill in 'other-extensions'. November 24, 2013
README.md

ghc-parmake

Build Status

ghc-parmake is a parallel wrapper for ghc --make intended to work as its drop-in replacement. It can build your Haskell program in parallel using multiple cores and will be integrated with cabal build eventually (though I also plan to support the standalone version).

To use it with cabal, try cabal build --with-ghc=ghc-parmake --ghc-options="-j N".

ghc-parmake works by first extracting a module dependency graph with ghc -M and then running multiple ghc -c processes in parallel. Currently, it can build itself and some small test programs (see the tests directory).

To set the number of concurrent jobs, use the -j option.

Usage

ghc-parmake OPTS FILES

-j N             - Run N jobs in parallel.
--ghc-path=PATH  - Set the path to the ghc executable.

-vv[N]           - Set verbosity to N (only for ghc-parmake).
                   N is 0-3, default 1.
-v[N]            - Set verbosity to N (both for GHC and ghc-parmake itself).
--help           - Print usage information.
-V               - Print version information.

Other options are passed to GHC unmodified.

Known limitations

  • Build fails when -odir != -hidir.
  • Tested only on Linux.
Something went wrong with that request. Please try again.