Distribution.Types.Component

Cabal-3.2.0.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.Component

Synopsis

- data Component
  - = CLib Library
  - | CFLib ForeignLib
  - | CExe Executable
  - | CTest TestSuite
  - | CBench Benchmark
- foldComponent :: (Library -> a) -> (ForeignLib -> a) -> (Executable -> a) -> (TestSuite -> a) -> (Benchmark -> a) -> Component -> a
- componentBuildInfo :: Component -> BuildInfo
- componentBuildable :: Component -> Bool
- componentName :: Component -> ComponentName
- partitionComponents :: [Component] -> ([Library], [ForeignLib], [Executable], [TestSuite], [Benchmark])

# Documentation

data Component #

Constructors

CLib Library |
CFLib ForeignLib |
CExe Executable |
CTest TestSuite |
CBench Benchmark |

#### Instances

Instances details

Eq Component # |
Instance details Defined in Distribution.Types.Component Methods (==) :: Component -> Component -> Bool # (/=) :: Component -> Component -> Bool #
Read Component # |
Instance details Defined in Distribution.Types.Component Methods readsPrec :: Int -> ReadS Component Source # readList :: ReadS [Component] Source # readPrec :: ReadPrec Component Source # readListPrec :: ReadPrec [Component] Source #
Show Component # |
Instance details Defined in Distribution.Types.Component Methods showsPrec :: Int -> Component -> ShowS Source # show :: Component -> String Source # showList :: [Component] -> ShowS Source #
Semigroup Component # |
Instance details Defined in Distribution.Types.Component Methods (<>) :: Component -> Component -> Component Source # sconcat :: NonEmpty Component -> Component Source # stimes :: Integral b => b -> Component -> Component Source #
HasBuildInfo Component # |
Instance details Defined in Distribution.Types.Component Methods buildInfo :: Lens' Component BuildInfo # buildable :: Lens' Component Bool # buildTools :: Lens' Component [LegacyExeDependency] # buildToolDepends :: Lens' Component [ExeDependency] # cppOptions :: Lens' Component [String] # asmOptions :: Lens' Component [String] # cmmOptions :: Lens' Component [String] # ccOptions :: Lens' Component [String] # cxxOptions :: Lens' Component [String] # ldOptions :: Lens' Component [String] # pkgconfigDepends :: Lens' Component [PkgconfigDependency] # frameworks :: Lens' Component [String] # extraFrameworkDirs :: Lens' Component [String] # asmSources :: Lens' Component [FilePath] # cmmSources :: Lens' Component [FilePath] # cSources :: Lens' Component [FilePath] # cxxSources :: Lens' Component [FilePath] # jsSources :: Lens' Component [FilePath] # hsSourceDirs :: Lens' Component [FilePath] # otherModules :: Lens' Component [ModuleName] # virtualModules :: Lens' Component [ModuleName] # autogenModules :: Lens' Component [ModuleName] # defaultLanguage :: Lens' Component (Maybe Language) # otherLanguages :: Lens' Component [Language] # defaultExtensions :: Lens' Component [Extension] # otherExtensions :: Lens' Component [Extension] # oldExtensions :: Lens' Component [Extension] # extraLibs :: Lens' Component [String] # extraGHCiLibs :: Lens' Component [String] # extraBundledLibs :: Lens' Component [String] # extraLibFlavours :: Lens' Component [String] # extraDynLibFlavours :: Lens' Component [String] # extraLibDirs :: Lens' Component [String] # includeDirs :: Lens' Component [FilePath] # includes :: Lens' Component [FilePath] # autogenIncludes :: Lens' Component [FilePath] # installIncludes :: Lens' Component [FilePath] # options :: Lens' Component (PerCompilerFlavor [String]) # profOptions :: Lens' Component (PerCompilerFlavor [String]) # sharedOptions :: Lens' Component (PerCompilerFlavor [String]) # staticOptions :: Lens' Component (PerCompilerFlavor [String]) # customFieldsBI :: Lens' Component [(String, String)] # targetBuildDepends :: Lens' Component [Dependency] # mixins :: Lens' Component [Mixin] #

foldComponent :: (Library -> a) -> (ForeignLib -> a) -> (Executable -> a) -> (TestSuite -> a) -> (Benchmark -> a) -> Component -> a #

componentBuildInfo :: Component -> BuildInfo #

componentBuildable :: Component -> Bool #

Is a component buildable (i.e., not marked with `buildable: False`)? See also this note in Distribution.Types.ComponentRequestedSpec.

Since: Cabal-2.0.0.2

componentName :: Component -> ComponentName #

partitionComponents :: [Component] -> ([Library], [ForeignLib], [Executable], [TestSuite], [Benchmark]) #