/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'></></span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'><.></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'>-></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'></></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'>-></span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-></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'>-></span> <span class='hs-conid'>PackageDescription</span> <span class='hs-keyglyph'>-></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'></></span> <span class='hs-str'>"doc"</span> <span class='hs-varop'></></span> <span class='hs-str'>"html"</span> <span class='hs-varop'></></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'>-></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'></></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'>-></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'>-></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'><.></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'>-></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'><.></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'>-></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'><.></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<packagename>-<compilerFlavour><compilerVersion></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'>-></span> <span class='hs-conid'>LibraryName</span> <span class='hs-keyglyph'>-></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'><.></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'>-></span> <span class='hs-str'>"exe"</span>
<a name="line-108"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></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'>-></span> <span class='hs-str'>"dll"</span>
<a name="line-120"></a> <span class='hs-conid'>OSX</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"dylib"</span>
<a name="line-121"></a> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>-></span> <span class='hs-str'>"so"</span>
</pre></body>
</html>
|