ghc and cabal

Lemmih lemmih at
Sat Aug 6 11:08:56 EDT 2005

On 8/6/05, Serge D. Mechveliani <mechvel at> wrote:
> On Aug 05, 2005 we  wrote:
> > "Serge D. Mechveliani" <mechvel at> writes:
> >
> > > Which Cabal version will be in official  ghc-6.4.1  by default?
> >
> > It'll be 1.0 with some bug fixes (Simon: can you please make the
> > version number '1.0.1'?)
> >
> > > If it is 1.0, then  ghc-6.4.1 will fail with `make' for profiling.
> > > So, the user needs to install another Cabal version and to link it
> > > to GHC, and this occurs difficult. This is likely to complicate the
> > > usage of GHC
> >
> > Yep.  Profiling support won't be there, but some of the problems you
> > faced in building a separate Cabal will hopefully be fixed in the new
> > version of GHC.
> First, I tried to test profiling in  ghc-6.4.1-pre-release,
> and could not -- due to this misfeature with "_p" modules in
> Cabal-1.0.
> Generally, what I need:
>               fresh GHC with working profiling, with Cabal processing
>               "_p" module suffixes, and such
>               (in  runhaskell Setup build, install).
> If official  ghc-6.4.1 (with default Cabal version)  has not the
> needed feature, then, the next question is
>   which higher Cabal version supports such `make' for profiling?
> After I know the answer to this, I could start searching for possible
> _simple instructions_  for the users of GHC and its applications on
> how to upgrade Cabal in their installed  ghc-6.4.1.  Such instructions
> that are clear almost to everyone, not only to system hackers.
> If all this occurs difficult to arrange, then the profiling occurs
> delayed to future official GHC versions.

(If I've completely misunderstood the question please ignore me :)
Guide to profiling in Cabal:

Step 1: Installing a new Cabal
You can either download Cabal 1.1.1 from the webpage or pull it from with darcs.
When you got the source tree you install it as any other Cabal package.
[global installation]
$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
$ sudo runhaskell Setup.lhs install

[user installation, GHC <= 6.4 wont like this]
$ runhaskell Setup.lhs configure --prefix=/your/desired/prefix
$ runhaskell Setup.lhs build
$ runhaskell Setup.lhs install --user

Step 2: Compiling Cabal packages with profiling.
You can now pass '-p' or '--enable-library-profiling' when you
configure a package and the .cabal file will have a new stanza call
GHC-prof-options for profiling options.


More information about the Glasgow-haskell-users mailing list