<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

I think we should definitely fix the packages, not put a hack in Cabal.</blockquote><div><br></div><div>In the latest hackage archive, there are 462 packages that use the impl(ghc) flag, including lots of very common packages. For example binary:</div>
<div><br></div><div><div>  if impl(ghc &gt;= 7.2.1)</div><div>    cpp-options: -DGENERICS</div><div>    other-modules: Data.Binary.Generic</div><div>    if impl(ghc &lt;= 7.6)</div><div>      -- prior to ghc-7.4 generics lived in ghc-prim</div>
<div>      build-depends: ghc-prim</div></div><div><br></div><div>Is there a generic way to do this without impl ghc checks? Otherwise all these impl(ghc &gt;= x) flag checks have to be changed to impl(ghc &gt;= x) || impl(ghcjs &gt;= y), not something I&#39;d be looking forward to...</div>
<div><br></div><div>Also I personally don&#39;t really see it as a hack (of course I&#39;m biased since I&#39;ve been using it for a while). It just allows you to specify that &quot;compiler x is based on compiler y&quot;, so that unless explicitly queried otherwise you can assume that flags for &#39;y&#39; hold for &#39;x&#39;.</div>
<div><br></div><div>luite</div></div></div></div>