From: Ian Lynagh Date: Sun, 4 Jul 2010 13:26:12 +0000 (+0000) Subject: Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=eb39f720c731b10b340ebadc809d91f9683ea157 Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156 --- diff --git a/ghc.mk b/ghc.mk index 1153121..03066d9 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 e072907..0efac4c 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 0b8bb37..6be5ce6 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 d45ebac..e9fe119 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)