
On Tue, 18 Sep 2012, Herbert Valerio Riedel wrote:
Hello,
When I noticed the recently released HTTP-4000.2.5[1] package used a CABAL-flag based approach[2] for what I expected the use of a macro MIN_VERSION_network(2,4,0) to be more appropriate (see [3]), I wasn't totally sure whether there was any down-side with the MIN_VERSION_-approach. So my question is:
Is it always desirable to prefer the MIN_VERSION_ approach over a CABAL-flag approach for supporting multiple API versions of a dependent package (if both ways are possible)? And if not, when should I prefer which approach?
I prefer the Cabal approach since it requires one (hacky) tool less in the tool chain. I use different Hs-Source-Dirs depending on a Cabal flag. With ghci you can choose the different modules using the -i option.