ghc-lib-parser-0.20191201: The GHC API, decoupled from GHC versions

GHC.BaseDir

Description

Note [Base Dir] ~~~~~~~~~~~~~~~~~

GHC's base directory or top directory containers miscellaneous settings and the package database. The main compiler of course needs this directory to read those settings and read and write packages. ghc-pkg uses it to find the global package database too.

In the interest of making GHC builds more relocatable, many settings also will expand ${top_dir} inside strings so GHC doesn't need to know it's on installation location at build time. ghc-pkg also can expand those variables and so needs the top dir location to do that too. Synopsis # Documentation Expand occurrences of the $topdir interpolation in a string.

expandPathVar var value str

replaces occurrences of variable \$var with value in str.

Calculate the location of the base dir