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.
| Opt_EmbedManifest
| Opt_RunCPSZ
| Opt_ConvertToZipCfgAndBack
- | Opt_LinkHaskell98
+ | Opt_AutoLinkPackages
-- keeping stuff
| Opt_KeepHiDiffs
-- end of initSysTools values
haddockOptions = Nothing,
flags = [
- Opt_LinkHaskell98,
+ Opt_AutoLinkPackages,
Opt_ReadUserPackageConf,
Opt_MonoPatBinds, -- Experimentally, I'm making this non-standard
, 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
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
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