[Fwd: Cabal and dependencies (Moved from Haskell-Cafe: Haskore dependency trouble)]

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Fri Jul 14 06:08:06 EDT 2006

Oops, I accidentally discarded this email in some overzealous

-------- Forwarded Message --------
> From: Henning Thielemann <lemming at henning-thielemann.de>
> To: Bulat Ziganshin <bulat.ziganshin at gmail.com>
> Cc: cabal-devel at haskell.org
> Subject: Cabal and dependencies (Moved from Haskell-Cafe: Haskore
> dependency trouble)
> Date: Wed, 12 Jul 2006 14:34:40 +0200 (CEST)
> On Wed, 12 Jul 2006, Bulat Ziganshin wrote:
> > Wednesday, July 12, 2006, 1:23:53 PM, you wrote:
> > 
> > >  I would like to tell Cabal which modules are required and which are
> > > supported, or recommended, but not needed. I could split Haskore into
> > > several packages, but then again, installation of Haskore and its
> > > sub-packages becomes uncomfortable and the Haddock documentation has no
> > > longer a common table of contents. I tried to write custom Setup code for
> > > finding out which parts of Haskore cannot be installed due to unsatisfied
> > > dependencies, but this is more complicated than I hoped.
> > 
> > such feature was already requested by Robert Dockins <robdockins at fastmail.fm>
> > in libraries list at June 8. He wrote:
> > 
> > "This brings up a feature I have sometimes wanted from Cabal.  I'd
> > like to be able to say the following: "Cabal, find and use package X  
> > if it exists.  Furthermore, when CPPing source code, set a #define  
> > HAS_PACKAGE_X so I can do conditional compilation based on the (non-) 
> > avaliablility of package X".  Is this possible?  Difficult?  It seems  
> > like a nice way to handle a number of problems, including platform- 
> > dependencies (as here) and optional features with external
> > dependencies."
> > 
> > you can add your voice to the peoples requesting this feature (i need
> > it, too)
> I guess our goals are similar, however I prefer not using a preprocessor.  
> So in case of an unsatisfied package I like simply some modules to be
> ignored by Cabal. I tried to solve this by myself, by splitting up the
> monumental Haskore.cabal file into sub-files which depend on each other.  
> However, Cabal cannot handle multiple cabal files. It would have to find
> out the right order of compilation (I already implemented that
> successfully with the FGL), but then it had to compile within the same
> build directory or at least make a monolithic Haddock documentation.

More information about the cabal-devel mailing list