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