summaryrefslogtreecommitdiff
path: root/ghc/compiler/main/Packages.lhs
diff options
context:
space:
mode:
authorsimonmar <unknown>2005-01-20 14:22:33 +0000
committersimonmar <unknown>2005-01-20 14:22:33 +0000
commitc830ae13ccd7373b5478e10382a57d497ebc6a40 (patch)
treed2c20dc72ccbab640452fe1b010fa3527a55a203 /ghc/compiler/main/Packages.lhs
parent850ee50c9e5e7bf0fde21f484c5f2f88fcb738a8 (diff)
downloadhaskell-c830ae13ccd7373b5478e10382a57d497ebc6a40.tar.gz
[project @ 2005-01-20 14:22:19 by simonmar]
Fill in the haddock-interfaces and haddock-html fields in the package.conf files. To do this I had to make some changes: - haddock-interfaces requires the value of $(datadir). We can't just plug this in, because $(datadir) might change at install-time (eg. a Windows installer can be placed anywhere, as can a Unix binary .tar.gz distribution). The current trick is for the compiler to splice in the value of $libdir in package.conf at runtime. So we could extend this mechanism and tell the compiler the value of $datadir via a command-line option, but that seems ugly. On Windows, $datadir==$libdir, so we don't need any changes: package.conf still uses $libdir, and a Windows installation is independent of its absolute location. Even 'make install' on Windows should have this property. On Unix: - for 'make install' and in-place execution, we just use absolute paths in package.conf - for a binary dist, we generate a package.conf that refers to $libdir and $datadir, and splice in the values at install-time (distrib/Makefile-bin.in). - Also, I renamed $libdir to $topdir to more closely reflect its actual meaning. This is somewhat malicious in that it will flush out all those clients using $libdir when they really shouldn't be :-)
Diffstat (limited to 'ghc/compiler/main/Packages.lhs')
-rw-r--r--ghc/compiler/main/Packages.lhs6
1 files changed, 3 insertions, 3 deletions
diff --git a/ghc/compiler/main/Packages.lhs b/ghc/compiler/main/Packages.lhs
index 93a8856882..4b758b22fc 100644
--- a/ghc/compiler/main/Packages.lhs
+++ b/ghc/compiler/main/Packages.lhs
@@ -234,8 +234,8 @@ readPackageConfig dflags pkg_map conf_file = do
mungePackagePaths :: String -> [PackageConfig] -> [PackageConfig]
--- Replace the string "$libdir" at the beginning of a path
--- with the current libdir (obtained from the -B option).
+-- Replace the string "$topdir" at the beginning of a path
+-- with the current topdir (obtained from the -B option).
mungePackagePaths top_dir ps = map munge_pkg ps
where
munge_pkg p = p{ importDirs = munge_paths (importDirs p),
@@ -246,7 +246,7 @@ mungePackagePaths top_dir ps = map munge_pkg ps
munge_paths = map munge_path
munge_path p
- | Just p' <- maybePrefixMatch "$libdir" p = top_dir ++ p'
+ | Just p' <- maybePrefixMatch "$topdir" p = top_dir ++ p'
| otherwise = p