Distribution.Types.BuildInfo

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 Source #

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 Source #

allLanguages :: BuildInfo -> [Language] Source #

The `Language`s used by this component

allExtensions :: BuildInfo -> [Extension] Source #

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

usedExtensions :: BuildInfo -> [Extension] Source #

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

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

Select options for a particular Haskell compiler.

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

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