-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A build tool for ATS
--
-- A collection of scripts to simplify building ATS projects.
@package ats-pkg
@version 2.2.1.0
module Language.ATS.Package
pkgToAction :: [IO ()] -> [String] -> Maybe String -> Pkg -> Rules ()
fetchCompiler :: Version -> IO ()
setupCompiler :: Version -> IO ()
-- | Build a set of targets
build :: [String] -> IO ()
-- | Build in current directory or indicated directory
buildAll :: Maybe FilePath -> IO ()
check :: Maybe FilePath -> IO Bool
mkPkg :: Bool -> Bool -> [IO ()] -> [String] -> Maybe String -> Int -> IO ()
cleanAll :: IO ()
upgradeAtsPkg :: IO ()
fetchDeps :: Bool -> [IO ()] -> [ATSDependency] -> [ATSDependency] -> Bool -> IO ()
getCCompiler :: String -> CCompiler
newtype Version :: *
Version :: [Integer] -> Version
-- | Data type associated with atspkg.dhall file.
data Pkg
Pkg :: [Bin] -> [Bin] -> Maybe Text -> Version -> Version -> [ATSDependency] -> [ATSDependency] -> Text -> [Text] -> [Text] -> Text -> Pkg
-- | List of binaries to be built
[bin] :: Pkg -> [Bin]
-- | List of test suites
[test] :: Pkg -> [Bin]
-- | Optional (markdown) manpages to be converted using pandoc.
[man] :: Pkg -> Maybe Text
-- | Library version
[version] :: Pkg -> Version
-- | Compiler version
[compiler] :: Pkg -> Version
-- | List of dependencies
[dependencies] :: Pkg -> [ATSDependency]
-- | List of C dependencies
[clib] :: Pkg -> [ATSDependency]
-- | The C compiler we should use
[ccompiler] :: Pkg -> Text
-- | List of flags to pass to the C compiler
[cflags] :: Pkg -> [Text]
-- | Directory containing ATS source to be compile to C.
[atsSource] :: Pkg -> [Text]
-- | Directory for generated C.
[cDir] :: Pkg -> Text
data Bin
Bin :: Text -> Text -> [Text] -> [ForeignCabal] -> [TargetPair] -> Bool -> [Text] -> Bin
-- | Source file (should end with .dats)
[src] :: Bin -> Text
-- | Binary to be built
[target] :: Bin -> Text
-- | Libraries to link against (e.g. [ "pthread" ])
[libs] :: Bin -> [Text]
-- | Haskell .cabal files associated with the final library we
-- want to make
[hsDeps] :: Bin -> [ForeignCabal]
-- | List of sources and targets for hs2ats
[hs2ats] :: Bin -> [TargetPair]
-- | Whether to use the garbage collector
[gcBin] :: Bin -> Bool
-- | C source files the build depends on
[cSources] :: Bin -> [Text]
data ATSConstraint
ATSConstraint :: Text -> Maybe Version -> Maybe Version -> ATSConstraint
[pkgName] :: ATSConstraint -> Text
[lower] :: ATSConstraint -> Maybe Version
[upper] :: ATSConstraint -> Maybe Version
-- | Type for a dependency
data ATSDependency
ATSDependency :: Text -> Text -> Text -> Version -> ATSDependency
-- | Library name, e.g.
[libName] :: ATSDependency -> Text
-- | Directory we should unpack to
[dir] :: ATSDependency -> Text
-- | Url pointing to tarball
[url] :: ATSDependency -> Text
[libVersion] :: ATSDependency -> Version
-- | This is just a tuple, except I can figure out how to use it with
-- Dhall.
data TargetPair
TargetPair :: Text -> Text -> TargetPair
[hs] :: TargetPair -> Text
[ats] :: TargetPair -> Text
dirLens :: Lens' ATSDependency Text
module Language.ATS.Package.Exec
exec :: IO ()