Cabal-3.2.1.0: A framework for packaging Haskell software
Safe Haskell None
Language Haskell2010

Distribution.Types.ForeignLib

Synopsis

Documentation

data ForeignLib Source #

A foreign library stanza is like a library stanza, except that the built code is intended for consumption by a non-Haskell client.

Constructors

ForeignLib

Fields

Instances

Instances details
Eq ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Data ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Methods

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

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

toConstr :: ForeignLib -> Constr Source #

dataTypeOf :: ForeignLib -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Read ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Show ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Generic ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Semigroup ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Monoid ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Binary ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

NFData ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Structured ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

HasBuildInfo ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

Methods

buildInfo :: Lens' ForeignLib BuildInfo Source #

buildable :: Lens' ForeignLib Bool Source #

buildTools :: Lens' ForeignLib [ LegacyExeDependency ] Source #

buildToolDepends :: Lens' ForeignLib [ ExeDependency ] Source #

cppOptions :: Lens' ForeignLib [ String ] Source #

asmOptions :: Lens' ForeignLib [ String ] Source #

cmmOptions :: Lens' ForeignLib [ String ] Source #

ccOptions :: Lens' ForeignLib [ String ] Source #

cxxOptions :: Lens' ForeignLib [ String ] Source #

ldOptions :: Lens' ForeignLib [ String ] Source #

pkgconfigDepends :: Lens' ForeignLib [ PkgconfigDependency ] Source #

frameworks :: Lens' ForeignLib [ String ] Source #

extraFrameworkDirs :: Lens' ForeignLib [ String ] Source #

asmSources :: Lens' ForeignLib [ FilePath ] Source #

cmmSources :: Lens' ForeignLib [ FilePath ] Source #

cSources :: Lens' ForeignLib [ FilePath ] Source #

cxxSources :: Lens' ForeignLib [ FilePath ] Source #

jsSources :: Lens' ForeignLib [ FilePath ] Source #

hsSourceDirs :: Lens' ForeignLib [ FilePath ] Source #

otherModules :: Lens' ForeignLib [ ModuleName ] Source #

virtualModules :: Lens' ForeignLib [ ModuleName ] Source #

autogenModules :: Lens' ForeignLib [ ModuleName ] Source #

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

otherLanguages :: Lens' ForeignLib [ Language ] Source #

defaultExtensions :: Lens' ForeignLib [ Extension ] Source #

otherExtensions :: Lens' ForeignLib [ Extension ] Source #

oldExtensions :: Lens' ForeignLib [ Extension ] Source #

extraLibs :: Lens' ForeignLib [ String ] Source #

extraGHCiLibs :: Lens' ForeignLib [ String ] Source #

extraBundledLibs :: Lens' ForeignLib [ String ] Source #

extraLibFlavours :: Lens' ForeignLib [ String ] Source #

extraDynLibFlavours :: Lens' ForeignLib [ String ] Source #

extraLibDirs :: Lens' ForeignLib [ String ] Source #

includeDirs :: Lens' ForeignLib [ FilePath ] Source #

includes :: Lens' ForeignLib [ FilePath ] Source #

autogenIncludes :: Lens' ForeignLib [ FilePath ] Source #

installIncludes :: Lens' ForeignLib [ FilePath ] Source #

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

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

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

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

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

targetBuildDepends :: Lens' ForeignLib [ Dependency ] Source #

mixins :: Lens' ForeignLib [ Mixin ] Source #

type Rep ForeignLib Source #
Instance details

Defined in Distribution.Types.ForeignLib

foreignLibModules :: ForeignLib -> [ ModuleName ] Source #

Modules defined by a foreign library.

foreignLibIsShared :: ForeignLib -> Bool Source #

Is the foreign library shared?

foreignLibVersion :: ForeignLib -> OS -> [ Int ] Source #

Get a version number for a foreign library. If we're on Linux, and a Linux version is specified, use that. If we're on Linux, and libtool-style version-info is specified, translate that field into appropriate version numbers. Otherwise, this feature is unsupported so we don't return any version data.

data LibVersionInfo Source #

Instances

Instances details
Eq LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Data LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Methods

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

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

toConstr :: LibVersionInfo -> Constr Source #

dataTypeOf :: LibVersionInfo -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Ord LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Read LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Show LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Generic LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Binary LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

NFData LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Structured LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Pretty LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

Parsec LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

type Rep LibVersionInfo Source #
Instance details

Defined in Distribution.Types.ForeignLib

mkLibVersionInfo :: ( Int , Int , Int ) -> LibVersionInfo Source #

Construct LibVersionInfo from (current, revision, age) numbers.

For instance, mkLibVersionInfo (3,0,0) constructs a LibVersionInfo representing the version-info 3:0:0 .

All version components must be non-negative.

libVersionInfoCRA :: LibVersionInfo -> ( Int , Int , Int ) Source #

From a given LibVersionInfo , extract the (current, revision, age) numbers.

libVersionNumber :: LibVersionInfo -> ( Int , Int , Int ) Source #

Given a version-info field, produce a major.minor.build version

libVersionNumberShow :: LibVersionInfo -> String Source #

Given a version-info field, return "major.minor.build" as a String

libVersionMajor :: LibVersionInfo -> Int Source #

Return the major version of a version-info field.