Understanding directory structure of ghc installation
Brian Hulley
brianh at metamilk.com
Thu Jun 1 06:36:23 EDT 2006
Hi -
I've just downloaded and installed Edison using Cabal.
However I now see that Edison seems to have been already installed with the
ghc 6.4.2 installation, even though there's no mention of Edison in
/doc/html/libraries/index.html, because there are old Edison .hi files in
ghc-6.4.2/hslibs-imports/data
whereas the Cabal install process copied newly built Edison files to
C:\Program Files\Haskell\EdisonAPI-1.2\ghc-6.4.2\Data
and
C:\Program Files\Haskell\EdisonCore-1.2\ghc-6.4.2\Data
I was about to just delete the old .hi files from the hslibs-imports/data
directory, but then I noticed there are a few .hi files there for Set and
FiniteMap, even though there are also .hi files (though of different sizes)
for Set and FiniteMap stored in the imports/data directory as well.
So my question is: how to understand all this? Why are there different
copies of Set.hi which have different sizes, but in the same installation,
and which one does ghc use when I use import Data.Set in a program?
Also, what does .p_hi mean? (The new build of Edison only creates .hi files
not .p_hi files but all the ghc-6.4.2 modules have both .hi and .p_hi files)
(It would also be interesting to know where Cabal gets the information from
to configure a package, and where the package database is stored...)
Thanks, Brian.
--
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.
http://www.metamilk.com
More information about the Glasgow-haskell-users
mailing list