Safe Haskell | None |
---|---|
Language | Haskell98 |
- data BuilderConfig = BuilderConfig {}
- data BuilderHost = BuilderHost {}
- data Builder = Builder {
- builderName :: String
- buildHost :: Platform
- buildTarget :: Platform
- buildSpec :: Platform
- buildBaseSrcDir :: FilePath
- buildBaseLibDir :: FilePath
- buildCC :: FilePath -> FilePath -> IO ()
- buildLlc :: FilePath -> FilePath -> IO ()
- buildLlvmVersion :: String
- buildAs :: FilePath -> FilePath -> IO ()
- buildLdExe :: [FilePath] -> FilePath -> IO ()
- buildLdLibStatic :: [FilePath] -> FilePath -> IO ()
- buildLdLibShared :: [FilePath] -> FilePath -> IO ()
- data BuilderResult
- builders :: BuilderConfig -> BuilderHost -> [Builder]
- determineDefaultBuilder :: BuilderConfig -> IO (Maybe Builder)
- determineDefaultBuilderHost :: IO (Maybe BuilderHost)
Documentation
data BuilderConfig Source
Configuration information for a builder that is not platform specific.
BuilderConfig | |
|
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
Actions to use to invoke external compilation tools.
Builder | |
|
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.
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.