multiple cabal files in one directory?

Duncan Coutts duncan.coutts at googlemail.com
Tue Jan 11 00:16:05 CET 2011


On 10 January 2011 22:22, Henning Thielemann
<lemming at henning-thielemann.de> wrote:
> Peter Simons schrieb:
>
>> Arguably, the choice to include the package name in the name of the Cabal file
>> is inconsistent with that decision, and that inconsistency is confusing.
>
> Actually, the name does not have to be pkgname.cabal. You can choose any
> name with extension .cabal. Cabal complains about multiple files with
> that extension. So you could in principle call it description.cabal
> consistently in all your packages.

That's true, though I don't think I'd recommend it. The current
convention of <pkgname>.cabal is good and will work well with multiple
packages sharing one source tree.

My plan for the command line interface is that cabal
configure/build/install in a dir with multiple .cabal files will act
on all of them. Individual packages, or components within packages
will be selectable by name, e.g. "cabal configure" (configures all
packages) "cabal build foo" (builds just target foo).

I'm not quite sure how to handle name clashes, but I expect we can
work something out. For example, a package A containing exe A and B.
Does A refer to the package (components A and B) or just to the
component A?

Duncan



More information about the Libraries mailing list