Commit a7ccc4e6 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

We need to tell cabal-bin which version of Cabal to use

Otherwise, if the bootstrapping compiler has a newer version, we get
a mismatch between the version used to compile ghc-prim's Setup.hs and
the version that installPackage uses.
parent 74f14cbc
......@@ -23,12 +23,12 @@ main = do
unprocessedArgs <- getArgs
let verbosity = verbose
case unprocessedArgs of
ghc : packageConf : args ->
doit verbosity ghc packageConf args
ghc : packageConf : useCabalVersion : args ->
doit verbosity ghc packageConf useCabalVersion args
_ -> die "Bad args"
doit :: Verbosity -> FilePath -> FilePath -> [String] -> IO ()
doit verbosity ghc packageConf args = do
doit :: Verbosity -> FilePath -> FilePath -> String -> [String] -> IO ()
doit verbosity ghc packageConf useCabalVersion args = do
exists <- doesFileExist setupProg
if exists then rawSystemExit verbosity setupProg args
else do
......@@ -42,16 +42,19 @@ doit verbosity ghc packageConf args = do
_ | packageName pd == PackageName "Cabal" ->
-- Cabal is special...*sigh*
Simple.defaultMainArgs args
| otherwise -> runSetup verbosity ghc packageConf args
| otherwise ->
runSetup verbosity ghc packageConf useCabalVersion args
runSetup :: Verbosity -> FilePath -> FilePath -> [String] -> IO ()
runSetup verbosity ghc packageConf args = do
runSetup :: Verbosity -> FilePath -> FilePath -> String -> [String] -> IO ()
runSetup verbosity ghc packageConf useCabalVersion args = do
-- Don't bother building Setup if we are cleaning. If we need to
-- build Setup in order to build, and Setup isn't built already,
-- then there shouldn't be anything to clean anyway.
unless cleaning $
rawSystemExit verbosity ghc ["-package-conf", packageConf,
"--make", "Setup", "-o", "Setup"]
"--make", "Setup",
"-package", "Cabal-" ++ useCabalVersion,
"-o", "Setup"]
rawSystemExit verbosity "./Setup" args
where cleaning = case args of
"clean" : _ -> True
......
......@@ -7,7 +7,7 @@ GHC_PKG_INSTALL_PROG = $(FPTOOLS_TOP_ABS)/utils/ghc-pkg/dist-install/build/ghc-p
LIBRARIES_ABS = $(FPTOOLS_TOP_ABS)/libraries
UTILS_ABS = $(FPTOOLS_TOP_ABS)/utils
CABAL = $(LIBRARIES_ABS)/cabal-bin $(GHC) $(LIBRARIES_ABS)/bootstrapping.conf
CABAL = $(LIBRARIES_ABS)/cabal-bin $(GHC) $(LIBRARIES_ABS)/bootstrapping.conf $(CABAL_DOTTED_VERSION)
INSTALL_PACKAGE = \
$(UTILS_ABS)/installPackage/install-inplace/bin/installPackage
STAGE3_PACKAGE_CONF = $(FPTOOLS_TOP_ABS)/stage3.package.conf
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment