packages feed

Cabal-1.22.1.0: doc/API/Cabal/Distribution-Simple-Program-Find.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.Program.Find</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Distribution-Simple-Program-Find.html");};
//]]>
</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-1.22.1.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>Duncan Coutts 2013</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Distribution.Simple.Program.Find</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Program search path</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A somewhat extended notion of the normal program search path concept.</p><p>Usually when finding executables we just want to look in the usual places
 using the OS's usual method for doing so. In Haskell the normal OS-specific
 method is captured by <code><a href="file:///usr/local/share/doc/ghc/html/libraries/directory-1.2.1.1/System-Directory.html#v:findExecutable">findExecutable</a></code>. On all common OSs that makes use of
 a <code>PATH</code> environment variable, (though on Windows it is not just the <code>PATH</code>).</p><p>However it is sometimes useful to be able to look in additional locations
 without having to change the process-global <code>PATH</code> environment variable.
 So we need an extension of the usual <code><a href="file:///usr/local/share/doc/ghc/html/libraries/directory-1.2.1.1/System-Directory.html#v:findExecutable">findExecutable</a></code> that can look in
 additional locations, either before, after or instead of the normal OS
 locations.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:ProgramSearchPath">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a><ul class="subs"><li>= <a href="#v:ProgramSearchPathDir">ProgramSearchPathDir</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:ProgramSearchPathDefault">ProgramSearchPathDefault</a></li></ul></li><li class="src short"><a href="#v:defaultProgramSearchPath">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></li><li class="src short"><a href="#v:findProgramOnSearchPath">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>)</li><li class="src short"><a href="#v:programSearchPathAsPATHVar">programSearchPathAsPATHVar</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1 id="g:1">Program search path</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ProgramSearchPath" class="def">ProgramSearchPath</a> = [<a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPathEntry">ProgramSearchPathEntry</a>]</p><div class="doc"><p>A search path to use when locating executables. This is analogous
 to the unix <code>$PATH</code> or win32 <code>%PATH%</code> but with the ability to use
 the system default method for finding executables (<code><a href="file:///usr/local/share/doc/ghc/html/libraries/directory-1.2.1.1/System-Directory.html#v:findExecutable">findExecutable</a></code> which
 on unix is simply looking on the <code>$PATH</code> but on win32 is a bit more
 complicated).</p><p>The default to use is <code>[ProgSearchPathDefault]</code> but you can add extra dirs
 either before, after or instead of the default, e.g. here we add an extra
 dir to search after the usual ones.</p><pre>['ProgramSearchPathDefault', 'ProgramSearchPathDir' dir]</pre></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ProgramSearchPathEntry" class="def">ProgramSearchPathEntry</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ProgramSearchPathDir" class="def">ProgramSearchPathDir</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>A specific dir</p></td></tr><tr><td class="src"><a name="v:ProgramSearchPathDefault" class="def">ProgramSearchPathDefault</a></td><td class="doc"><p>The system default</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:defaultProgramSearchPath" class="def">defaultProgramSearchPath</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></p></div><div class="top"><p class="src"><a name="v:findProgramOnSearchPath" class="def">findProgramOnSearchPath</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>)</p></div><div class="top"><p class="src"><a name="v:programSearchPathAsPATHVar" class="def">programSearchPathAsPATHVar</a> :: <a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a> -&gt; <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Interpret a <code><a href="Distribution-Simple-Program-Find.html#t:ProgramSearchPath">ProgramSearchPath</a></code> to construct a new <code>$PATH</code> env var.
 Note that this is close but not perfect because on Windows the search
 algorithm looks at more than just the <code>%PATH%</code>.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>