summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc.mk1
-rw-r--r--rules/build-prog.mk6
-rw-r--r--utils/ghc-pkg/ghc-pkg.cabal14
-rw-r--r--utils/ghc-pkg/ghc.mk8
4 files changed, 19 insertions, 10 deletions
diff --git a/ghc.mk b/ghc.mk
index 1153121495..03066d9add 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -404,6 +404,7 @@ ghc/stage2/package-data.mk: compiler/stage2/package-data.mk
# libraries
utils/haddock/dist/package-data.mk: compiler/stage2/package-data.mk
+utils/ghc-pkg/dist-install/package-data.mk: compiler/stage2/package-data.mk
utils/hsc2hs/dist-install/package-data.mk: compiler/stage2/package-data.mk
utils/compare_sizes/dist/package-data.mk: compiler/stage2/package-data.mk
diff --git a/rules/build-prog.mk b/rules/build-prog.mk
index e07290772b..0efac4c039 100644
--- a/rules/build-prog.mk
+++ b/rules/build-prog.mk
@@ -50,6 +50,10 @@ define build-prog-helper
$(call all-target,$1,all_$1_$2)
ifeq "$$($1_USES_CABAL)" "YES"
+$1_$2_USES_CABAL = YES
+endif
+
+ifeq "$$($1_$2_USES_CABAL)" "YES"
ifneq "$$(NO_INCLUDE_PKGDATA)" "YES"
include $1/$2/package-data.mk
endif
@@ -57,7 +61,7 @@ endif
$(call package-config,$1,$2,$3)
-ifeq "$$($1_USES_CABAL)$$($1_$2_VERSION)" "YES"
+ifeq "$$($1_$2_USES_CABAL)$$($1_$2_VERSION)" "YES"
$1_$2_DISABLE = YES
endif
diff --git a/utils/ghc-pkg/ghc-pkg.cabal b/utils/ghc-pkg/ghc-pkg.cabal
index 0b8bb37e10..6be5ce6bd9 100644
--- a/utils/ghc-pkg/ghc-pkg.cabal
+++ b/utils/ghc-pkg/ghc-pkg.cabal
@@ -21,6 +21,7 @@ Flag base3
Executable ghc-pkg
Main-Is: Main.hs
+ Other-Modules: Version
Extensions: CPP, ForeignFunctionInterface
if flag(base4)
@@ -32,14 +33,19 @@ Executable ghc-pkg
if flag(base3) || flag(base4)
Build-Depends: directory >= 1 && < 1.1,
- process >= 1 && < 1.1,
- pretty >= 1 && < 1.1
+ process >= 1 && < 1.1
if impl(ghc < 6.9)
Build-Depends: extensible-exceptions
- Build-Depends: haskell98, filepath, Cabal, bin-package-db
+ Build-Depends: haskell98,
+ filepath,
+ Cabal,
+ binary,
+ bin-package-db,
+ bytestring
if !os(windows)
- Build-Depends: unix
+ Build-Depends: unix,
+ terminfo
if os(windows)
c-sources: CRT_noglob.c
diff --git a/utils/ghc-pkg/ghc.mk b/utils/ghc-pkg/ghc.mk
index d45ebacd5e..e9fe119ad4 100644
--- a/utils/ghc-pkg/ghc.mk
+++ b/utils/ghc-pkg/ghc.mk
@@ -78,12 +78,10 @@ $(eval $(call clean-target,utils/ghc-pkg,dist,\
# -----------------------------------------------------------------------------
# Building ghc-pkg with stage 1
+utils/ghc-pkg_dist-install_USES_CABAL = YES
+utils/ghc-pkg_PACKAGE = ghc-pkg
+
utils/ghc-pkg_dist-install_PROG = ghc-pkg
-utils/ghc-pkg_dist-install_MODULES = Main Version
-utils/ghc-pkg_dist-install_DEPS = Cabal bin-package-db
-ifeq "$(Windows)" "NO"
-utils/ghc-pkg_dist-install_DEPS += terminfo
-endif
utils/ghc-pkg_dist-install_SHELL_WRAPPER = YES
utils/ghc-pkg_dist-install_INSTALL_SHELL_WRAPPER = YES
utils/ghc-pkg_dist-install_INSTALL_SHELL_WRAPPER_NAME = ghc-pkg-$(ProjectVersion)