+mkVerbosity :: [String] -> Verbosity
+mkVerbosity [] = normal
+mkVerbosity ['-':'v':v] = let m = case v of
+ "" -> Nothing
+ _ -> Just v
+ in flagToVerbosity m
+mkVerbosity args = error ("Bad arguments: " ++ show args)
+
+doRegisterInplace :: Verbosity -> IO ()
+doRegisterInplace verbosity =
+ do lbi <- getConfig verbosity
+ let registerFlags = defaultRegisterFlags { regInPlace = toFlag True }
+ pd = localPkgDescr lbi
+ pd_reg = if pkgName (package pd) == "base"
+ then case library pd of
+ Just lib ->
+ let ems = "GHC.Prim" : exposedModules lib
+ lib' = lib { exposedModules = ems }
+ in pd { library = Just lib' }
+ Nothing ->
+ error "Expected a library, but none found"
+ else pd
+ (regHook simpleUserHooks) pd_reg lbi simpleUserHooks registerFlags
+ return ()
+
+doInstall :: Verbosity -> FilePath -> FilePath -> FilePath -> FilePath
+ -> FilePath -> FilePath -> FilePath -> FilePath -> FilePath
+ -> FilePath -> FilePath -> FilePath -> FilePath
+ -> IO ()
+doInstall verbosity ghcpkg ghcpkgconf destdir topdir
+ iprefix ibindir ilibdir ilibexecdir idynlibdir idatadir
+ idocdir ihtmldir ihaddockdir =