Add support for using GHC's -jsem option
* The top-level user interface to enable the use of the semaphore is the `--semaphore` flag. If you pass `-j4 --semaphore` then cabal will create a semaphore with 4 slots which is passed to ghc using the `-jsem` option so that all GHC processes coordinate to use 4 capabilities. - The semaphore logic is provided by a new package `semaphore-compat` which provides a cross-platform abstraction for semaphores. * The low level `./Setup.hs build` interface accepts the `--semaphore <SEMAPHORE>` option, which can be used to directly pass the semaphore you require to the Setup script. (cherry picked from commit 0a1c167a) # Conflicts: # Cabal/src/Distribution/Simple/Build.hs # Cabal/src/Distribution/Simple/Compiler.hs # Cabal/src/Distribution/Simple/GHC.hs # Cabal/src/Distribution/Simple/GHCJS.hs # Cabal/src/Distribution/Simple/Program/GHC.hs # Cabal/src/Distribution/Simple/Setup.hs # Cabal/src/Distribution/Simple/Setup/Build.hs # bootstrap/linux-9.4.5.json # cabal-install/src/Distribution/Client/Config.hs # cabal-install/src/Distribution/Client/JobControl.hs # cabal-install/src/Distribution/Client/ProjectBuilding.hs # cabal-install/src/Distribution/Client/ProjectConfig.hs # cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs # cabal-install/src/Distribution/Client/ProjectConfig/Types.hs # cabal-install/src/Distribution/Client/ProjectPlanning.hs # cabal-install/src/Distribution/Client/Setup.hs # cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs
Showing
- Cabal/Cabal.cabal 1 addition, 0 deletionsCabal/Cabal.cabal
- Cabal/src/Distribution/Simple/Build.hs 99 additions, 0 deletionsCabal/src/Distribution/Simple/Build.hs
- Cabal/src/Distribution/Simple/Compiler.hs 31 additions, 0 deletionsCabal/src/Distribution/Simple/Compiler.hs
- Cabal/src/Distribution/Simple/GHC.hs 91 additions, 0 deletionsCabal/src/Distribution/Simple/GHC.hs
- Cabal/src/Distribution/Simple/GHCJS.hs 95 additions, 0 deletionsCabal/src/Distribution/Simple/GHCJS.hs
- Cabal/src/Distribution/Simple/Program/GHC.hs 79 additions, 0 deletionsCabal/src/Distribution/Simple/Program/GHC.hs
- Cabal/src/Distribution/Simple/Setup.hs 103 additions, 0 deletionsCabal/src/Distribution/Simple/Setup.hs
- Cabal/src/Distribution/Simple/Setup/Build.hs 162 additions, 0 deletionsCabal/src/Distribution/Simple/Setup/Build.hs
- Cabal/src/Distribution/Types/ParStrat.hs 24 additions, 0 deletionsCabal/src/Distribution/Types/ParStrat.hs
- bootstrap/linux-8.10.7.json 81 additions, 37 deletionsbootstrap/linux-8.10.7.json
- bootstrap/linux-9.0.2.json 81 additions, 37 deletionsbootstrap/linux-9.0.2.json
- bootstrap/linux-9.2.8.json 42 additions, 21 deletionsbootstrap/linux-9.2.8.json
- bootstrap/linux-9.4.5.json 62 additions, 16 deletionsbootstrap/linux-9.4.5.json
- cabal-install/cabal-install.cabal 2 additions, 1 deletioncabal-install/cabal-install.cabal
- cabal-install/src/Distribution/Client/Config.hs 41 additions, 0 deletionscabal-install/src/Distribution/Client/Config.hs
- cabal-install/src/Distribution/Client/JobControl.hs 162 additions, 0 deletionscabal-install/src/Distribution/Client/JobControl.hs
- cabal-install/src/Distribution/Client/ProjectBuilding.hs 382 additions, 0 deletionscabal-install/src/Distribution/Client/ProjectBuilding.hs
- cabal-install/src/Distribution/Client/ProjectConfig.hs 66 additions, 0 deletionscabal-install/src/Distribution/Client/ProjectConfig.hs
- cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs 187 additions, 0 deletions...l-install/src/Distribution/Client/ProjectConfig/Legacy.hs
- cabal-install/src/Distribution/Client/ProjectConfig/Types.hs 65 additions, 0 deletionscabal-install/src/Distribution/Client/ProjectConfig/Types.hs
Loading
Please register or sign in to comment