Workspace rules (GHC binary distributions)

Macros and Functions

ghc_bindist

Create a new repository from binary distributions of GHC.

The repository exports two targets:

  • a bin filegroup containing all GHC commands,
  • a threaded-rts CC library.

These targets are unpacked from a binary distribution specific to your platform. Only the platforms that have a "binary package" on the GHC download page are supported.

Examples

In WORKSPACE file:

load("@rules_haskell//haskell:ghc_bindist.bzl", "ghc_bindist")

# This repository rule creates @ghc repository.
ghc_bindist(
  name    = "ghc",
  version = "8.2.2",
)

name

version

target

compiler_flags

haddock_flags

repl_ghci_args

cabalopts

locale


haskell_register_ghc_bindists

Register GHC binary distributions for all platforms as toolchains.

Toolchains can be used to compile Haskell code. This function registers one toolchain for each known binary distribution on all platforms of the given GHC version. During the build, one toolchain will be selected based on the host and target platforms (See toolchain resolution).

version

compiler_flags

haddock_flags

repl_ghci_args

cabalopts

locale