-- 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.4.2.18 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 -> Bool -> [IO ()] -> [String] -> Maybe String -> Int -> IO () cleanAll :: IO () upgradeAtsPkg :: IO () fetchDeps :: CCompiler -> [IO ()] -> [String] -> [String] -> [String] -> FilePath -> Bool -> IO () mkBuildPlan :: ATSPackageSet -> [String] -> DepM [[ATSDependency]] buildHelper :: Bool -> ATSDependency -> IO () checkPkg :: FilePath -> Bool -> IO ATSDependency displayList :: String -> IO () newtype Version :: * Version :: [Integer] -> Version -- | Data type associated with atspkg.dhall file. data Pkg Pkg :: [Bin] -> [Bin] -> [Lib] -> Maybe Text -> Version -> Version -> [LibDep] -> [LibDep] -> [LibDep] -> Text -> [Text] -> [Text] -> Text -> Pkg -- | List of binaries to be built [$sel:bin:Pkg] :: Pkg -> [Bin] -- | List of test suites [$sel:test:Pkg] :: Pkg -> [Bin] -- | List of libraries to be built [$sel:libraries:Pkg] :: Pkg -> [Lib] -- | Optional (markdown) manpages to be converted using pandoc. [$sel:man:Pkg] :: Pkg -> Maybe Text -- | Library version [$sel:version:Pkg] :: Pkg -> Version -- | Compiler version [$sel:compiler:Pkg] :: Pkg -> Version -- | List of dependencies [$sel:dependencies:Pkg] :: Pkg -> [LibDep] -- | List of C dependencies [$sel:clib:Pkg] :: Pkg -> [LibDep] -- | List of ATS dependencies that should be installed as static libraries [$sel:buildDeps:Pkg] :: Pkg -> [LibDep] -- | The C compiler we should use [$sel:ccompiler:Pkg] :: Pkg -> Text -- | List of flags to pass to the C compiler [$sel:cflags:Pkg] :: Pkg -> [Text] -- | Directory containing ATS source to be compile to C. [$sel:atsSource:Pkg] :: Pkg -> [Text] -- | Directory for generated C. [$sel:cDir:Pkg] :: Pkg -> Text data Bin Bin :: Text -> Text -> [Text] -> [ForeignCabal] -> [TargetPair] -> Bool -> [Text] -> [Text] -> Bin -- | Source file (should end with .dats) [$sel:src:Bin] :: Bin -> Text -- | Binary to be built [$sel:target:Bin] :: Bin -> Text -- | Libraries to link against (e.g. [ "pthread" ]) [$sel:libs:Bin] :: Bin -> [Text] -- | Haskell .cabal files associated with the final library we -- want to make [$sel:hsDeps:Bin] :: Bin -> [ForeignCabal] -- | List of sources and targets for hs2ats [$sel:hs2ats:Bin] :: Bin -> [TargetPair] -- | Whether to use the garbage collector [$sel:gcBin:Bin] :: Bin -> Bool -- | C source files the build depends on [$sel:cSources:Bin] :: Bin -> [Text] -- | Extra source files the build depends on [$sel:extras:Bin] :: Bin -> [Text] data Lib Lib :: Text -> [Text] -> Text -> [Text] -> [Text] -> [ForeignCabal] -> [(Text, Text)] -> [TargetPair] -> [Text] -> [Text] -> Bool -> Lib -- | Name of library being provided [$sel:name:Lib] :: Lib -> Text -- | Source files (should end with .dats) to be compiled to object -- files [$sel:src:Lib] :: Lib -> [Text] [$sel:libTarget:Lib] :: Lib -> Text -- | Libraries to link against (e.g. [ "pthread" ]) [$sel:libs:Lib] :: Lib -> [Text] -- | Include files to be installed with the library [$sel:includes:Lib] :: Lib -> [Text] -- | Haskell .cabal files associated with object files [$sel:hsDeps:Lib] :: Lib -> [ForeignCabal] -- | Generate link files. [$sel:links:Lib] :: Lib -> [(Text, Text)] -- | Sources and targets for hs2ats [$sel:hs2ats:Lib] :: Lib -> [TargetPair] -- | C source files the build depends on [$sel:cSources:Lib] :: Lib -> [Text] -- | Other source files the build depends on [$sel:extras:Lib] :: Lib -> [Text] -- | Whether to make a static library [$sel:static:Lib] :: Lib -> Bool data ATSConstraint ATSConstraint :: Maybe Version -> Maybe Version -> ATSConstraint [$sel:lower:ATSConstraint] :: ATSConstraint -> Maybe Version [$sel:upper:ATSConstraint] :: ATSConstraint -> Maybe Version -- | Type for a dependency data ATSDependency ATSDependency :: Text -> Text -> Text -> Maybe Text -> Version -> [LibDep] -> ATSDependency -- | Library name, e.g. [$sel:libName:ATSDependency] :: ATSDependency -> Text -- | Directory we should unpack to [$sel:dir:ATSDependency] :: ATSDependency -> Text -- | Url pointing to tarball [$sel:url:ATSDependency] :: ATSDependency -> Text -- | Package description [$sel:description:ATSDependency] :: ATSDependency -> Maybe Text [$sel:libVersion:ATSDependency] :: ATSDependency -> Version -- | Strings containing dependencies [$sel:libDeps:ATSDependency] :: ATSDependency -> [LibDep] -- | This is just a tuple, except I can figure out how to use it with -- Dhall. data TargetPair TargetPair :: Text -> Text -> Bool -> TargetPair [$sel:hs:TargetPair] :: TargetPair -> Text [$sel:ats:TargetPair] :: TargetPair -> Text [$sel:cpphs:TargetPair] :: TargetPair -> Bool -- | Data type containing information about Haskell components of a build. data ForeignCabal :: * ForeignCabal :: Maybe Text -> Text -> Text -> ForeignCabal -- | cabal.project file to track [projectFile] :: ForeignCabal -> Maybe Text -- | .cabal file associated with the library [cabalFile] :: ForeignCabal -> Text -- | Object file to be generated [objectFile] :: ForeignCabal -> Text newtype ATSPackageSet ATSPackageSet :: [ATSDependency] -> ATSPackageSet type LibDep = (Text, ATSConstraint) data PackageError Unrecognized :: String -> PackageError DepErr :: ResolveError -> PackageError dirLens :: Lens' ATSDependency Text module Language.ATS.Package.Exec exec :: IO ()