{-# LANGUAGE DeriveDataTypeable, PatternGuards #-}
module CabalCargs.Fields
( Field(..)
, allFields
, Fields
) where
import Data.Data (Data, Typeable)
data Field = Hs_Source_Dirs
| Ghc_Options
| Default_Extensions
| Default_Language
| Cpp_Options
| C_Sources
| Cc_Options
| Extra_Lib_Dirs
| Extra_Libraries
| Ld_Options
| Include_Dirs
| Includes
| Build_Depends
| Package_Db
| Root_Dir
| Autogen_Hs_Source_Dirs
| Autogen_Include_Dirs
| Autogen_Includes
| Hdevtools_Socket
deriving (Data, Typeable, Show, Eq, Enum, Bounded)
allFields :: [Field]
allFields = [ minBound .. maxBound ]
type Fields = [Field]