This file is indexed.

/usr/share/doc/libghc-cabal-doc/html/src/Distribution-Simple-BuildPaths.html is in libghc-cabal-doc 1.22.5.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ -->
<title>Distribution/Simple/BuildPaths.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>-----------------------------------------------------------------------------</span>
<a name="line-2"></a><span class='hs-comment'>-- |</span>
<a name="line-3"></a><span class='hs-comment'>-- Module      :  Distribution.Simple.BuildPaths</span>
<a name="line-4"></a><span class='hs-comment'>-- Copyright   :  Isaac Jones 2003-2004,</span>
<a name="line-5"></a><span class='hs-comment'>--                Duncan Coutts 2008</span>
<a name="line-6"></a><span class='hs-comment'>-- License     :  BSD3</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Maintainer  :  cabal-devel@haskell.org</span>
<a name="line-9"></a><span class='hs-comment'>-- Portability :  portable</span>
<a name="line-10"></a><span class='hs-comment'>--</span>
<a name="line-11"></a><span class='hs-comment'>-- A bunch of dirs, paths and file names used for intermediate build steps.</span>
<a name="line-12"></a><span class='hs-comment'>--</span>
<a name="line-13"></a>
<a name="line-14"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Simple</span><span class='hs-varop'>.</span><span class='hs-conid'>BuildPaths</span> <span class='hs-layout'>(</span>
<a name="line-15"></a>    <span class='hs-varid'>defaultDistPref</span><span class='hs-layout'>,</span> <span class='hs-varid'>srcPref</span><span class='hs-layout'>,</span>
<a name="line-16"></a>    <span class='hs-varid'>hscolourPref</span><span class='hs-layout'>,</span> <span class='hs-varid'>haddockPref</span><span class='hs-layout'>,</span>
<a name="line-17"></a>    <span class='hs-varid'>autogenModulesDir</span><span class='hs-layout'>,</span>
<a name="line-18"></a>
<a name="line-19"></a>    <span class='hs-varid'>autogenModuleName</span><span class='hs-layout'>,</span>
<a name="line-20"></a>    <span class='hs-varid'>cppHeaderName</span><span class='hs-layout'>,</span>
<a name="line-21"></a>    <span class='hs-varid'>haddockName</span><span class='hs-layout'>,</span>
<a name="line-22"></a>
<a name="line-23"></a>    <span class='hs-varid'>mkLibName</span><span class='hs-layout'>,</span>
<a name="line-24"></a>    <span class='hs-varid'>mkProfLibName</span><span class='hs-layout'>,</span>
<a name="line-25"></a>    <span class='hs-varid'>mkSharedLibName</span><span class='hs-layout'>,</span>
<a name="line-26"></a>
<a name="line-27"></a>    <span class='hs-varid'>exeExtension</span><span class='hs-layout'>,</span>
<a name="line-28"></a>    <span class='hs-varid'>objExtension</span><span class='hs-layout'>,</span>
<a name="line-29"></a>    <span class='hs-varid'>dllExtension</span><span class='hs-layout'>,</span>
<a name="line-30"></a>
<a name="line-31"></a>  <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-32"></a>
<a name="line-33"></a>
<a name="line-34"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>FilePath</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varop'>&lt;/&gt;</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'>&lt;.&gt;</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-35"></a>
<a name="line-36"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Package</span>
<a name="line-37"></a>         <span class='hs-layout'>(</span> <span class='hs-varid'>packageName</span> <span class='hs-layout'>)</span>
<a name="line-38"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>ModuleName</span> <span class='hs-layout'>(</span><span class='hs-conid'>ModuleName</span><span class='hs-layout'>)</span>
<a name="line-39"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>ModuleName</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>ModuleName</span>
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Compiler</span>
<a name="line-41"></a>         <span class='hs-layout'>(</span> <span class='hs-conid'>CompilerId</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span> <span class='hs-layout'>)</span>
<a name="line-42"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>PackageDescription</span> <span class='hs-layout'>(</span><span class='hs-conid'>PackageDescription</span><span class='hs-layout'>)</span>
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Simple</span><span class='hs-varop'>.</span><span class='hs-conid'>LocalBuildInfo</span>
<a name="line-44"></a>         <span class='hs-layout'>(</span> <span class='hs-conid'>LocalBuildInfo</span><span class='hs-layout'>(</span><span class='hs-varid'>buildDir</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-conid'>LibraryName</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span> <span class='hs-layout'>)</span>
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Simple</span><span class='hs-varop'>.</span><span class='hs-conid'>Setup</span> <span class='hs-layout'>(</span><span class='hs-varid'>defaultDistPref</span><span class='hs-layout'>)</span>
<a name="line-46"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>Text</span>
<a name="line-47"></a>         <span class='hs-layout'>(</span> <span class='hs-varid'>display</span> <span class='hs-layout'>)</span>
<a name="line-48"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Distribution</span><span class='hs-varop'>.</span><span class='hs-conid'>System</span> <span class='hs-layout'>(</span><span class='hs-conid'>OS</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>buildOS</span><span class='hs-layout'>)</span>
<a name="line-49"></a>
<a name="line-50"></a><span class='hs-comment'>-- ---------------------------------------------------------------------------</span>
<a name="line-51"></a><span class='hs-comment'>-- Build directories and files</span>
<a name="line-52"></a>
<a name="line-53"></a><a name="srcPref"></a><span class='hs-definition'>srcPref</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FilePath</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span>
<a name="line-54"></a><span class='hs-definition'>srcPref</span> <span class='hs-varid'>distPref</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>distPref</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"src"</span>
<a name="line-55"></a>
<a name="line-56"></a><a name="hscolourPref"></a><span class='hs-definition'>hscolourPref</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FilePath</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span>
<a name="line-57"></a><span class='hs-definition'>hscolourPref</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>haddockPref</span>
<a name="line-58"></a>
<a name="line-59"></a><a name="haddockPref"></a><span class='hs-definition'>haddockPref</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FilePath</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span>
<a name="line-60"></a><span class='hs-definition'>haddockPref</span> <span class='hs-varid'>distPref</span> <span class='hs-varid'>pkg_descr</span>
<a name="line-61"></a>    <span class='hs-keyglyph'>=</span> <span class='hs-varid'>distPref</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"doc"</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"html"</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-varid'>display</span> <span class='hs-layout'>(</span><span class='hs-varid'>packageName</span> <span class='hs-varid'>pkg_descr</span><span class='hs-layout'>)</span>
<a name="line-62"></a>
<a name="line-63"></a><a name="autogenModulesDir"></a><span class='hs-comment'>-- |The directory in which we put auto-generated modules</span>
<a name="line-64"></a><span class='hs-definition'>autogenModulesDir</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>LocalBuildInfo</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span>
<a name="line-65"></a><span class='hs-definition'>autogenModulesDir</span> <span class='hs-varid'>lbi</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>buildDir</span> <span class='hs-varid'>lbi</span> <span class='hs-varop'>&lt;/&gt;</span> <span class='hs-str'>"autogen"</span>
<a name="line-66"></a>
<a name="line-67"></a><a name="cppHeaderName"></a><span class='hs-definition'>cppHeaderName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-68"></a><span class='hs-definition'>cppHeaderName</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"cabal_macros.h"</span>
<a name="line-69"></a>
<a name="line-70"></a><a name="autogenModuleName"></a><span class='hs-comment'>-- |The name of the auto-generated module associated with a package</span>
<a name="line-71"></a><span class='hs-definition'>autogenModuleName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>ModuleName</span>
<a name="line-72"></a><span class='hs-definition'>autogenModuleName</span> <span class='hs-varid'>pkg_descr</span> <span class='hs-keyglyph'>=</span>
<a name="line-73"></a>  <span class='hs-conid'>ModuleName</span><span class='hs-varop'>.</span><span class='hs-varid'>fromString</span> <span class='hs-varop'>$</span>
<a name="line-74"></a>    <span class='hs-str'>"Paths_"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>map</span> <span class='hs-varid'>fixchar</span> <span class='hs-layout'>(</span><span class='hs-varid'>display</span> <span class='hs-layout'>(</span><span class='hs-varid'>packageName</span> <span class='hs-varid'>pkg_descr</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-75"></a>  <span class='hs-keyword'>where</span> <span class='hs-varid'>fixchar</span> <span class='hs-chr'>'-'</span> <span class='hs-keyglyph'>=</span> <span class='hs-chr'>'_'</span>
<a name="line-76"></a>        <span class='hs-varid'>fixchar</span> <span class='hs-varid'>c</span>   <span class='hs-keyglyph'>=</span> <span class='hs-varid'>c</span>
<a name="line-77"></a>
<a name="line-78"></a><a name="haddockName"></a><span class='hs-definition'>haddockName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>FilePath</span>
<a name="line-79"></a><span class='hs-definition'>haddockName</span> <span class='hs-varid'>pkg_descr</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>display</span> <span class='hs-layout'>(</span><span class='hs-varid'>packageName</span> <span class='hs-varid'>pkg_descr</span><span class='hs-layout'>)</span> <span class='hs-varop'>&lt;.&gt;</span> <span class='hs-str'>"haddock"</span>
<a name="line-80"></a>
<a name="line-81"></a><span class='hs-comment'>-- ---------------------------------------------------------------------------</span>
<a name="line-82"></a><span class='hs-comment'>-- Library file names</span>
<a name="line-83"></a>
<a name="line-84"></a><a name="mkLibName"></a><span class='hs-definition'>mkLibName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>LibraryName</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span>
<a name="line-85"></a><span class='hs-definition'>mkLibName</span> <span class='hs-layout'>(</span><span class='hs-conid'>LibraryName</span> <span class='hs-varid'>lib</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"lib"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>lib</span> <span class='hs-varop'>&lt;.&gt;</span> <span class='hs-str'>"a"</span>
<a name="line-86"></a>
<a name="line-87"></a><a name="mkProfLibName"></a><span class='hs-definition'>mkProfLibName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>LibraryName</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span>
<a name="line-88"></a><span class='hs-definition'>mkProfLibName</span> <span class='hs-layout'>(</span><span class='hs-conid'>LibraryName</span> <span class='hs-varid'>lib</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span>  <span class='hs-str'>"lib"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>lib</span> <span class='hs-varop'>++</span> <span class='hs-str'>"_p"</span> <span class='hs-varop'>&lt;.&gt;</span> <span class='hs-str'>"a"</span>
<a name="line-89"></a>
<a name="line-90"></a><a name="mkSharedLibName"></a><span class='hs-comment'>-- Implement proper name mangling for dynamical shared objects</span>
<a name="line-91"></a><span class='hs-comment'>-- libHS&lt;packagename&gt;-&lt;compilerFlavour&gt;&lt;compilerVersion&gt;</span>
<a name="line-92"></a><span class='hs-comment'>-- e.g. libHSbase-2.1-ghc6.6.1.so</span>
<a name="line-93"></a><span class='hs-definition'>mkSharedLibName</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CompilerId</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>LibraryName</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>String</span>
<a name="line-94"></a><span class='hs-definition'>mkSharedLibName</span> <span class='hs-layout'>(</span><span class='hs-conid'>CompilerId</span> <span class='hs-varid'>compilerFlavor</span> <span class='hs-varid'>compilerVersion</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>LibraryName</span> <span class='hs-varid'>lib</span><span class='hs-layout'>)</span>
<a name="line-95"></a>  <span class='hs-keyglyph'>=</span> <span class='hs-str'>"lib"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>lib</span> <span class='hs-varop'>++</span> <span class='hs-str'>"-"</span> <span class='hs-varop'>++</span> <span class='hs-varid'>comp</span> <span class='hs-varop'>&lt;.&gt;</span> <span class='hs-varid'>dllExtension</span>
<a name="line-96"></a>  <span class='hs-keyword'>where</span> <span class='hs-varid'>comp</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>display</span> <span class='hs-varid'>compilerFlavor</span> <span class='hs-varop'>++</span> <span class='hs-varid'>display</span> <span class='hs-varid'>compilerVersion</span>
<a name="line-97"></a>
<a name="line-98"></a><span class='hs-comment'>-- ------------------------------------------------------------</span>
<a name="line-99"></a><span class='hs-comment'>-- * Platform file extensions</span>
<a name="line-100"></a><span class='hs-comment'>-- ------------------------------------------------------------</span>
<a name="line-101"></a>
<a name="line-102"></a><a name="exeExtension"></a><span class='hs-comment'>-- ToDo: This should be determined via autoconf (AC_EXEEXT)</span>
<a name="line-103"></a><span class='hs-comment'>-- | Extension for executable files</span>
<a name="line-104"></a><span class='hs-comment'>-- (typically @\"\"@ on Unix and @\"exe\"@ on Windows or OS\/2)</span>
<a name="line-105"></a><span class='hs-definition'>exeExtension</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-106"></a><span class='hs-definition'>exeExtension</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>buildOS</span> <span class='hs-keyword'>of</span>
<a name="line-107"></a>                   <span class='hs-conid'>Windows</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-str'>"exe"</span>
<a name="line-108"></a>                   <span class='hs-keyword'>_</span>       <span class='hs-keyglyph'>-&gt;</span> <span class='hs-str'>""</span>
<a name="line-109"></a>
<a name="line-110"></a><a name="objExtension"></a><span class='hs-comment'>-- TODO: This should be determined via autoconf (AC_OBJEXT)</span>
<a name="line-111"></a><span class='hs-comment'>-- | Extension for object files. For GHC the extension is @\"o\"@.</span>
<a name="line-112"></a><span class='hs-definition'>objExtension</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-113"></a><span class='hs-definition'>objExtension</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"o"</span>
<a name="line-114"></a>
<a name="line-115"></a><a name="dllExtension"></a><span class='hs-comment'>-- | Extension for dynamically linked (or shared) libraries</span>
<a name="line-116"></a><span class='hs-comment'>-- (typically @\"so\"@ on Unix and @\"dll\"@ on Windows)</span>
<a name="line-117"></a><span class='hs-definition'>dllExtension</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-118"></a><span class='hs-definition'>dllExtension</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>buildOS</span> <span class='hs-keyword'>of</span>
<a name="line-119"></a>                   <span class='hs-conid'>Windows</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-str'>"dll"</span>
<a name="line-120"></a>                   <span class='hs-conid'>OSX</span>     <span class='hs-keyglyph'>-&gt;</span> <span class='hs-str'>"dylib"</span>
<a name="line-121"></a>                   <span class='hs-keyword'>_</span>       <span class='hs-keyglyph'>-&gt;</span> <span class='hs-str'>"so"</span>
</pre></body>
</html>