Cabal-2.4.0.1: A framework for packaging Haskell software

CopyrightIsaac Jones 2003-2004
Duncan Coutts 2008
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.BuildPaths

Contents

Description

A bunch of dirs, paths and file names used for intermediate build steps.

Synopsis

Documentation

haddockDirName :: HaddockTarget -> PackageDescription -> FilePath Source #

This is the name of the directory in which the generated haddocks should be stored. It does not include the distdochtml prefix.

haddockPref :: HaddockTarget -> FilePath -> PackageDescription -> FilePath Source #

The directory to which generated haddock documentation should be written.

autogenModulesDir :: LocalBuildInfo -> String Source #

Deprecated: If you can, use autogenComponentModulesDir instead, but if you really wanted package-global generated modules, use autogenPackageModulesDir. In Cabal 2.0, we avoid using autogenerated files which apply to all components, because the information you often want in these files, e.g., dependency information, is best specified per component, so that reconfiguring a different component (e.g., enabling tests) doesn't force the entire to be rebuilt. autogenPackageModulesDir still provides a place to put files you want to apply to the entire package, but most users of autogenModulesDir should seriously consider autogenComponentModulesDir if you really wanted the module to apply to one component.

The directory in which we put auto-generated modules for EVERY component in the package. See deprecation notice.

autogenPackageModulesDir :: LocalBuildInfo -> String Source #

The directory in which we put auto-generated modules for EVERY component in the package.

autogenComponentModulesDir :: LocalBuildInfo -> ComponentLocalBuildInfo -> String Source #

The directory in which we put auto-generated modules for a particular component.

autogenModuleName :: PackageDescription -> ModuleName Source #

Deprecated: Use autogenPathsModuleName instead

The name of the auto-generated module associated with a package

autogenPathsModuleName :: PackageDescription -> ModuleName Source #

The name of the auto-generated Paths_* module associated with a package

mkGenericStaticLibName :: String -> String Source #

Create a library name for a static library from a given name. Prepends lib and appends the static library extension ('.a').

mkGenericSharedLibName :: Platform -> CompilerId -> String -> String Source #

Create a library name for a shared lirbary from a given name. Prepends lib and appends the '-<compilerFlavour><compilerVersion>' as well as the shared library extension.

exeExtension :: Platform -> String Source #

Default extension for executable files on the current platform. (typically "" on Unix and "exe" on Windows or OS/2)

objExtension :: String Source #

Extension for object files. For GHC the extension is "o".

dllExtension :: Platform -> String Source #

Extension for dynamically linked (or shared) libraries (typically "so" on Unix and "dll" on Windows)

staticLibExtension :: Platform -> String Source #

Extension for static libraries

TODO: Here, as well as in dllExtension, it's really the target OS that we're interested in, not the build OS.

Source files & build directories

exeBuildDir :: LocalBuildInfo -> Executable -> FilePath Source #

The directory where we put build results for an executable

flibBuildDir :: LocalBuildInfo -> ForeignLib -> FilePath Source #

The directory where we put build results for a foreign library