packages feed

Cabal-3.0.0.0: doc/API/Cabal/Distribution-Simple-GHCJS.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Simple.GHCJS</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-3.0.0.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Simple.GHCJS</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Constructing and deconstructing GHC environment files</a></li><li><a href="#g:2">Version-specific implementation quirks</a></li></ul></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><a href="#v:getGhcInfo">getGhcInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram" title="Distribution.Simple.Program.Types">ConfiguredProgram</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)]</li><li class="src short"><a href="#v:configure">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a>)</li><li class="src short"><a href="#v:getInstalledPackages">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex" title="Distribution.Simple.PackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:getInstalledPackagesMonitorFiles">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; [<a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>]</li><li class="src short"><a href="#v:getPackageDBContents">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex" title="Distribution.Simple.PackageIndex">InstalledPackageIndex</a></li><li class="src short"><a href="#v:buildLib">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:buildFLib">buildFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:buildExe">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:replLib">replLib</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:replFLib">replFLib</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:replExe">replExe</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:startInterpreter">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:installLib">installLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:installFLib">installFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:installExe">installExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; (<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:libAbiHash">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></li><li class="src short"><a href="#v:hcPkgInfo">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo" title="Distribution.Simple.Program.HcPkg">HcPkgInfo</a></li><li class="src short"><a href="#v:registerPackage">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Types-InstalledPackageInfo.html#t:InstalledPackageInfo" title="Distribution.Types.InstalledPackageInfo">InstalledPackageInfo</a> -&gt; <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions" title="Distribution.Simple.Program.HcPkg">RegisterOptions</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</li><li class="src short"><a href="#v:componentGhcOptions">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-BuildInfo.html#t:BuildInfo" title="Distribution.Types.BuildInfo">BuildInfo</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions" title="Distribution.Simple.Program.GHC">GhcOptions</a></li><li class="src short"><a href="#v:componentCcGhcOptions">componentCcGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-BuildInfo.html#t:BuildInfo" title="Distribution.Types.BuildInfo">BuildInfo</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions" title="Distribution.Simple.Program.GHC">GhcOptions</a></li><li class="src short"><a href="#v:getLibDir">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></li><li class="src short"><a href="#v:isDynamic">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li class="src short"><a href="#v:getGlobalPackageDB">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram" title="Distribution.Simple.Program.Types">ConfiguredProgram</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></li><li class="src short"><a href="#v:pkgRoot">pkgRoot</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></li><li class="src short"><a href="#v:runCmd">runCmd</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; (<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>])</li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcEnvironmentFileEntry">GhcEnvironmentFileEntry</a><ul class="subs"><li>= <a href="#v:GhcEnvFileComment">GhcEnvFileComment</a> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></li><li>| <a href="#v:GhcEnvFilePackageId">GhcEnvFilePackageId</a> <a href="Distribution-Types-UnitId.html#t:UnitId" title="Distribution.Types.UnitId">UnitId</a></li><li>| <a href="#v:GhcEnvFilePackageDb">GhcEnvFilePackageDb</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a></li><li>| <a href="#v:GhcEnvFileClearPackageDbStack">GhcEnvFileClearPackageDbStack</a></li></ul></li><li class="src short"><a href="#v:simpleGhcEnvironmentFile">simpleGhcEnvironmentFile</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; [<a href="Distribution-Types-UnitId.html#t:UnitId" title="Distribution.Types.UnitId">UnitId</a>] -&gt; [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>]</li><li class="src short"><a href="#v:renderGhcEnvironmentFile">renderGhcEnvironmentFile</a> :: [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></li><li class="src short"><a href="#v:writeGhcEnvironmentFile">writeGhcEnvironmentFile</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> -&gt; [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></li><li class="src short"><a href="#v:ghcPlatformAndVersionString">ghcPlatformAndVersionString</a> :: <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></li><li class="src short"><a href="#v:readGhcEnvironmentFile">readGhcEnvironmentFile</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>]</li><li class="src short"><a href="#v:parseGhcEnvironmentFile">parseGhcEnvironmentFile</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/parsec-3.1.13.0/Text-Parsec-String.html#t:Parser" title="Text.Parsec.String">Parser</a> [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>]</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ParseErrorExc">ParseErrorExc</a> = <a href="#v:ParseErrorExc">ParseErrorExc</a> <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/parsec-3.1.13.0/Text-Parsec-Error.html#t:ParseError" title="Text.Parsec.Error">ParseError</a></li><li class="src short"><a href="#v:getImplInfo">getImplInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcImplInfo" title="Distribution.Simple.GHCJS">GhcImplInfo</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GhcImplInfo">GhcImplInfo</a> = <a href="#v:GhcImplInfo">GhcImplInfo</a> {<ul class="subs"><li><a href="#v:supportsHaskell2010">supportsHaskell2010</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:reportsNoExt">reportsNoExt</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:alwaysNondecIndent">alwaysNondecIndent</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:flagGhciScript">flagGhciScript</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:flagProfAuto">flagProfAuto</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:flagPackageConf">flagPackageConf</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:flagDebugInfo">flagDebugInfo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:supportsDebugLevels">supportsDebugLevels</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:supportsPkgEnvFiles">supportsPkgEnvFiles</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li><a href="#v:flagWarnMissingHomeModules">flagWarnMissingHomeModules</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li></ul>}</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:getGhcInfo" class="def">getGhcInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram" title="Distribution.Simple.Program.Types">ConfiguredProgram</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [(<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>)] <a href="#v:getGhcInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:configure" class="def">configure</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> (<a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a>, <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a>) <a href="#v:configure" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getInstalledPackages" class="def">getInstalledPackages</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex" title="Distribution.Simple.PackageIndex">InstalledPackageIndex</a> <a href="#v:getInstalledPackages" class="selflink">#</a></p><div class="doc"><p>Given a package DB stack, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:getInstalledPackagesMonitorFiles" class="def">getInstalledPackagesMonitorFiles</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; [<a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>] <a href="#v:getInstalledPackagesMonitorFiles" class="selflink">#</a></p><div class="doc"><p>Get the packages from specific PackageDBs, not cumulative.</p></div></div><div class="top"><p class="src"><a id="v:getPackageDBContents" class="def">getPackageDBContents</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Simple-PackageIndex.html#t:InstalledPackageIndex" title="Distribution.Simple.PackageIndex">InstalledPackageIndex</a> <a href="#v:getPackageDBContents" class="selflink">#</a></p><div class="doc"><p>Given a single package DB, return all installed packages.</p></div></div><div class="top"><p class="src"><a id="v:buildLib" class="def">buildLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:buildLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:buildFLib" class="def">buildFLib</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:buildFLib" class="selflink">#</a></p><div class="doc"><p>Build a foreign library</p></div></div><div class="top"><p class="src"><a id="v:buildExe" class="def">buildExe</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:buildExe" class="selflink">#</a></p><div class="doc"><p>Build an executable with GHC.</p></div></div><div class="top"><p class="src"><a id="v:replLib" class="def">replLib</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:replLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replFLib" class="def">replFLib</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:replFLib" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:replExe" class="def">replExe</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>] -&gt; <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Flag.html#t:Flag" title="Distribution.Simple.Flag">Flag</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:replExe" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:startInterpreter" class="def">startInterpreter</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:startInterpreter" class="selflink">#</a></p><div class="doc"><p>Start a REPL without loading any source files.</p></div></div><div class="top"><p class="src"><a id="v:installLib" class="def">installLib</a> <a href="#v:installLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>install location for dynamic libraries</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Install for ghc, .hi, .a and, if --with-ghci given, .o</p></div></div><div class="top"><p class="src"><a id="v:installFLib" class="def">installFLib</a> <a href="#v:installFLib" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>install location</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-ForeignLib.html#t:ForeignLib" title="Distribution.Types.ForeignLib">ForeignLib</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Install foreign library for GHC.</p></div></div><div class="top"><p class="src"><a id="v:installExe" class="def">installExe</a> <a href="#v:installExe" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>Where to copy the files to</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>Build location</p></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>)</td><td class="doc"><p>Executable (prefix,suffix)</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-Executable.html#t:Executable" title="Distribution.Types.Executable">Executable</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> ()</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Install executables for GHCJS.</p></div></div><div class="top"><p class="src"><a id="v:libAbiHash" class="def">libAbiHash</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-Library.html#t:Library" title="Distribution.Types.Library">Library</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:libAbiHash" class="selflink">#</a></p><div class="doc"><p>Extracts a String representing a hash of the ABI of a built
 library.  It can fail if the library has not yet been built.</p></div></div><div class="top"><p class="src"><a id="v:hcPkgInfo" class="def">hcPkgInfo</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Program-HcPkg.html#t:HcPkgInfo" title="Distribution.Simple.Program.HcPkg">HcPkgInfo</a> <a href="#v:hcPkgInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:registerPackage" class="def">registerPackage</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; <a href="Distribution-Types-InstalledPackageInfo.html#t:InstalledPackageInfo" title="Distribution.Types.InstalledPackageInfo">InstalledPackageInfo</a> -&gt; <a href="Distribution-Simple-Program-HcPkg.html#t:RegisterOptions" title="Distribution.Simple.Program.HcPkg">RegisterOptions</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> () <a href="#v:registerPackage" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentGhcOptions" class="def">componentGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-BuildInfo.html#t:BuildInfo" title="Distribution.Types.BuildInfo">BuildInfo</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions" title="Distribution.Simple.Program.GHC">GhcOptions</a> <a href="#v:componentGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:componentCcGhcOptions" class="def">componentCcGhcOptions</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Types-BuildInfo.html#t:BuildInfo" title="Distribution.Types.BuildInfo">BuildInfo</a> -&gt; <a href="Distribution-Types-ComponentLocalBuildInfo.html#t:ComponentLocalBuildInfo" title="Distribution.Types.ComponentLocalBuildInfo">ComponentLocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Simple-Program-GHC.html#t:GhcOptions" title="Distribution.Simple.Program.GHC">GhcOptions</a> <a href="#v:componentCcGhcOptions" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLibDir" class="def">getLibDir</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> <a href="#v:getLibDir" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:isDynamic" class="def">isDynamic</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:isDynamic" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getGlobalPackageDB" class="def">getGlobalPackageDB</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Types.html#t:ConfiguredProgram" title="Distribution.Simple.Program.Types">ConfiguredProgram</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> <a href="#v:getGlobalPackageDB" class="selflink">#</a></p><div class="doc"><p>Return the <code><a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></code> to the global GHC package database.</p></div></div><div class="top"><p class="src"><a id="v:pkgRoot" class="def">pkgRoot</a> :: <a href="Distribution-Verbosity.html#t:Verbosity" title="Distribution.Verbosity">Verbosity</a> -&gt; <a href="Distribution-Types-LocalBuildInfo.html#t:LocalBuildInfo" title="Distribution.Types.LocalBuildInfo">LocalBuildInfo</a> -&gt; <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> <a href="#v:pkgRoot" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:runCmd" class="def">runCmd</a> :: <a href="Distribution-Simple-Program-Db.html#t:ProgramDb" title="Distribution.Simple.Program.Db">ProgramDb</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; (<a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a>, [<a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a>]) <a href="#v:runCmd" class="selflink">#</a></p><div class="doc"><p>Get the JavaScript file name and command and arguments to run a
   program compiled by GHCJS
   the exe should be the base program name without exe extension</p></div></div><a href="#g:1" id="g:1"><h1>Constructing and deconstructing GHC environment files</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcEnvironmentFileEntry" class="def">GhcEnvironmentFileEntry</a> <a href="#t:GhcEnvironmentFileEntry" class="selflink">#</a></p><div class="doc"><p>The kinds of entries we can stick in a <code>.ghc.environment</code> file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcEnvFileComment" class="def">GhcEnvFileComment</a> <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></td><td class="doc"><pre>-- a comment</pre></td></tr><tr><td class="src"><a id="v:GhcEnvFilePackageId" class="def">GhcEnvFilePackageId</a> <a href="Distribution-Types-UnitId.html#t:UnitId" title="Distribution.Types.UnitId">UnitId</a></td><td class="doc"><pre>package-id foo-1.0-4fe301a...</pre></td></tr><tr><td class="src"><a id="v:GhcEnvFilePackageDb" class="def">GhcEnvFilePackageDb</a> <a href="Distribution-Simple-Compiler.html#t:PackageDB" title="Distribution.Simple.Compiler">PackageDB</a></td><td class="doc"><p><code>global-package-db</code>,
   <code>user-package-db</code> or
   <code>package-db blah<em>package.conf.d</em></code></p></td></tr><tr><td class="src"><a id="v:GhcEnvFileClearPackageDbStack" class="def">GhcEnvFileClearPackageDbStack</a></td><td class="doc"><pre>clear-package-db</pre></td></tr></table></div><div class="subs instances"><details id="i:GhcEnvironmentFileEntry" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:GhcEnvironmentFileEntry:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a></span> <a href="#t:GhcEnvironmentFileEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:GhcEnvironmentFileEntry:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Simple-GHC-Internal.html">Distribution.Simple.GHC.Internal</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:GhcEnvironmentFileEntry:Ord:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a></span> <a href="#t:GhcEnvironmentFileEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:GhcEnvironmentFileEntry:Ord:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Simple-GHC-Internal.html">Distribution.Simple.GHC.Internal</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Ordering" title="Distribution.Compat.Prelude.Internal">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:GhcEnvironmentFileEntry:Show:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a></span> <a href="#t:GhcEnvironmentFileEntry" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:GhcEnvironmentFileEntry:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Simple-GHC-Internal.html">Distribution.Simple.GHC.Internal</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:simpleGhcEnvironmentFile" class="def">simpleGhcEnvironmentFile</a> :: <a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a> -&gt; [<a href="Distribution-Types-UnitId.html#t:UnitId" title="Distribution.Types.UnitId">UnitId</a>] -&gt; [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] <a href="#v:simpleGhcEnvironmentFile" class="selflink">#</a></p><div class="doc"><p>Make entries for a GHC environment file based on a <code><a href="Distribution-Simple-Compiler.html#t:PackageDBStack" title="Distribution.Simple.Compiler">PackageDBStack</a></code> and
 a bunch of package (unit) ids.</p><p>If you need to do anything more complicated then either use this as a basis
 and add more entries, or just make all the entries directly.</p></div></div><div class="top"><p class="src"><a id="v:renderGhcEnvironmentFile" class="def">renderGhcEnvironmentFile</a> :: [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:renderGhcEnvironmentFile" class="selflink">#</a></p><div class="doc"><p>Render a bunch of GHC environment file entries</p></div></div><div class="top"><p class="src"><a id="v:writeGhcEnvironmentFile" class="def">writeGhcEnvironmentFile</a> <a href="#v:writeGhcEnvironmentFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc"><p>directory in which to put it</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a></td><td class="doc"><p>the GHC target platform</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a></td><td class="doc"><p>the GHC version</p></td></tr><tr><td class="src">-&gt; [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>]</td><td class="doc"><p>the content</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Write a <code>.ghc.environment-$arch-$os-$ver</code> file in the given directory.</p><p>The <code><a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a></code> and GHC <code><a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a></code> are needed as part of the file name.</p><p>Returns the name of the file written.</p></div></div><div class="top"><p class="src"><a id="v:ghcPlatformAndVersionString" class="def">ghcPlatformAndVersionString</a> :: <a href="Distribution-System.html#t:Platform" title="Distribution.System">Platform</a> -&gt; <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:ghcPlatformAndVersionString" class="selflink">#</a></p><div class="doc"><p>GHC's rendering of its platform and compiler version string as used in
 certain file locations (such as user package db location).
 For example <code>x86_64-linux-7.10.4</code></p></div></div><div class="top"><p class="src"><a id="v:readGhcEnvironmentFile" class="def">readGhcEnvironmentFile</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] <a href="#v:readGhcEnvironmentFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:parseGhcEnvironmentFile" class="def">parseGhcEnvironmentFile</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/parsec-3.1.13.0/Text-Parsec-String.html#t:Parser" title="Text.Parsec.String">Parser</a> [<a href="Distribution-Simple-GHCJS.html#t:GhcEnvironmentFileEntry" title="Distribution.Simple.GHCJS">GhcEnvironmentFileEntry</a>] <a href="#v:parseGhcEnvironmentFile" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ParseErrorExc" class="def">ParseErrorExc</a> <a href="#t:ParseErrorExc" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ParseErrorExc" class="def">ParseErrorExc</a> <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/parsec-3.1.13.0/Text-Parsec-Error.html#t:ParseError" title="Text.Parsec.Error">ParseError</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:ParseErrorExc" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ParseErrorExc:Show:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a></span> <a href="#t:ParseErrorExc" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ParseErrorExc:Show:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Simple-GHC-EnvironmentParser.html">Distribution.Simple.GHC.EnvironmentParser</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ParseErrorExc:Exception:2"></span> <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/base-4.12.0.0/Control-Exception-Base.html#t:Exception" title="Control.Exception.Base">Exception</a> <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a></span> <a href="#t:ParseErrorExc" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ParseErrorExc:Exception:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Simple-GHC-EnvironmentParser.html">Distribution.Simple.GHC.EnvironmentParser</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toException">toException</a> :: <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a> -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/base-4.12.0.0/Control-Exception-Base.html#t:SomeException" title="Control.Exception.Base">SomeException</a> <a href="#v:toException" class="selflink">#</a></p><p class="src"><a href="#v:fromException">fromException</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/base-4.12.0.0/Control-Exception-Base.html#t:SomeException" title="Control.Exception.Base">SomeException</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a> <a href="#v:fromException" class="selflink">#</a></p><p class="src"><a href="#v:displayException">displayException</a> :: <a href="Distribution-Simple-GHCJS.html#t:ParseErrorExc" title="Distribution.Simple.GHCJS">ParseErrorExc</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:displayException" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:2" id="g:2"><h1>Version-specific implementation quirks</h1></a><div class="top"><p class="src"><a id="v:getImplInfo" class="def">getImplInfo</a> :: <a href="Distribution-Simple-Compiler.html#t:Compiler" title="Distribution.Simple.Compiler">Compiler</a> -&gt; <a href="Distribution-Simple-GHCJS.html#t:GhcImplInfo" title="Distribution.Simple.GHCJS">GhcImplInfo</a> <a href="#v:getImplInfo" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GhcImplInfo" class="def">GhcImplInfo</a> <a href="#t:GhcImplInfo" class="selflink">#</a></p><div class="doc"><p>Information about features and quirks of a GHC-based implementation.</p><p>Compiler flavors based on GHC behave similarly enough that some of
     the support code for them is shared. Every implementation has its
     own peculiarities, that may or may not be a direct result of the
     underlying GHC version. This record keeps track of these differences.</p><p>All shared code (i.e. everything not in the Distribution.Simple.FLAVOR
     module) should use implementation info rather than version numbers
     to test for supported features.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:GhcImplInfo" class="def">GhcImplInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:supportsHaskell2010" class="def">supportsHaskell2010</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><ul><li>XHaskell2010 and -XHaskell98 flags</li></ul></div></li><li><dfn class="src"><a id="v:reportsNoExt" class="def">reportsNoExt</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><ul><li>-supported-languages gives Ext and NoExt</li></ul></div></li><li><dfn class="src"><a id="v:alwaysNondecIndent" class="def">alwaysNondecIndent</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><p>NondecreasingIndentation is always on</p></div></li><li><dfn class="src"><a id="v:flagGhciScript" class="def">flagGhciScript</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><ul><li>ghci-script flag supported</li></ul></div></li><li><dfn class="src"><a id="v:flagProfAuto" class="def">flagProfAuto</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><p>new style -fprof-auto* flags</p></div></li><li><dfn class="src"><a id="v:flagPackageConf" class="def">flagPackageConf</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><p>use package-conf instead of package-db</p></div></li><li><dfn class="src"><a id="v:flagDebugInfo" class="def">flagDebugInfo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><ul><li>g flag supported</li></ul></div></li><li><dfn class="src"><a id="v:supportsDebugLevels" class="def">supportsDebugLevels</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><p>supports numeric <code>-g</code> levels</p></div></li><li><dfn class="src"><a id="v:supportsPkgEnvFiles" class="def">supportsPkgEnvFiles</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><p>picks up <code>.ghc.environment</code> files</p></div></li><li><dfn class="src"><a id="v:flagWarnMissingHomeModules" class="def">flagWarnMissingHomeModules</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></dfn><div class="doc"><ul><li>Wmissing-home-modules is supported</li></ul></div></li></ul></div></td></tr></table></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>