diff options
Diffstat (limited to 'ghc')
-rw-r--r-- | ghc/GhciMonad.hs | 5 | ||||
-rw-r--r-- | ghc/InteractiveUI.hs | 5 | ||||
-rw-r--r-- | ghc/ghc.mk | 12 |
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 |