X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Futils%2Fghc-pkg%2FMain.hs;h=954d1f62e38871f03099e03cfdeaedaf238a3a1a;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=05c92e3fa781157aa2bd084bfcded862552924a2;hpb=8f624641f3eb421154ab170ce5aeaca75b90d2f0;p=ghc-hetmet.git diff --git a/ghc/utils/ghc-pkg/Main.hs b/ghc/utils/ghc-pkg/Main.hs index 05c92e3..954d1f6 100644 --- a/ghc/utils/ghc-pkg/Main.hs +++ b/ghc/utils/ghc-pkg/Main.hs @@ -29,7 +29,7 @@ import List ( isPrefixOf, isSuffixOf ) import ParsePkgConfLite -#include "../../includes/config.h" +#include "../../includes/ghcconfig.h" #ifdef mingw32_HOST_OS import Foreign @@ -84,8 +84,7 @@ copyright = "GHC package manager version " ++ version ++ "\n" -- hackery to convice cpp to splice GHC_PKG_VERSION into a string version :: String -version = tail "\ - \ GHC_PKG_VERSION" +version = GHC_PKG_VERSION usageHeader :: String -> String usageHeader prog = "Usage: " ++ prog ++ " [OPTION...]\n" @@ -256,9 +255,9 @@ checkConfigAccess filename = do maybeRestoreOldConfig :: FilePath -> IO () -> IO () maybeRestoreOldConfig filename io = my_catch io (\e -> do - hPutStr stdout "\nWARNING: an error was encountered while the new \n\ - \configuration was being written. Attempting to \n\ - \restore the old configuration... " + hPutStr stdout ("\nWARNING: an error was encountered while the new \n"++ + "configuration was being written. Attempting to \n"++ + "restore the old configuration... ") renameFile (filename ++ ".old") filename hPutStrLn stdout "done." my_throw e @@ -349,16 +348,15 @@ doesLibExistIn lib d | otherwise = doesFileExist (d ++ '/':lib) checkGHCiLib :: [String] -> String -> String -> String -> Bool -> IO () -checkGHCiLib dirs batch_lib_dir batch_lib_file lib auto_build = do - let ghci_lib_file = lib ++ ".o" - bs <- mapM (doesLibExistIn ghci_lib_file) dirs - case [ dir | (exists,dir) <- zip bs dirs, exists ] of - [] | auto_build -> - autoBuildGHCiLib batch_lib_dir batch_lib_file ghci_lib_file - | otherwise -> - hPutStrLn stderr ("warning: can't find GHCi lib `" - ++ ghci_lib_file ++ "'") +checkGHCiLib dirs batch_lib_dir batch_lib_file lib auto_build + | auto_build = autoBuildGHCiLib batch_lib_dir batch_lib_file ghci_lib_file + | otherwise = do + bs <- mapM (doesLibExistIn ghci_lib_file) dirs + case [dir | (exists,dir) <- zip bs dirs, exists] of + [] -> hPutStrLn stderr ("warning: can't find GHCi lib `" ++ ghci_lib_file ++ "'") (_:_) -> return () + where + ghci_lib_file = lib ++ ".o" -- automatically build the GHCi version of a batch lib, -- using ld --whole-archive.