[Haskell-cafe] Notes and questions from a first-time Cabal user.

Krasimir Angelov kr.angelov at gmail.com
Tue Jun 14 07:44:24 EDT 2005

Hi Brian,

For the next major release of Cabal, the plan is to deprecate 
packages with library and multiple executables. Each
library/executable will have its own .cabal file. In this case it
isn't required to split the build-depends field.


> > > * I originally put my "Build-depends: base" in an "Executable:"
> > > stanza. This seems reasonable because presumably different executables
> > > (and libraries) could have different dependencies, and it is
> > > advantageous to keep track of dependencies on a fine-grained basis.
> > > Yet, Cabal requires the Build-depends to be in the main stanza. Why is
> > > this? Couldn't Cabal combine all the Build-Depends it finds into the
> > > one that it puts into the final package specification?
> >
> > It is confusing that the first stanza contains both fields describing the
> > whole package and fields describing a library.  But Build-depends is a
> > package-level thing (it's not in 2.1.2) because Cabal takes the package
> > as the unit of distribution, building, etc.  If you want to build this
> > pachage, these are the other packages you need to have installed first.
> > There has been some talk of a coarser level of structure in the indefinite
> > future.

More information about the Libraries mailing list