X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghc.mk;h=0f419c62e6662ae80e16afced72b7032fd16806f;hb=bb82786487a86283c7083a7a7e5b9971aa6a405a;hp=486e2b6dde0f0074b427333d26894bf64100374e;hpb=704041f743ce0a6a67828b890ced3e556bbfff79;p=ghc-hetmet.git diff --git a/compiler/ghc.mk b/compiler/ghc.mk index 486e2b6..0f419c6 100644 --- a/compiler/ghc.mk +++ b/compiler/ghc.mk @@ -38,15 +38,26 @@ compiler_stage3_MKDEPENDC_OPTS = -DMAKING_GHC_BUILD_SYSTEM_DEPENDENCIES compiler_stage1_C_FILES_NODEPS = compiler/parser/cutils.c ifneq "$(BINDIST)" "YES" -compiler/stage1/package-data.mk : $(compiler_CONFIG_HS) -compiler/stage2/package-data.mk : $(compiler_CONFIG_HS) -compiler/stage3/package-data.mk : $(compiler_CONFIG_HS) +compiler/stage1/package-data.mk : compiler/stage1/build/Config.hs +compiler/stage2/package-data.mk : compiler/stage2/build/Config.hs +compiler/stage3/package-data.mk : compiler/stage3/build/Config.hs endif -$(compiler_CONFIG_HS) : mk/config.mk mk/project.mk +compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. "$(RM)" $(RM_OPTS) $@ @echo 'Creating $@ ... ' + @echo '{-# LANGUAGE CPP #-}' >> $@ @echo 'module Config where' >> $@ + @echo >> $@ + @echo '#include "ghc_boot_platform.h"' >> $@ + @echo >> $@ + @echo 'cBuildPlatform :: String' >> $@ + @echo 'cBuildPlatform = BuildPlatform_NAME' >> $@ + @echo 'cHostPlatform :: String' >> $@ + @echo 'cHostPlatform = HostPlatform_NAME' >> $@ + @echo 'cTargetPlatform :: String' >> $@ + @echo 'cTargetPlatform = TargetPlatform_NAME' >> $@ + @echo >> $@ @echo 'cProjectName :: String' >> $@ @echo 'cProjectName = "$(ProjectName)"' >> $@ @echo 'cProjectVersion :: String' >> $@ @@ -59,6 +70,10 @@ $(compiler_CONFIG_HS) : mk/config.mk mk/project.mk @echo 'cBooterVersion = "$(GhcVersion)"' >> $@ @echo 'cStage :: String' >> $@ @echo 'cStage = show (STAGE :: Int)' >> $@ + @echo 'cCcOpts :: [String]' >> $@ + @echo 'cCcOpts = words "$(CONF_CC_OPTS_STAGE$*)"' >> $@ + @echo 'cLdOpts :: [String]' >> $@ + @echo 'cLdOpts = words "$(CONF_LD_OPTS_STAGE$*)"' >> $@ @echo 'cIntegerLibrary :: String' >> $@ @echo 'cIntegerLibrary = "$(INTEGER_LIBRARY)"' >> $@ @echo 'cSplitObjs :: String' >> $@ @@ -121,6 +136,12 @@ ifeq "$(RelocatableBuild)" "YES" else @echo 'cRelocatableBuild = False' >> $@ endif + @echo 'cUseArchivesForGhci :: Bool' >> $@ +ifeq "$(UseArchivesForGhci)" "YES" + @echo 'cUseArchivesForGhci = True' >> $@ +else + @echo 'cUseArchivesForGhci = False' >> $@ +endif @echo 'cLibFFI :: Bool' >> $@ ifeq "$(UseLibFFIForAdjustors)" "YES" @echo 'cLibFFI = True' >> $@ @@ -129,7 +150,8 @@ else endif @echo done. -$(eval $(call clean-target,compiler,config_hs,$(compiler_CONFIG_HS))) +# XXX 2010-08-19: This is a legacy clean. Remove later. +$(eval $(call clean-target,compiler,config_hs,compiler/main/Config.hs)) # ----------------------------------------------------------------------------- # Create platform includes @@ -340,23 +362,22 @@ else compiler_CONFIGURE_OPTS += --ghc-option=-DNO_REGS endif -# We need to turn on profiling either if we have been asked to -# (GhcLibProfiled = YES) or if we want GHC itself to be compiled with -# profiling enabled (GhcProfiled = YES). -ifneq "$(GhcLibProfiled) $(GhcProfiled)" "NO NO" -compiler_stage2_CONFIGURE_OPTS += --enable-library-profiling -# And if we're profiling GHC then we want lots of SCCs. +# If we're profiling GHC then we want lots of SCCs, so -auto-all # We also don't want to waste time building the non-profiling library, # either normally or for ghci. Unfortunately this means that we have to # tell ghc-pkg --force as it gets upset when libHSghc-6.9.a doesn't # exist. ifeq "$(GhcProfiled)" "YES" compiler_stage2_CONFIGURE_OPTS += --ghc-option=-auto-all -compiler_stage2_CONFIGURE_OPTS += --disable-library-vanilla +# We seem to still build the vanilla libraries even if we say +# --disable-library-vanilla, but installation then fails, as Cabal +# doesn't copy the vanilla .hi files, but ghc-pkg complains about +# their absence when we register the package. So for now, we just +# leave the vanilla libraries enabled. +# compiler_stage2_CONFIGURE_OPTS += --disable-library-vanilla compiler_stage2_CONFIGURE_OPTS += --disable-library-for-ghci compiler_stage2_CONFIGURE_OPTS += --ghc-pkg-option=--force endif -endif ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" # The #include is vital for the via-C route with older compilers, else the C