summaryrefslogtreecommitdiff
path: root/hadrian/src/Builder.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Builder.hs')
-rw-r--r--hadrian/src/Builder.hs13
1 files changed, 9 insertions, 4 deletions
diff --git a/hadrian/src/Builder.hs b/hadrian/src/Builder.hs
index 1e471b2a26..d9b7072071 100644
--- a/hadrian/src/Builder.hs
+++ b/hadrian/src/Builder.hs
@@ -1,9 +1,9 @@
{-# LANGUAGE InstanceSigs, TypeOperators #-}
module Builder (
-- * Data types
- ArMode (..), CcMode (..), ConfigurationInfo (..), GhcMode (..),
- GhcPkgMode (..), HaddockMode (..), SphinxMode (..), TarMode (..),
- Builder (..),
+ ArMode (..), CcMode (..), ConfigurationInfo (..), DependencyType (..),
+ GhcMode (..), GhcPkgMode (..), HaddockMode (..), SphinxMode (..),
+ TarMode (..), Builder (..),
-- * Builder properties
builderProvenance, systemBuilderPath, builderPath, isSpecified, needBuilder,
@@ -41,12 +41,17 @@ import Packages
-- | C compiler can be used in two different modes:
-- * Compile or preprocess a source file.
-- * Extract source dependencies by passing @-MM@ command line argument.
-data CcMode = CompileC | FindCDependencies deriving (Eq, Generic, Show)
+data CcMode = CompileC | FindCDependencies DependencyType deriving (Eq, Generic, Show)
+data DependencyType = CDep | CxxDep deriving (Eq, Generic, Show)
instance Binary CcMode
instance Hashable CcMode
instance NFData CcMode
+instance Binary DependencyType
+instance Hashable DependencyType
+instance NFData DependencyType
+
-- | GHC can be used in four different modes:
-- * Compile a Haskell source file.
-- * Compile a C source file.