import ParsePkgConfLite
-#include "../../includes/config.h"
+#include "../../includes/ghcconfig.h"
#ifdef mingw32_HOST_OS
import Foreign
-- 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"
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
| 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.