Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cabal/Cabal.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ library
Distribution.Simple.Test.LibV09
Distribution.Simple.Test.Log
Distribution.Simple.UHC
Distribution.Simple.MHS
Distribution.Simple.UserHooks
Distribution.Simple.SetupHooks.Errors
Distribution.Simple.SetupHooks.HooksMain
Expand Down
4 changes: 4 additions & 0 deletions Cabal/src/Distribution/Simple/Build.hs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ import Distribution.Backpack
import Distribution.Backpack.DescribeUnitId
import Distribution.Package
import qualified Distribution.Simple.GHC as GHC
import qualified Distribution.Simple.MHS as MHS
import qualified Distribution.Simple.PackageIndex as Index
import qualified Distribution.Simple.UHC as UHC

Expand Down Expand Up @@ -312,6 +313,7 @@ dumpBuildInfo verbosity distPref dumpBuildInfoFlag pkg_descr lbi flags = do
flavorToProgram GHC = Just ghcProgram
flavorToProgram UHC = Just uhcProgram
flavorToProgram JHC = Just jhcProgram
flavorToProgram MHS = Just mhsProgram
flavorToProgram _ = Nothing

repl
Expand Down Expand Up @@ -981,6 +983,7 @@ buildLib verbHandles flags numJobs pkg_descr lbi lib clbi =
in case compilerFlavor (compiler lbi) of
GHC -> GHC.buildLib verbHandles flags numJobs pkg_descr lbi lib clbi
UHC -> UHC.buildLib verbosity pkg_descr lbi lib clbi
MHS -> MHS.buildLib verbosity pkg_descr lbi lib clbi
_ -> dieWithException verbosity BuildingNotSupportedWithCompiler

-- | Build a foreign library
Expand Down Expand Up @@ -1012,6 +1015,7 @@ buildExe verbosity numJobs pkg_descr lbi exe clbi =
case compilerFlavor (compiler lbi) of
GHC -> GHC.buildExe verbosity numJobs pkg_descr lbi exe clbi
UHC -> UHC.buildExe verbosity pkg_descr lbi exe clbi
MHS -> MHS.buildExe verbosity pkg_descr lbi exe clbi
_ -> dieWithException verbosity BuildingNotSupportedWithCompiler

replLib
Expand Down
7 changes: 5 additions & 2 deletions Cabal/src/Distribution/Simple/Compiler.hs
Original file line number Diff line number Diff line change
Expand Up @@ -535,9 +535,12 @@ extensionToFlag' comp ext = lookup ext (compilerExtensions comp)
parmakeSupported :: Compiler -> Bool
parmakeSupported = ghcSupported "Support parallel --make"

-- | Does this compiler support reexported-modules?
-- | Does this compiler support reexported-modules? GHC says so in its
-- @--info@, from which its 'compilerProperties' come; other compilers can say
-- so in their 'compilerProperties' too.
reexportedModulesSupported :: Compiler -> Bool
reexportedModulesSupported = ghcSupported "Support reexported-modules"
reexportedModulesSupported comp =
Map.lookup "Support reexported-modules" (compilerProperties comp) == Just "YES"

-- | Does this compiler support thinning/renaming on package flags?
renamingPackageFlagsSupported :: Compiler -> Bool
Expand Down
11 changes: 11 additions & 0 deletions Cabal/src/Distribution/Simple/Configure.hs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ import Distribution.Verbosity
import Distribution.Version

import qualified Distribution.Simple.GHC as GHC
import qualified Distribution.Simple.MHS as MHS
import qualified Distribution.Simple.UHC as UHC

import Control.Exception
Expand Down Expand Up @@ -2264,6 +2265,7 @@ getInstalledPackages verbosity comp mbWorkDir packageDBs progdb = do
case compilerFlavor comp of
GHC -> GHC.getInstalledPackages verbosity mbWorkDir packageDBs' progdb
UHC -> UHC.getInstalledPackages verbosity comp mbWorkDir packageDBs' progdb
MHS -> MHS.getInstalledPackages verbosity comp mbWorkDir packageDBs' progdb
flv ->
dieWithException verbosity $ HowToFindInstalledPackages flv
where
Expand Down Expand Up @@ -2318,6 +2320,13 @@ getInstalledPackagesMonitorFiles verbosity comp mbWorkDir packageDBs progdb plat
platform
progdb
packageDBs
MHS ->
MHS.getInstalledPackagesMonitorFiles
verbosity
comp
progdb
mbWorkDir
packageDBs
other -> do
warn verbosity $
"don't know how to find change monitoring files for "
Expand Down Expand Up @@ -2696,6 +2705,7 @@ configCompilerEx (Just hcFlavor) hcPath hcPkg progdb verbosity = do
GHC -> GHC.configure verbosity hcPath hcPkg progdb
UHC -> UHC.configure verbosity hcPath progdb
GHCJS -> dieWithException verbosity GHCJSNotSupported
MHS -> MHS.configure verbosity hcPath progdb
_ -> dieWithException verbosity UnknownCompilerException
return (comp, fromMaybe buildPlatform maybePlatform, programDb)

Expand All @@ -2716,6 +2726,7 @@ configCompiler mbFlavor hcPath progdb verbosity = do
GHC -> GHC.configureCompiler verbosity hcPath progdb
UHC -> UHC.configure verbosity hcPath progdb
GHCJS -> dieWithException verbosity GHCJSNotSupported
MHS -> MHS.configure verbosity hcPath progdb
_ -> dieWithException verbosity UnknownCompilerException
return (comp, fromMaybe buildPlatform maybePlatform, programDb)

Expand Down
3 changes: 3 additions & 0 deletions Cabal/src/Distribution/Simple/Install.hs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ import Distribution.Utils.Path
import Distribution.Compat.Graph (IsNode (..))
import Distribution.Simple.Errors
import qualified Distribution.Simple.GHC as GHC
import qualified Distribution.Simple.MHS as MHS
import Distribution.Simple.Setup.Common
import qualified Distribution.Simple.UHC as UHC

Expand Down Expand Up @@ -244,6 +245,7 @@ copyComponent verbosity pkg_descr lbi (CLib lib) clbi copydest = do
case compilerFlavor (compiler lbi) of
GHC -> GHC.installLib verbosity lbi libPref dynlibPref bytecodeLibPref buildPref pkg_descr lib clbi
UHC -> UHC.installLib verbosity lbi libPref dynlibPref bytecodeLibPref buildPref pkg_descr lib clbi
MHS -> MHS.installLib verbosity lbi libPref dynlibPref buildPref pkg_descr lib clbi
_ ->
dieWithException verbosity $ CompilerNotInstalled (compilerFlavor (compiler lbi))
copyComponent verbosity pkg_descr lbi (CFLib flib) clbi copydest = do
Expand Down Expand Up @@ -290,6 +292,7 @@ copyComponent verbosity pkg_descr lbi (CExe exe) clbi copydest = do
case compilerFlavor (compiler lbi) of
GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
UHC -> return ()
MHS -> MHS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
_ ->
dieWithException verbosity $ CompilerNotInstalled (compilerFlavor (compiler lbi))

Expand Down
Loading
Loading