Difference between revisions of "Upgrading packages"
Jump to navigation
Jump to search
KetilMalde (talk | contribs) (request for information) |
KetilMalde (talk | contribs) (solved conditional ghc options.) |
||
Line 13: | Line 13: | ||
the base-3 library will need to be updated to the base-4. |
the base-3 library will need to be updated to the base-4. |
||
− | ''' |
+ | '''Compatibility with older GHC''' |
+ | |||
+ | Use cabal's conditional thingy, checking on impl(ghc >= x.yz). E.g: |
||
+ | |||
+ | if impl(ghc >= 6.12) |
||
+ | Ghc-Options: -Wall -fexcess-precision -funbox-strict-fields -auto-all -fno-warn-unused-do-bind |
||
+ | else |
||
+ | Ghc-Options: -Wall -fexcess-precision -funbox-strict-fields -auto-all |
||
− | How do I configure Cabal to use different GHC options depending on GHC version? |
||
− | E.g. using -fno-warn-unused-bind is convenient for certain GHC versions, but breaks compatibility with older ones. |
||
(This is a stub, since the previous version was so out-of-date. Please help by adding useful content.) |
(This is a stub, since the previous version was so out-of-date. Please help by adding useful content.) |
Revision as of 11:44, 15 December 2011
A list of things that need updating when porting packages to newer library/cabal versions.
If you maintain a Haskell package this is for you. For older versions of this document:
Updating to GHC 7.0
When upgrading to GHC 7.0, any of your packages that worked against the base-3 library will need to be updated to the base-4.
Compatibility with older GHC
Use cabal's conditional thingy, checking on impl(ghc >= x.yz). E.g:
if impl(ghc >= 6.12) Ghc-Options: -Wall -fexcess-precision -funbox-strict-fields -auto-all -fno-warn-unused-do-bind else Ghc-Options: -Wall -fexcess-precision -funbox-strict-fields -auto-all
(This is a stub, since the previous version was so out-of-date. Please help by adding useful content.)