Fix dll-split problem with patch 'Make Core Lint check for locally-bound GlobalId'
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 15 Dec 2014 17:03:47 +0000 (17:03 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 15 Dec 2014 17:08:58 +0000 (17:08 +0000)
commit3f87866ad536d1c20fa477aa124fe1267fb36a43
tree8770d74570997fc5896243ffabe13001d5d83c7e
parent48222831ae392cb556707b6b290a4dcc2677d97b
Fix dll-split problem with patch 'Make Core Lint check for locally-bound GlobalId'

The trouble was that my changes made a lot more files transitively link with
DynFlags, which is the root module for the revolting Windows dll-split stuff.

Anyway this patch fixes it, in a good way:

 - Make GHC/Hooks *not* import DsMonad, because DsMonad imports too
   much other stuff (notably tcLookup variants).  Really, Hooks depends
   only on *types* not *code*.

 - To do this I need the DsM type, and the types it depends on,
   not to be part of DsMonad.  So I moved it to TcRnTypes, which is
   where the similar pieces for the TcM and IfM monads live.

 - We can then delete DsMonad.hs-boot

 - There are a bunch of knock-on change, of no great significance
compiler/deSugar/DsMeta.hs
compiler/deSugar/DsMonad.hs
compiler/deSugar/DsMonad.hs-boot [deleted file]
compiler/ghc.mk
compiler/main/Hooks.hs
compiler/typecheck/TcEnv.hs
compiler/typecheck/TcExpr.hs
compiler/typecheck/TcRnTypes.hs
compiler/typecheck/TcSplice.hs