content: {-# LANGUAGE DeriveGeneric #-}
  {-# LANGUAGE GeneralizedNewtypeDeriving #-}
  module Distribution.Solver.Types.Settings
      ( ReorderGoals(..)
      , IndependentGoals(..)
      , AvoidReinstalls(..)
      , ShadowPkgs(..)
      , StrongFlags(..)
      , AllowBootLibInstalls(..)
      , EnableBackjumping(..)
      , CountConflicts(..)
      , SolveExecutables(..)
      ) where
  
  import Distribution.Simple.Setup ( BooleanFlag(..) )
  import Distribution.Compat.Binary (Binary(..))
  import GHC.Generics (Generic)
  
  newtype ReorderGoals = ReorderGoals Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype CountConflicts = CountConflicts Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype IndependentGoals = IndependentGoals Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype AvoidReinstalls = AvoidReinstalls Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype ShadowPkgs = ShadowPkgs Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype StrongFlags = StrongFlags Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype AllowBootLibInstalls = AllowBootLibInstalls Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype EnableBackjumping = EnableBackjumping Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  newtype SolveExecutables = SolveExecutables Bool
    deriving (BooleanFlag, Eq, Generic, Show)
  
  instance Binary ReorderGoals
  instance Binary CountConflicts
  instance Binary IndependentGoals
  instance Binary AvoidReinstalls
  instance Binary ShadowPkgs
  instance Binary StrongFlags
  instance Binary AllowBootLibInstalls
  instance Binary SolveExecutables
  