Use Cabal directly in place of ghc-cabal + make build root configurable (#531)
[hadrian.git] / src / Hadrian / Haskell / Cabal / PackageData.hs
1 module Hadrian.Haskell.Cabal.PackageData where
2
3 import Development.Shake.Classes
4 import Hadrian.Package.Type
5 import GHC.Generics
6
7 data PackageData = PackageData
8 { dependencies :: [PackageName]
9 , name :: PackageName
10 , version :: String
11 -- * used to be pkg Data
12 , componentId :: String
13 , modules :: [String]
14 , otherModules :: [String]
15 , synopsis :: String
16 , description :: String
17 , srcDirs :: [String]
18 , deps :: [String]
19 , depIpIds :: [String]
20 , depNames :: [String]
21 , depCompIds :: [String]
22 , includeDirs :: [String]
23 , includes :: [String]
24 , installIncludes :: [String]
25 , extraLibs :: [String]
26 , extraLibDirs :: [String]
27 , asmSrcs :: [String]
28 , cSrcs :: [String]
29 , cmmSrcs :: [String]
30 , dataFiles :: [String]
31 , hcOpts :: [String]
32 , asmOpts :: [String]
33 , ccOpts :: [String]
34 , cmmOpts :: [String]
35 , cppOpts :: [String]
36 , ldOpts :: [String]
37 , depIncludeDirs :: [String]
38 , depCcOpts :: [String]
39 , depLdOpts :: [String]
40 , buildGhciLib :: Bool
41 } deriving (Eq, Read, Show, Typeable, Generic)
42
43 instance Binary PackageData
44
45 instance Hashable PackageData
46 instance NFData PackageData