stack-0.1.10.1: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.Build

Description

Build-specific types.

Synopsis

Documentation

modTime :: UTCTime -> ModTime Source

One-way conversion to serialized time.

class PackageInstallInfo a where Source

Datatype which tells how which version of a package to install and where to install it into

data Task Source

A task to perform when building

Constructors

Task 

Fields

Instances

data LocalPackage Source

Information on a locally available package of source code

Constructors

LocalPackage 

Fields

data BaseConfigOpts Source

Basic information used to calculate what the configure options are

data Plan Source

A complete plan of what needs to be built and how to do it

Constructors

Plan 

Fields

Instances

data TestOpts Source

Options for the FinalAction DoTests

Constructors

TestOpts 

Fields

data BenchmarkOpts Source

Options for the FinalAction DoBenchmarks

Constructors

BenchmarkOpts 

Fields

data BuildOpts Source

Configuration for building.

Constructors

BuildOpts 

Fields

data BuildSubset Source

Which subset of packages to build

Constructors

BSAll 
BSOnlySnapshot

Only install packages in the snapshot database, skipping packages intended for the local database.

BSOnlyDependencies 

data TaskType Source

The type of a task, either building local code or something from the package index (upstream)

data TaskConfigOpts Source

Given the IDs of any missing packages, produce the configure options

Constructors

TaskConfigOpts 

Fields

data ConfigCache Source

Stored on disk to know whether the flags have changed or any files have changed.

Constructors

ConfigCache 

Fields

  • configCacheOpts :: !ConfigureOpts

    All options used for this package.

  • configCacheDeps :: !(Set GhcPkgId)

    The GhcPkgIds of all of the dependencies. Since Cabal doesn't take the complete GhcPkgId (only a PackageIdentifier) in the configure options, just using the previous value is insufficient to know if dependencies have changed.

  • configCacheComponents :: !(Set ByteString)

    The components to be built. It's a bit of a hack to include this in here, as it's not a configure option (just a build option), but this is a convenient way to force compilation when the components change.

  • configCacheHaddock :: !Bool

    Are haddocks to be built?

configureOpts Source

Arguments

:: EnvConfig 
-> BaseConfigOpts 
-> Map PackageIdentifier GhcPkgId

dependencies

-> Bool

wanted?

-> Bool

local non-extra-dep?

-> InstallLocation 
-> Package 
-> ConfigureOpts 

Render a BaseConfigOpts to an actual list of options

wantedLocalPackages :: [LocalPackage] -> Set PackageName Source

Get set of wanted package names from locals.

data ConfigureOpts Source

Configure options to be sent to Setup.hs configure

Constructors

ConfigureOpts 

Fields

  • coDirs :: ![String]

    Options related to various paths. We separate these out since they do not have an impact on the contents of the compiled binary for checking if we can use an existing precompiled cache.

  • coNoDirs :: ![String]