Commit 5971cecb authored by simonmar's avatar simonmar
Browse files

[project @ 2005-09-13 12:50:59 by simonmar]

Never use an installed Cabal package when building GHC (except when
bootstrapping in stages 2 & 3).  This insulates us from changes the
user may have made to their Cabal installation.
parent 7177663c
......@@ -491,7 +491,9 @@ PKG_DEPENDS += unix
endif
endif
ifneq "$(findstring YES, $(bootstrapped) $(ghc_ge_603))" ""
# We use the Cabal package in stages 2/3 only; in stage 1 we're using
# the libcompat library which provides the Cabal modules.
ifneq "$(stage)" "1"
SRC_HC_OPTS += -package Cabal
PKG_DEPENDS += Cabal
endif
......
......@@ -41,32 +41,15 @@ UseGhcForCc = YES
SRC_HC_OPTS += $(filter-out -D%, $(GhcHcOpts))
ifeq "$(ghc_ge_603)" "YES"
# These modules are all provided in GHC 6.3+
# These modules are provided in GHC 6.3+
EXCLUDED_SRCS += \
System/Directory/Internals.hs \
Distribution/Compat/FilePath.hs \
Distribution/Compat/ReadP.hs \
Distribution/GetOpt.hs \
Distribution/InstalledPackageInfo.hs \
Distribution/License.hs \
Distribution/Package.hs \
Distribution/ParseUtils.hs \
Distribution/Compiler.hs \
Distribution/Version.hs \
Language/Haskell/Extension.hs
System/Directory/Internals.hs
SRC_MKDEPENDHS_OPTS += \
-optdep--exclude-module=System.Directory.Internals \
-optdep--exclude-module=Distribution.Compat.FilePath \
-optdep--exclude-module=Distribution.Compat.ReadP \
-optdep--exclude-module=Distribution.GetOpt \
-optdep--exclude-module=Distribution.InstalledPackageInfo \
-optdep--exclude-module=Distribution.License \
-optdep--exclude-module=Distribution.Package \
-optdep--exclude-module=Distribution.ParseUtils \
-optdep--exclude-module=Distribution.Compiler \
-optdep--exclude-module=Distribution.Version \
-optdep--exclude-module=Language.Haskell.Extension
-optdep--exclude-module=System.Directory.Internals
# GHC 6.3+ has Cabal, but we're replacing it:
SRC_HC_OPTS += -ignore-package Cabal
endif
# Some explicit dependencies, needed because ghc -M can't discover the
......
......@@ -10,6 +10,11 @@
SRC_HC_OPTS += -i$(GHC_LIB_COMPAT_DIR)
SRC_LD_OPTS += -L$(GHC_LIB_COMPAT_DIR) -lghccompat
# Do *not* use the installed Cabal:
ifeq "$(ghc_ge_603)" "YES"
SRC_HC_OPTS += -ignore-package Cabal
endif
# And similarly for when booting from .hc files:
HC_BOOT_LD_OPTS += -L$(GHC_LIB_COMPAT_DIR)
HC_BOOT_LIBS += -lghccompat
......
......@@ -23,10 +23,6 @@ ifeq "$(ghc_ge_504)" "NO"
SRC_HC_OPTS += -package lang -package util -package text
endif
ifeq "$(ghc_ge_603)" "YES"
SRC_HC_OPTS += -package Cabal
endif
# On Windows, ghc-pkg is a standalone program
# ($bindir/ghc-pkg.exe), whereas on Unix it needs a wrapper script
# to pass the appropriate flag to the real binary
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment