Make template-haskell a stage1 package
We enable building stage1 ghc with the boot version of template-haskell (and all its dependencies). Both template-haskell and ghc-boot-th are promoted to stage1 packages. We add CPP to the modules converting between TH and GHC ASTs to deal with differences between TH versions. The canonical list of language extensions lives in `ghc-boot-th`. As this is a dependency of template-haskell, we must use the boot version when building stage1 GHC. In that case, we add a duplicate list of language extensions to `ghc-boot` with the full list of language extensions for the in-tree version of GHC. We avoid duplicating the file by using an in-tree symlink. Resolves #23536
Showing
- compiler/GHC/Hs/Doc.hs 1 addition, 1 deletioncompiler/GHC/Hs/Doc.hs
- compiler/GHC/HsToCore/Quote.hs 38 additions, 19 deletionscompiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Tc/Gen/Splice.hs 21 additions, 4 deletionscompiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/ThToHs.hs 67 additions, 7 deletionscompiler/GHC/ThToHs.hs
- compiler/ghc.cabal.in 1 addition, 1 deletioncompiler/ghc.cabal.in
- hadrian/src/Rules/Dependencies.hs 4 additions, 1 deletionhadrian/src/Rules/Dependencies.hs
- hadrian/src/Rules/ToolArgs.hs 0 additions, 2 deletionshadrian/src/Rules/ToolArgs.hs
- hadrian/src/Settings/Default.hs 2 additions, 2 deletionshadrian/src/Settings/Default.hs
- libraries/ghc-boot/GHC/LanguageExtensions.hs 35 additions, 2 deletionslibraries/ghc-boot/GHC/LanguageExtensions.hs
- libraries/ghc-boot/GHC/LanguageExtensions/Type.hs 2 additions, 0 deletionslibraries/ghc-boot/GHC/LanguageExtensions/Type.hs
- libraries/ghc-boot/ghc-boot.cabal.in 5 additions, 3 deletionslibraries/ghc-boot/ghc-boot.cabal.in
- libraries/ghci/GHCi/Message.hs 6 additions, 1 deletionlibraries/ghci/GHCi/Message.hs
- libraries/ghci/GHCi/TH/Binary.hs 7 additions, 0 deletionslibraries/ghci/GHCi/TH/Binary.hs
- libraries/ghci/ghci.cabal.in 2 additions, 1 deletionlibraries/ghci/ghci.cabal.in
Loading
Please register or sign in to comment