{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
module Distribution.PackageDescription (
PackageDescription(..),
emptyPackageDescription,
specVersion,
descCabalVersion,
BuildType(..),
knownBuildTypes,
allLibraries,
ModuleRenaming(..),
defaultRenaming,
Library(..),
ModuleReexport(..),
emptyLibrary,
withLib,
hasPublicLib,
hasLibs,
explicitLibModules,
libModulesAutogen,
libModules,
Executable(..),
emptyExecutable,
withExe,
hasExes,
exeModules,
exeModulesAutogen,
TestSuite(..),
TestSuiteInterface(..),
TestType(..),
testType,
knownTestTypes,
emptyTestSuite,
hasTests,
withTest,
testModules,
testModulesAutogen,
Benchmark(..),
BenchmarkInterface(..),
BenchmarkType(..),
benchmarkType,
knownBenchmarkTypes,
emptyBenchmark,
hasBenchmarks,
withBenchmark,
benchmarkModules,
benchmarkModulesAutogen,
BuildInfo(..),
emptyBuildInfo,
allBuildInfo,
allLanguages,
allExtensions,
usedExtensions,
hcOptions,
hcProfOptions,
hcSharedOptions,
ComponentName(..),
defaultLibName,
HookedBuildInfo,
emptyHookedBuildInfo,
updatePackageDescription,
GenericPackageDescription(..),
Flag(..), emptyFlag,
FlagName, mkFlagName, unFlagName,
FlagAssignment,
showFlagValue,
dispFlagAssignment, parseFlagAssignment,
CondTree(..), ConfVar(..), Condition(..),
cNot, cAnd, cOr,
SourceRepo(..),
RepoKind(..),
RepoType(..),
knownRepoTypes,
emptySourceRepo,
SetupBuildInfo(..),
) where
import Prelude ()
import Distribution.Types.Library
import Distribution.Types.TestSuite
import Distribution.Types.Executable
import Distribution.Types.Benchmark
import Distribution.Types.TestType
import Distribution.Types.TestSuiteInterface
import Distribution.Types.BenchmarkType
import Distribution.Types.BenchmarkInterface
import Distribution.Types.ModuleRenaming
import Distribution.Types.ModuleReexport
import Distribution.Types.BuildInfo
import Distribution.Types.SetupBuildInfo
import Distribution.Types.BuildType
import Distribution.Types.GenericPackageDescription
import Distribution.Types.CondTree
import Distribution.Types.Condition
import Distribution.Types.PackageDescription
import Distribution.Types.ComponentName
import Distribution.Types.HookedBuildInfo
import Distribution.Types.SourceRepo