From 53ec704b7155b18a49f09e6894fd033db3b8f592 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Tue, 8 Jul 2008 16:56:54 +0000 Subject: [PATCH] Extend the flag for not automatically linking haskell98 It now also doesn't automatically link base and rts either. We need this when we've done a build, so base and rts are in the package.conf, but we've then cleaned the libraries so they don't physically exist any more. --- compiler/main/DynFlags.hs | 6 +++--- compiler/main/Packages.lhs | 6 ++++-- mk/config.mk.in | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 04d2003..f40ac43 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -275,7 +275,7 @@ data DynFlag | Opt_EmbedManifest | Opt_RunCPSZ | Opt_ConvertToZipCfgAndBack - | Opt_LinkHaskell98 + | Opt_AutoLinkPackages -- keeping stuff | Opt_KeepHiDiffs @@ -569,7 +569,7 @@ defaultDynFlags = -- end of initSysTools values haddockOptions = Nothing, flags = [ - Opt_LinkHaskell98, + Opt_AutoLinkPackages, Opt_ReadUserPackageConf, Opt_MonoPatBinds, -- Experimentally, I'm making this non-standard @@ -1107,7 +1107,7 @@ dynamic_flags = [ , Flag "keep-tmp-files" (NoArg (setDynFlag Opt_KeepTmpFiles)) Supported ------- Miscellaneous ---------------------------------------------- - , Flag "no-link-haskell98" (NoArg (unSetDynFlag Opt_LinkHaskell98)) Supported + , Flag "no-auto-link-packages" (NoArg (unSetDynFlag Opt_AutoLinkPackages)) Supported , Flag "no-hs-main" (NoArg (setDynFlag Opt_NoHsMain)) Supported , Flag "main-is" (SepArg setMainIs ) Supported , Flag "haddock" (NoArg (setDynFlag Opt_Haddock)) Supported diff --git a/compiler/main/Packages.lhs b/compiler/main/Packages.lhs index 0628b66..c2010c9 100644 --- a/compiler/main/Packages.lhs +++ b/compiler/main/Packages.lhs @@ -548,8 +548,10 @@ mkPackageState dflags orig_pkg_db preload0 this_package = do let pkg_db = extendPackageConfigMap emptyPackageConfigMap pkgs -- add base & rts to the preload packages - basicLinkedPackages = filter (flip elemUFM pkg_db) - [basePackageId,rtsPackageId] + basicLinkedPackages + | dopt Opt_AutoLinkPackages dflags + = filter (flip elemUFM pkg_db) [basePackageId, rtsPackageId] + | otherwise = [] -- but in any case remove the current package from the set of -- preloaded packages so that base/rts does not end up in the -- set up preloaded package when we are just building it diff --git a/mk/config.mk.in b/mk/config.mk.in index 8afeb1e..be65b24 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -967,7 +967,7 @@ SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS))) SRC_HSC2HS_OPTS += --cc=$(CC) SRC_HSC2HS_OPTS += --ld=$(CC) SRC_HSC2HS_OPTS += --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -SRC_HSC2HS_OPTS += --lflag=-no-link-haskell98 +SRC_HSC2HS_OPTS += --lflag=-no-auto-link-packages SRC_HSC2HS_OPTS += -I$(GHC_INCLUDE_DIR_ABS) SRC_HSC2HS_OPTS += -I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild -- 1.7.10.4