Cabal-2.0.1.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.BuildInfo

Synopsis

- data BuildInfo = BuildInfo {
  - buildable :: Bool
  - buildTools :: [LegacyExeDependency]
  - buildToolDepends :: [ExeDependency]
  - cppOptions :: [String]
  - ccOptions :: [String]
  - ldOptions :: [String]
  - pkgconfigDepends :: [PkgconfigDependency]
  - frameworks :: [String]
  - extraFrameworkDirs :: [String]
  - cSources :: [FilePath]
  - jsSources :: [FilePath]
  - hsSourceDirs :: [FilePath]
  - otherModules :: [ModuleName]
  - autogenModules :: [ModuleName]
  - defaultLanguage :: Maybe Language
  - otherLanguages :: [Language]
  - defaultExtensions :: [Extension]
  - otherExtensions :: [Extension]
  - oldExtensions :: [Extension]
  - extraLibs :: [String]
  - extraGHCiLibs :: [String]
  - extraLibDirs :: [String]
  - includeDirs :: [FilePath]
  - includes :: [FilePath]
  - installIncludes :: [FilePath]
  - options :: [(CompilerFlavor, [String])]
  - profOptions :: [(CompilerFlavor, [String])]
  - sharedOptions :: [(CompilerFlavor, [String])]
  - customFieldsBI :: [(String, String)]
  - targetBuildDepends :: [Dependency]
  - mixins :: [Mixin]
  }
- emptyBuildInfo :: BuildInfo
- allLanguages :: BuildInfo -> [Language]
- allExtensions :: BuildInfo -> [Extension]
- usedExtensions :: BuildInfo -> [Extension]
- hcOptions :: CompilerFlavor -> BuildInfo -> [String]
- hcProfOptions :: CompilerFlavor -> BuildInfo -> [String]
- hcSharedOptions :: CompilerFlavor -> BuildInfo -> [String]

# Documentation

data BuildInfo #

Constructors

BuildInfo |

Fields

- buildable :: Bool

  component is buildable here

- buildTools :: [LegacyExeDependency]

  Tools needed to build this bit.

  This is a legacy field that `buildToolDepends` larely supersedes.

  Unless use are very sure what you are doing, use the functions in Distribution.Simple.BuildToolDepends rather than accessing this field directly.

- buildToolDepends :: [ExeDependency]

  Haskell tools needed to build this bit

  This field is better than `buildTools` because it allows one to precisely specify an executable in a package.

  Unless use are very sure what you are doing, use the functions in Distribution.Simple.BuildToolDepends rather than accessing this field directly.

- cppOptions :: [String]

  options for pre-processing Haskell code

- ccOptions :: [String]

  options for C compiler

- ldOptions :: [String]

  options for linker

- pkgconfigDepends :: [PkgconfigDependency]

  pkg-config packages that are used

- frameworks :: [String]

  support frameworks for Mac OS X

- extraFrameworkDirs :: [String]

  extra locations to find frameworks.

- cSources :: [FilePath]
- jsSources :: [FilePath]
- hsSourceDirs :: [FilePath]

  where to look for the Haskell module hierarchy

- otherModules :: [ModuleName]

  non-exposed or non-main modules

- autogenModules :: [ModuleName]

  not present on sdist, Paths_* or user-generated with a custom Setup.hs

- defaultLanguage :: Maybe Language

  language used when not explicitly specified

- otherLanguages :: [Language]

  other languages used within the package

- defaultExtensions :: [Extension]

  language extensions used by all modules

- otherExtensions :: [Extension]

  other language extensions used within the package

- oldExtensions :: [Extension]

  the old extensions field, treated same as `defaultExtensions`

- extraLibs :: [String]

  what libraries to link with when compiling a program that uses your package

- extraGHCiLibs :: [String]

  if present, overrides extraLibs when package is loaded with GHCi.

- extraLibDirs :: [String]
- includeDirs :: [FilePath]

  directories to find .h files

- includes :: [FilePath]

  The .h files to be found in includeDirs

- installIncludes :: [FilePath]

  .h files to install with the package

- options :: [(CompilerFlavor, [String])]
- profOptions :: [(CompilerFlavor, [String])]
- sharedOptions :: [(CompilerFlavor, [String])]
- customFieldsBI :: [(String, String)]

  Custom fields starting with x-, stored in a simple assoc-list.

- targetBuildDepends :: [Dependency]

  Dependencies specific to a library or executable target

- mixins :: [Mixin]

Instances

