From d2f9972a35ce05ceb8a78893e433ef1df06f73ef Mon Sep 17 00:00:00 2001 From: RyanGlScott Date: Tue, 13 Oct 2015 00:43:32 -0500 Subject: Make dataToQa aware of Data instances which use functions to implement toConstr Trac #10796 exposes a way to make `template-haskell`'s `dataToQa` function freak out if using a `Data` instance that produces a `Constr` (by means of `toConstr`) using a function name instead of a data constructor name. While such `Data` instances are somewhat questionable, they are nevertheless present in popular libraries (e.g., `containers`), so we can at least make `dataToQa` aware of their existence. In order to properly distinguish strings which represent variables (as opposed to data constructors), it was necessary to move functionality from `Lexeme` (in `ghc`) to `GHC.Lexeme` in a new `ghc-boot` library (which was previously named `bin-package-db`). Reviewed By: goldfire, thomie Differential Revision: https://phabricator.haskell.org/D1313 GHC Trac Issues: #10796 --- ghc.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ghc.mk') diff --git a/ghc.mk b/ghc.mk index 6a294ac4b3..47926c4269 100644 --- a/ghc.mk +++ b/ghc.mk @@ -410,7 +410,7 @@ else # CLEANING # programs such as GHC and ghc-pkg, that we do not assume the stage0 # compiler already has installed (or up-to-date enough). -PACKAGES_STAGE0 = binary Cabal/Cabal hpc bin-package-db hoopl transformers template-haskell +PACKAGES_STAGE0 = binary Cabal/Cabal hpc ghc-boot hoopl transformers template-haskell ifeq "$(Windows_Host)" "NO" ifneq "$(HostOS_CPP)" "ios" PACKAGES_STAGE0 += terminfo @@ -438,10 +438,10 @@ PACKAGES_STAGE1 += directory PACKAGES_STAGE1 += process PACKAGES_STAGE1 += hpc PACKAGES_STAGE1 += pretty -PACKAGES_STAGE1 += template-haskell PACKAGES_STAGE1 += binary PACKAGES_STAGE1 += Cabal/Cabal -PACKAGES_STAGE1 += bin-package-db +PACKAGES_STAGE1 += ghc-boot +PACKAGES_STAGE1 += template-haskell PACKAGES_STAGE1 += hoopl PACKAGES_STAGE1 += transformers @@ -752,7 +752,7 @@ fixed_pkg_prev= $(foreach pkg,$(PACKAGES_STAGE0),$(eval $(call fixed_pkg_dep,$(pkg),dist-boot))) # ghc-pkg, unlike other utils that we build with the stage0 compiler (TODO: is # this really true?), depends on several boot packages (e.g. Cabal and -# bin-package-db). They need to be configured before ghc-pkg, so we add a +# ghc-boot). They need to be configured before ghc-pkg, so we add a # dependency between their package-data.mk files. See also Note # [Dependencies between package-data.mk files]. utils/ghc-pkg/dist/package-data.mk: $(fixed_pkg_prev) -- cgit v1.2.1