ddc-build-0.4.3.1: Disciplined Disciple Compiler build framework.

Safe HaskellSafe
LanguageHaskell98

DDC.Build.Builder

Synopsis

Documentation

data BuilderConfig Source #

Configuration information for a builder that is not platform specific.

Constructors

BuilderConfig 

Fields

data BuilderHost Source #

Builder information that we determine by interrogating the host platform. This tells us what we need to know about the environment that we're building in, versions of software tools etc. This is separate

Constructors

BuilderHost 

data Builder Source #

Actions to use to invoke external compilation tools.

Constructors

Builder 

Fields

Instances

data BuilderResult Source #

The result of a build command.

We use these so that the called doesn't need to worry about interpreting numeric exit codes.

Constructors

BuilderSuccess

Build command completed successfully.

BuilderCanceled

Build command was cancelled or killed by the user. eg by Control-C on the console.

BuilderFailed

Build command failed. There is probably something wrong with the generated file. Unrecognised exit codes also result in this BuilderResult.

builders :: BuilderConfig -> BuilderHost -> [Builder] Source #

All supported builders. The host and target platforms are the same.

Supported builders are: x86_32-darwin, x86_64-darwin, x86_32-linux, x86_64-linux, x86_32-cygwin, ppc32-linux

determineDefaultBuilder :: BuilderConfig -> IO (Maybe Builder) Source #

Determine the default builder based on the arch and uname commands. This assumes that the host and target platforms are the same.

If we don't recognise the result of arch or uname, or don't have a default builder config for this platform then Nothing.

determineDefaultBuilderHost :: IO (Maybe BuilderHost) Source #

Determine the default builder host configuration, this the default set of build tools that we can see in the current path.