You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Executable edit-distance-benchmark
Main-Is: Text/EditDistance/Benchmark.hs
if flag(splitBase)
Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, old-time >= 1.0, process >= 1.0,
parallel >= 1.0, unix >= 2.3
else
Build-Depends: base < 3,
parallel >= 1.0, unix >= 2.3
if !flag(benchmark)
Buildable: False
Ghc-Options: -O2 -fvia-C -Wall
However, I've only just found out that this meant that you couldn't install any parts of my package on Windows, because Cabal tried to resolve the "unix" dependency even if "benchmark" was False (the default)!
I've solved this like so:
Executable edit-distance-benchmark
Main-Is: Text/EditDistance/Benchmark.hs
if !flag(benchmark)
Buildable: False
else
if flag(splitBase)
Build-Depends: base >= 3 && < 5, array >= 0.1, random >= 1.0, old-time >= 1.0, process >= 1.0,
parallel >= 1.0, unix >= 2.3
else
Build-Depends: base < 3,
parallel >= 1.0, unix >= 2.3
Ghc-Options: -O2 -fvia-C -Wall
But really Cabal should not need to resolve dependencies for things that are not buildable.
The text was updated successfully, but these errors were encountered:
I've also run into this problem and, having read the above e-mail, I don't really see a difficulty with the semantics of "Buildable". Here's how I'd expect things to work:
Figure out the flags for a package (based on user-specified flags and defaults)
Using the flags (and other environment variables) resolve all conditionals, eliminating them from the Cabal file
Remove all parts where "Buildable: False" appears.
(Imported from Trac #566, reported by @batterseapower on 2009-07-03)
I had a component like this:
However, I've only just found out that this meant that you couldn't install any parts of my package on Windows, because Cabal tried to resolve the "unix" dependency even if "benchmark" was False (the default)!I've solved this like so:
But really Cabal should not need to resolve dependencies for things that are not buildable.The text was updated successfully, but these errors were encountered: