summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
Diffstat (limited to 'ghc')
-rw-r--r--ghc/GhciMonad.hs5
-rw-r--r--ghc/InteractiveUI.hs5
-rw-r--r--ghc/ghc.mk12
3 files changed, 9 insertions, 13 deletions
diff --git a/ghc/GhciMonad.hs b/ghc/GhciMonad.hs
index 2a6badbff0..e61e1409de 100644
--- a/ghc/GhciMonad.hs
+++ b/ghc/GhciMonad.hs
@@ -204,8 +204,6 @@ instance GhcMonad (InputT GHCi) where
instance ExceptionMonad GHCi where
gcatch m h = GHCi $ \r -> unGHCi m r `gcatch` (\e -> unGHCi (h e) r)
- gblock (GHCi m) = GHCi $ \r -> gblock (m r)
- gunblock (GHCi m) = GHCi $ \r -> gunblock (m r)
gmask f =
GHCi $ \s -> gmask $ \io_restore ->
let
@@ -227,9 +225,6 @@ instance ExceptionMonad (InputT GHCi) where
gcatch = Haskeline.catch
gmask f = Haskeline.liftIOOp gmask (f . Haskeline.liftIOOp_)
- gblock = Haskeline.liftIOOp_ gblock
- gunblock = Haskeline.liftIOOp_ gunblock
-
isOptionSet :: GHCiOption -> GHCi Bool
isOptionSet opt
= do st <- getGHCiState
diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs
index c5d2808c44..5b3e572650 100644
--- a/ghc/InteractiveUI.hs
+++ b/ghc/InteractiveUI.hs
@@ -81,7 +81,6 @@ import Exception hiding (catch)
import Foreign.C
import Foreign.Safe
-import System.Cmd
import System.Directory
import System.Environment
import System.Exit ( exitWith, ExitCode(..) )
@@ -89,6 +88,7 @@ import System.FilePath
import System.IO
import System.IO.Error
import System.IO.Unsafe ( unsafePerformIO )
+import System.Process
import Text.Printf
#ifndef mingw32_HOST_OS
@@ -2944,7 +2944,8 @@ showException se =
-- may never be delivered. Thanks to Marcin for pointing out the bug.
ghciHandle :: ExceptionMonad m => (SomeException -> m a) -> m a -> m a
-ghciHandle h m = gcatch m $ \e -> gunblock (h e)
+ghciHandle h m = gmask $ \restore ->
+ gcatch (restore m) $ \e -> restore (h e)
ghciTry :: GHCi a -> GHCi (Either SomeException a)
ghciTry (GHCi m) = GHCi $ \s -> gtry (m s)
diff --git a/ghc/ghc.mk b/ghc/ghc.mk
index 6df1a50746..5c37115886 100644
--- a/ghc/ghc.mk
+++ b/ghc/ghc.mk
@@ -31,6 +31,11 @@ ifeq "$(compiler_stage1_VERSION_MUNGED)" "YES"
ghc_stage1_CONFIGURE_OPTS += --constraint "ghc == $(compiler_stage1_MUNGED_VERSION)"
endif
+# This package doesn't pass the Cabal checks because data-dir
+# points outside the source directory. This isn't a real problem, so
+# we just skip the check.
+ghc_NO_CHECK = YES
+
ghc_stage1_MORE_HC_OPTS = $(GhcStage1HcOpts)
ghc_stage2_MORE_HC_OPTS = $(GhcStage2HcOpts)
ghc_stage3_MORE_HC_OPTS = $(GhcStage3HcOpts)
@@ -156,11 +161,6 @@ $(GHC_STAGE2) : | $(TOUCHY)
$(GHC_STAGE3) : | $(TOUCHY)
endif
-ifeq "$(BootingFromHc)" "YES"
-$(GHC_STAGE2) : $(ALL_STAGE1_LIBS)
-ghc_stage2_OTHER_OBJS += $(compiler_stage2_v_LIB) $(ALL_STAGE1_LIBS) $(ALL_STAGE1_LIBS) $(ALL_STAGE1_LIBS) $(ALL_RTS_LIBS) $(libffi_STATIC_LIB)
-endif
-
endif
INSTALL_LIBS += settings
@@ -177,7 +177,7 @@ else
install: install_ghc_post
.PHONY: install_ghc_post
install_ghc_post: install_bins
- $(call removeFiles,$(DESTDIR)$(bindir)/ghc.exe)
+ $(call removeFiles,"$(DESTDIR)$(bindir)/ghc.exe")
"$(MV)" -f $(DESTDIR)$(bindir)/ghc-stage$(INSTALL_GHC_STAGE).exe $(DESTDIR)$(bindir)/$(CrossCompilePrefix)ghc.exe
endif