Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156
authorIan Lynagh <igloo@earth.li>
Sun, 4 Jul 2010 13:26:12 +0000 (13:26 +0000)
committerIan Lynagh <igloo@earth.li>
Sun, 4 Jul 2010 13:26:12 +0000 (13:26 +0000)
ghc.mk
rules/build-prog.mk
utils/ghc-pkg/ghc-pkg.cabal
utils/ghc-pkg/ghc.mk

diff --git a/ghc.mk b/ghc.mk
index 1153121..03066d9 100644 (file)
--- 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
 
index e072907..0efac4c 100644 (file)
@@ -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
 
index 0b8bb37..6be5ce6 100644 (file)
@@ -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
index d45ebac..e9fe119 100644 (file)
@@ -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)