make LTS branch pre-releases
[cabal.git] / Cabal-syntax / src / Distribution / Types / ConfVar.hs
blob220a6556fbd1e0221725be84ff585e229e979f00
1 {-# LANGUAGE DeriveDataTypeable #-}
2 {-# LANGUAGE DeriveGeneric #-}
4 module Distribution.Types.ConfVar
5 ( ConfVar (..)
6 ) where
8 import Distribution.Compat.Prelude
9 import Prelude ()
11 import Distribution.Compiler
12 import Distribution.System
13 import Distribution.Types.Flag
14 import Distribution.Types.VersionRange
16 -- | A @ConfVar@ represents the variable type used.
17 data ConfVar
18 = OS OS
19 | Arch Arch
20 | PackageFlag FlagName
21 | Impl CompilerFlavor VersionRange
22 deriving (Eq, Show, Typeable, Data, Generic)
24 instance Binary ConfVar
25 instance Structured ConfVar
27 instance NFData ConfVar where rnf = genericRnf