Skip to content

Commit 5f0ea8c

Browse files
mpilgremsheaf
andauthored
Update doc/setup-commands.rst
Co-authored-by: sheaf <sam.derbyshire@gmail.com>
1 parent cc597dc commit 5f0ea8c

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

doc/setup-commands.rst

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,13 +1091,17 @@ This command takes the following options:
10911091

10921092
GHC 9.8.1 and later can act as a jobserver client, which enables two or more
10931093
GHC processes running at once to share system resources with each other,
1094-
communicating via a specified system semaphore. See GHC's
1095-
`boot package <https://hackage.haskell.org/package/semaphore-compat>`_
1096-
``semaphore-compat`` for more information.
1097-
1098-
The semaphore is identified by a string, being the serialised identifier of
1099-
a semaphore name for transport between processes (or, in the case of
1100-
``semaphore-compat-1.0.0`` only, the semaphore name).
1094+
communicating via a semaphore, as implemented by the
1095+
`semaphore-compat <https://hackage.haskell.org/package/semaphore-compat>`_
1096+
library.
1097+
1098+
The expected usage is that a jobserver (the build system controlling the build,
1099+
e.g. ``cabal-install``, ``stack``, ``nix``, ``buck2``...) creates or obtains a semaphore using ``semaphore-compat``,
1100+
passing down the semaphore to jobclients in order to control the total
1101+
amount of parallelism. This is done by passing the corresponding semaphore identifier to ``Cabal`` via the ``--semaphore`` flag.
1102+
1103+
Refer to `semaphore-compat <https://hackage.haskell.org/package/semaphore-compat>`_
1104+
for more details.
11011105

11021106
This option causes Cabal to control parallelism by using the specified
11031107
system semaphore.

0 commit comments

Comments
 (0)