[Haskell-cafe] Dependency trickery
Malcolm Wallace
malcolm.wallace at cs.york.ac.uk
Sun Jan 17 09:25:39 EST 2010
>> Suppose I write some code that can work with Gtk2hs or wxHaskell.
>> How do I go about making that into a package?
>
> You just need to add a flag 'gtk2hs' and then construct the
> Build-Depends depending on the value of the flag. However, if
> e.g. that flag is by default True, then users of wxHaskell will
> have to manually change its value. I.e. it is not automatic
> based on what the user has on his system.
Not true. The value of the flag *is* determined automatically based
on what packages you already have on your system. For instance, if
your cabal file says
Flag hasGTK
Default: True
Library
if hasGTK
Build-Depends: gtk2hs
else
Build-Depends: wxHaskell
and your installed system has wx but not gtk, then it will still
select the wx branch, regardless of the value of the flag default.
The only meaning of the default value is, if *both* possible solutions
could potentially build successfully, then which one will be preferred.
Regards,
Malcolm
More information about the Haskell-Cafe
mailing list