From 4e29a99dfdccb860972db69da3b570eb81b69bb8 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 5 Sep 2008 12:16:54 +0000 Subject: [PATCH] In Setup, tell haddock about GHC.Prim --- Setup.hs | 13 +++++++++++-- ghc-prim.cabal | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Setup.hs b/Setup.hs index 0322363..ebd4ce7 100644 --- 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 diff --git a/ghc-prim.cabal b/ghc-prim.cabal index 85811ce..5d2c088 100644 --- a/ghc-prim.cabal +++ b/ghc-prim.cabal @@ -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 -- 1.7.10.4