Difference between revisions of "Upgrading packages"

From HaskellWiki
Jump to navigation Jump to search
(request for information)
(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.
   
'''Wanted - catering to GHC versions'''
+
'''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.)