Copyright | Isaac Jones 2003-2006 Duncan Coutts 2009 |
---|---|
Maintainer | cabal-devel@haskell.org |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
This module contains most of the NHC-specific code for configuring, building and installing packages.
- configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, Maybe Platform, ProgramConfiguration)
- getInstalledPackages :: Verbosity -> PackageDBStack -> ProgramConfiguration -> IO PackageIndex
- buildLib :: Verbosity -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO ()
- buildExe :: Verbosity -> PackageDescription -> LocalBuildInfo -> Executable -> ComponentLocalBuildInfo -> IO ()
- install :: Verbosity -> LocalBuildInfo -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath -> (FilePath, FilePath) -> PackageDescription -> IO ()
- registerPackage :: Verbosity -> InstalledPackageInfo -> PackageDescription -> LocalBuildInfo -> Bool -> PackageDBStack -> IO ()
Documentation
configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, Maybe Platform, ProgramConfiguration) Source
getInstalledPackages :: Verbosity -> PackageDBStack -> ProgramConfiguration -> IO PackageIndex Source
buildLib :: Verbosity -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO () Source
Building a package for Hugs.
buildExe :: Verbosity -> PackageDescription -> LocalBuildInfo -> Executable -> ComponentLocalBuildInfo -> IO () Source
Building an executable for Hugs.
:: Verbosity | verbosity |
-> LocalBuildInfo | |
-> FilePath | Library install location |
-> FilePath | Program install location |
-> FilePath | Executable install location |
-> FilePath | Program location on target system |
-> FilePath | Build location |
-> (FilePath, FilePath) | Executable (prefix,suffix) |
-> PackageDescription | |
-> IO () |
Install for Hugs. For install, copy-prefix = prefix, but for copy they're different. The library goes in <copy-prefix>/lib/hugs/packages/<pkgname> (i.e. <prefix>/lib/hugs/packages/<pkgname> on the target system). Each executable goes in <copy-prefix>/lib/hugs/programs/<exename> (i.e. <prefix>/lib/hugs/programs/<exename> on the target system) with a script <copy-prefix>/bin/<exename> pointing at <prefix>/lib/hugs/programs/<exename>.
registerPackage :: Verbosity -> InstalledPackageInfo -> PackageDescription -> LocalBuildInfo -> Bool -> PackageDBStack -> IO () Source