Cabal-3.5.0.0: A framework for packaging Haskell software
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Types.Library

Synopsis

Documentation

data Library Source #

Constructors

Library 

Fields

Instances

Instances details
HasBuildInfo Library # 
Instance details

Defined in Distribution.Types.Library

Methods

buildInfo :: Lens' Library BuildInfo Source #

buildable :: Lens' Library Bool Source #

buildTools :: Lens' Library [LegacyExeDependency] Source #

buildToolDepends :: Lens' Library [ExeDependency] Source #

cppOptions :: Lens' Library [String] Source #

asmOptions :: Lens' Library [String] Source #

cmmOptions :: Lens' Library [String] Source #

ccOptions :: Lens' Library [String] Source #

cxxOptions :: Lens' Library [String] Source #

ldOptions :: Lens' Library [String] Source #

hsc2hsOptions :: Lens' Library [String] Source #

pkgconfigDepends :: Lens' Library [PkgconfigDependency] Source #

frameworks :: Lens' Library [String] Source #

extraFrameworkDirs :: Lens' Library [String] Source #

asmSources :: Lens' Library [FilePath] Source #

cmmSources :: Lens' Library [FilePath] Source #

cSources :: Lens' Library [FilePath] Source #

cxxSources :: Lens' Library [FilePath] Source #

jsSources :: Lens' Library [FilePath] Source #

hsSourceDirs :: Lens' Library [SymbolicPath PackageDir SourceDir] Source #

otherModules :: Lens' Library [ModuleName] Source #

virtualModules :: Lens' Library [ModuleName] Source #

autogenModules :: Lens' Library [ModuleName] Source #

defaultLanguage :: Lens' Library (Maybe Language) Source #

otherLanguages :: Lens' Library [Language] Source #

defaultExtensions :: Lens' Library [Extension] Source #

otherExtensions :: Lens' Library [Extension] Source #

oldExtensions :: Lens' Library [Extension] Source #

extraLibs :: Lens' Library [String] Source #

extraGHCiLibs :: Lens' Library [String] Source #

extraBundledLibs :: Lens' Library [String] Source #

extraLibFlavours :: Lens' Library [String] Source #

extraDynLibFlavours :: Lens' Library [String] Source #

extraLibDirs :: Lens' Library [String] Source #

includeDirs :: Lens' Library [FilePath] Source #

includes :: Lens' Library [FilePath] Source #

autogenIncludes :: Lens' Library [FilePath] Source #

installIncludes :: Lens' Library [FilePath] Source #

options :: Lens' Library (PerCompilerFlavor [String]) Source #

profOptions :: Lens' Library (PerCompilerFlavor [String]) Source #

sharedOptions :: Lens' Library (PerCompilerFlavor [String]) Source #

staticOptions :: Lens' Library (PerCompilerFlavor [String]) Source #

customFieldsBI :: Lens' Library [(String, String)] Source #

targetBuildDepends :: Lens' Library [Dependency] Source #

mixins :: Lens' Library [Mixin] Source #

Structured Library # 
Instance details

Defined in Distribution.Types.Library

Data Library # 
Instance details

Defined in Distribution.Types.Library

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Library -> c Library Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Library Source #

toConstr :: Library -> Constr Source #

dataTypeOf :: Library -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Library) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Library) Source #

gmapT :: (forall b. Data b => b -> b) -> Library -> Library Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Library -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Library -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Library -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Library -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Library -> m Library Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Library -> m Library Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Library -> m Library Source #

Monoid Library #

This instance is not good.

We need it for addBuildableCondition. More correct method would be some kind of "create empty clone".

More concretely, addBuildableCondition will make `libVisibility = False` libraries when `buildable: false`. This may cause problems.

Instance details

Defined in Distribution.Types.Library

Semigroup Library # 
Instance details

Defined in Distribution.Types.Library

Generic Library # 
Instance details

Defined in Distribution.Types.Library

Associated Types

type Rep Library :: Type -> Type Source #

Read Library # 
Instance details

Defined in Distribution.Types.Library

Show Library # 
Instance details

Defined in Distribution.Types.Library

Binary Library # 
Instance details

Defined in Distribution.Types.Library

NFData Library # 
Instance details

Defined in Distribution.Types.Library

Methods

rnf :: Library -> () Source #

Eq Library # 
Instance details

Defined in Distribution.Types.Library

Methods

(==) :: Library -> Library -> Bool #

(/=) :: Library -> Library -> Bool #

type Rep Library # 
Instance details

Defined in Distribution.Types.Library

explicitLibModules :: Library -> [ModuleName] Source #

Get all the module names from the library (exposed and internal modules) which are explicitly listed in the package description which would need to be compiled. (This does not include reexports, which do not need to be compiled.) This may not include all modules for which GHC generated interface files (i.e., implicit modules.)

libModulesAutogen :: Library -> [ModuleName] Source #

Get all the auto generated module names from the library, exposed or not. This are a subset of libModules.