Eq BuildInfo # |
Methods (==) :: BuildInfo -> BuildInfo -> Bool # (/=) :: BuildInfo -> BuildInfo -> Bool #
Data BuildInfo # |

Methods

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

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

toConstr :: BuildInfo -> Constr Source #

dataTypeOf :: BuildInfo -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Read BuildInfo # |
Methods readsPrec :: Int -> ReadS BuildInfo Source # readList :: ReadS [BuildInfo] Source # readPrec :: ReadPrec BuildInfo Source # readListPrec :: ReadPrec [BuildInfo] Source #
Show BuildInfo # |
Methods showsPrec :: Int -> BuildInfo -> ShowS Source # show :: BuildInfo -> String Source # showList :: [BuildInfo] -> ShowS Source #
Generic BuildInfo # |
Associated Types type Rep BuildInfo :: * -> * Source # Methods from :: BuildInfo -> Rep BuildInfo x Source # to :: Rep BuildInfo x -> BuildInfo Source #
Semigroup BuildInfo # |
Methods (<>) :: BuildInfo -> BuildInfo -> BuildInfo Source # sconcat :: NonEmpty BuildInfo -> BuildInfo Source # stimes :: Integral b => b -> BuildInfo -> BuildInfo Source #
Monoid BuildInfo # |
Methods mempty :: BuildInfo Source # mappend :: BuildInfo -> BuildInfo -> BuildInfo Source # mconcat :: [BuildInfo] -> BuildInfo Source #
Binary BuildInfo # |
Methods put :: BuildInfo -> Put Source # get :: Get BuildInfo Source # putList :: [BuildInfo] -> Put Source #
type Rep BuildInfo # |

type Rep BuildInfo = D1 * (MetaData "BuildInfo" "Distribution.Types.BuildInfo" "Cabal-2.0.1.0" False) (C1 * (MetaCons "BuildInfo" PrefixI True) ((:*:) * ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "buildable") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Bool)) ((:*:) * (S1 * (MetaSel (Just Symbol "buildTools") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [LegacyExeDependency])) (S1 * (MetaSel (Just Symbol "buildToolDepends") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [ExeDependency])))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "cppOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "ccOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String]))) ((:*:) * (S1 * (MetaSel (Just Symbol "ldOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "pkgconfigDepends") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [PkgconfigDependency]))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "frameworks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "extraFrameworkDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String]))) ((:*:) * (S1 * (MetaSel (Just Symbol "cSources") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath])) (S1 * (MetaSel (Just Symbol "jsSources") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath])))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "hsSourceDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath])) (S1 * (MetaSel (Just Symbol "otherModules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [ModuleName]))) ((:*:) * (S1 * (MetaSel (Just Symbol "autogenModules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [ModuleName])) (S1 * (MetaSel (Just Symbol "defaultLanguage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (Maybe Language))))))) ((:*:) * ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "otherLanguages") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Language])) (S1 * (MetaSel (Just Symbol "defaultExtensions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Extension]))) ((:*:) * (S1 * (MetaSel (Just Symbol "otherExtensions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Extension])) (S1 * (MetaSel (Just Symbol "oldExtensions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Extension])))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "extraLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "extraGHCiLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String]))) ((:*:) * (S1 * (MetaSel (Just Symbol "extraLibDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "includeDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath]))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "includes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath])) (S1 * (MetaSel (Just Symbol "installIncludes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [FilePath]))) ((:*:) * (S1 * (MetaSel (Just Symbol "options") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(CompilerFlavor, [String])])) (S1 * (MetaSel (Just Symbol "profOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(CompilerFlavor, [String])])))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "sharedOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(CompilerFlavor, [String])])) (S1 * (MetaSel (Just Symbol "customFieldsBI") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(String, String)]))) ((:*:) * (S1 * (MetaSel (Just Symbol "targetBuildDepends") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Dependency])) (S1 * (MetaSel (Just Symbol "mixins") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [Mixin]))))))))

emptyBuildInfo :: BuildInfo #

allLanguages :: BuildInfo -> [Language] #

The `Language`s used by this component

allExtensions :: BuildInfo -> [Extension] #

The `Extension`s that are used somewhere by this component

usedExtensions :: BuildInfo -> [Extension] #

The `Extensions` that are used by all modules in this component

hcOptions :: CompilerFlavor -> BuildInfo -> [String] #

Select options for a particular Haskell compiler.

hcProfOptions :: CompilerFlavor -> BuildInfo -> [String] #

hcSharedOptions :: CompilerFlavor -> BuildInfo -> [String] #