In Setup, tell haddock about GHC.Prim
authorIan Lynagh <igloo@earth.li>
Fri, 5 Sep 2008 12:16:54 +0000 (12:16 +0000)
committerIan Lynagh <igloo@earth.li>
Fri, 5 Sep 2008 12:16:54 +0000 (12:16 +0000)
Setup.hs
ghc-prim.cabal

index 0322363..ebd4ce7 100644 (file)
--- a/Setup.hs
+++ b/Setup.hs
@@ -9,6 +9,7 @@ import Data.Maybe
 import Distribution.PackageDescription
 import Distribution.Simple
 import Distribution.Simple.LocalBuildInfo
+import Distribution.Simple.Program
 import Distribution.Simple.Utils
 import Distribution.Text
 import System.Cmd
@@ -25,8 +26,9 @@ main = do let hooks = simpleUserHooks {
                             $ buildHook simpleUserHooks,
                   makefileHook = build_primitive_sources
                                $ makefileHook simpleUserHooks,
-                  haddockHook = build_primitive_sources
-                               $ haddockHook simpleUserHooks }
+                  haddockHook = addPrimModuleForHaddock
+                              $ build_primitive_sources
+                              $ haddockHook simpleUserHooks }
           defaultMainWithHooks hooks
 
 type Hook a = PackageDescription -> LocalBuildInfo -> UserHooks -> a -> IO ()
@@ -40,6 +42,13 @@ addPrimModule f pd lbi uhs x =
            lbi' = lbi { localPkgDescr = lpd }
        f pd' lbi' uhs x
 
+addPrimModuleForHaddock :: Hook a -> Hook a
+addPrimModuleForHaddock f pd lbi uhs x =
+    do let pc = withPrograms lbi
+           pc' = userSpecifyArgs "haddock" ["GHC/Prim.hs"] pc
+           lbi' = lbi { withPrograms = pc' }
+       f pd lbi' uhs x
+
 addPrimModuleToPD :: PackageDescription -> PackageDescription
 addPrimModuleToPD pd =
     case library pd of
index 85811ce..5d2c088 100644 (file)
@@ -22,7 +22,8 @@ Library {
         GHC.Unit
     c-sources:
         cbits/longlong.c
-    extensions: CPP, MagicHash, ForeignFunctionInterface, UnliftedFFITypes
+    extensions: CPP, MagicHash, ForeignFunctionInterface, UnliftedFFITypes,
+                UnboxedTuples, EmptyDataDecls, NoImplicitPrelude
     -- We need to set the package name to ghc-prim (without a version number)
     -- as it's magic.
     ghc-options: -package-name ghc-prim