Fix header level for foreign-libraries section
[cabal.git] / Cabal / Distribution / PackageDescription.hs
blob871c92c3746735eabad5cf3820f665cc46e4eb66
1 {-# LANGUAGE DeriveDataTypeable #-}
2 {-# LANGUAGE DeriveGeneric #-}
4 -----------------------------------------------------------------------------
5 -- |
6 -- Module : Distribution.PackageDescription
7 -- Copyright : Isaac Jones 2003-2005
8 -- License : BSD3
9 --
10 -- Maintainer : cabal-devel@haskell.org
11 -- Portability : portable
13 -- Backwards compatibility reexport of everything you need to know
14 -- about @.cabal@ files.
16 module Distribution.PackageDescription (
17 -- * Package descriptions
18 PackageDescription(..),
19 emptyPackageDescription,
20 specVersion,
21 descCabalVersion,
22 BuildType(..),
23 knownBuildTypes,
24 allLibraries,
26 -- ** Renaming (syntactic)
27 ModuleRenaming(..),
28 defaultRenaming,
30 -- ** Libraries
31 Library(..),
32 ModuleReexport(..),
33 emptyLibrary,
34 withLib,
35 hasPublicLib,
36 hasLibs,
37 explicitLibModules,
38 libModulesAutogen,
39 libModules,
41 -- ** Executables
42 Executable(..),
43 emptyExecutable,
44 withExe,
45 hasExes,
46 exeModules,
47 exeModulesAutogen,
49 -- * Tests
50 TestSuite(..),
51 TestSuiteInterface(..),
52 TestType(..),
53 testType,
54 knownTestTypes,
55 emptyTestSuite,
56 hasTests,
57 withTest,
58 testModules,
59 testModulesAutogen,
61 -- * Benchmarks
62 Benchmark(..),
63 BenchmarkInterface(..),
64 BenchmarkType(..),
65 benchmarkType,
66 knownBenchmarkTypes,
67 emptyBenchmark,
68 hasBenchmarks,
69 withBenchmark,
70 benchmarkModules,
71 benchmarkModulesAutogen,
73 -- * Build information
74 BuildInfo(..),
75 emptyBuildInfo,
76 allBuildInfo,
77 allLanguages,
78 allExtensions,
79 usedExtensions,
80 hcOptions,
81 hcProfOptions,
82 hcSharedOptions,
84 -- ** Supplementary build information
85 ComponentName(..),
86 defaultLibName,
87 HookedBuildInfo,
88 emptyHookedBuildInfo,
89 updatePackageDescription,
91 -- * package configuration
92 GenericPackageDescription(..),
93 Flag(..), emptyFlag,
94 FlagName, mkFlagName, unFlagName,
95 FlagAssignment,
96 showFlagValue,
97 dispFlagAssignment, parseFlagAssignment,
98 CondTree(..), ConfVar(..), Condition(..),
99 cNot, cAnd, cOr,
101 -- * Source repositories
102 SourceRepo(..),
103 RepoKind(..),
104 RepoType(..),
105 knownRepoTypes,
106 emptySourceRepo,
108 -- * Custom setup build information
109 SetupBuildInfo(..),
110 ) where
112 import Prelude ()
113 --import Distribution.Compat.Prelude
115 import Distribution.Types.Library
116 import Distribution.Types.TestSuite
117 import Distribution.Types.Executable
118 import Distribution.Types.Benchmark
119 import Distribution.Types.TestType
120 import Distribution.Types.TestSuiteInterface
121 import Distribution.Types.BenchmarkType
122 import Distribution.Types.BenchmarkInterface
123 import Distribution.Types.ModuleRenaming
124 import Distribution.Types.ModuleReexport
125 import Distribution.Types.BuildInfo
126 import Distribution.Types.SetupBuildInfo
127 import Distribution.Types.BuildType
128 import Distribution.Types.GenericPackageDescription
129 import Distribution.Types.CondTree
130 import Distribution.Types.Condition
131 import Distribution.Types.PackageDescription
132 import Distribution.Types.ComponentName
133 import Distribution.Types.HookedBuildInfo
134 import Distribution.Types.SourceRepo