-isPortableBuild :: String -> Bool
-isPortableBuild s
- | "GHC" `isPrefixOf` s = False
- | "Data.Generics" `isPrefixOf` s = False
- | otherwise = s `notElem` ["Foreign.Concurrent", "System.Timeout"]
-
-forGHCBuild :: String -> Bool
-forGHCBuild = ("GHC.Prim" /=)
-
-add_extra_deps :: ConfHook -> ConfHook
-add_extra_deps f pd cf
- = do lbi <- f pd cf
- case compilerFlavor (compiler lbi) of
- GHC ->
- do -- Euch. We should just add the right thing to the lbi
- -- ourselves rather than rerunning configure.
- let pd' = pd { buildDepends = Dependency "rts" AnyVersion
- : buildDepends pd }
- f pd' cf
- _ ->
- return lbi
-
-add_extra_libs :: Hook a -> Hook a
-add_extra_libs f pd lbi uhs x
- = let pd' = if (os == "mingw32") && (compilerFlavor (compiler lbi) == GHC)
- then case library pd of
- Just lib ->
- let lib_bi = libBuildInfo lib
- lib_bi' = lib_bi { extraLibs = "wsock32"
- : "msvcrt"
- : "kernel32"
- : "user32"
- : "shell32"
- : extraLibs lib_bi }
- lib' = lib { libBuildInfo = lib_bi' }
- in pd { library = Just lib' }
- Nothing -> error "Expected a library"
- else pd
- in f pd' lbi uhs x
-