Cabal-1.16.0: A framework for packaging Haskell software

Portability | portable
Maintainer | cabal-devel@haskell.org
Safe Haskell | None

Distribution.Simple.Hugs

Description

This module contains most of the NHC-specific code for configuring, building and installing packages.

Synopsis

- configure :: Verbosity -> Maybe FilePath -> Maybe FilePath -> ProgramConfiguration -> IO (Compiler, 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, ProgramConfiguration)

getInstalledPackages :: Verbosity -> PackageDBStack -> ProgramConfiguration -> IO PackageIndex

buildLib :: Verbosity -> PackageDescription -> LocalBuildInfo -> Library -> ComponentLocalBuildInfo -> IO ()

Building a package for Hugs.

buildExe :: Verbosity -> PackageDescription -> LocalBuildInfo -> Executable -> ComponentLocalBuildInfo -> IO ()

Building an executable for Hugs.

install

Arguments

:: 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 ()