X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fghc.mk;h=8ed34c31360ef5a5ac74ef462e5c3c4927604bf1;hp=978835f34f120a9688103e7413c573d1089b4712;hb=c5b178be60a5a44abd2f4ddf8c399857678326e2;hpb=f0e3d7904df76f35676e105ed63e7b4eb961773a diff --git a/compiler/ghc.mk b/compiler/ghc.mk index 978835f..8ed34c3 100644 --- a/compiler/ghc.mk +++ b/compiler/ghc.mk @@ -49,8 +49,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @echo '{-# LANGUAGE CPP #-}' >> $@ @echo 'module Config where' >> $@ @echo >> $@ - @echo 'import Distribution.System' >> $@ - @echo >> $@ @echo '#include "ghc_boot_platform.h"' >> $@ @echo >> $@ @echo 'cBuildPlatformString :: String' >> $@ @@ -60,42 +58,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @echo 'cTargetPlatformString :: String' >> $@ @echo 'cTargetPlatformString = TargetPlatform_NAME' >> $@ @echo >> $@ -# Sync this with checkArch in configure.ac - @echo 'cTargetArch :: Arch' >> $@ - @echo '#if i386_TARGET_ARCH' >> $@ - @echo 'cTargetArch = I386' >> $@ - @echo '#elif x86_64_TARGET_ARCH' >> $@ - @echo 'cTargetArch = X86_64' >> $@ - @echo '#elif powerpc_TARGET_ARCH' >> $@ - @echo 'cTargetArch = PPC' >> $@ - @echo '#elif powerpc64_TARGET_ARCH' >> $@ - @echo 'cTargetArch = PPC64' >> $@ - @echo '#elif sparc_TARGET_ARCH || sparc64_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Sparc' >> $@ - @echo '#elif arm_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Arm' >> $@ - @echo '#elif mips_TARGET_ARCH || mipseb_TARGET_ARCH || mipsel_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Mips' >> $@ - @echo '#elif 0' >> $@ - @echo 'cTargetArch = SH' >> $@ - @echo '#elif ia64_TARGET_ARCH' >> $@ - @echo 'cTargetArch = IA64' >> $@ - @echo '#elif s390_TARGET_ARCH' >> $@ - @echo 'cTargetArch = S390' >> $@ - @echo '#elif alpha_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Alpha' >> $@ - @echo '#elif hppa_TARGET_ARCH || hppa1_1_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Hppa' >> $@ - @echo '#elif rs6000_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Rs6000' >> $@ - @echo '#elif m68k_TARGET_ARCH' >> $@ - @echo 'cTargetArch = M68k' >> $@ - @echo '#elif vax_TARGET_ARCH' >> $@ - @echo 'cTargetArch = Vax' >> $@ - @echo '#else' >> $@ - @echo '#error Unknown target arch' >> $@ - @echo '#endif' >> $@ - @echo >> $@ @echo 'cProjectName :: String' >> $@ @echo 'cProjectName = "$(ProjectName)"' >> $@ @echo 'cProjectVersion :: String' >> $@ @@ -108,14 +70,14 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @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 'cGccLinkerOpts :: [String]' >> $@ + @echo 'cGccLinkerOpts = words "$(CONF_GCC_LINKER_OPTS_STAGE$*)"' >> $@ + @echo 'cLdLinkerOpts :: [String]' >> $@ + @echo 'cLdLinkerOpts = words "$(CONF_LD_LINKER_OPTS_STAGE$*)"' >> $@ @echo 'cIntegerLibrary :: String' >> $@ @echo 'cIntegerLibrary = "$(INTEGER_LIBRARY)"' >> $@ - @echo 'cSplitObjs :: String' >> $@ - @echo 'cSplitObjs = "$(SupportsSplitObjs)"' >> $@ + @echo 'cSupportsSplitObjs :: String' >> $@ + @echo 'cSupportsSplitObjs = "$(SupportsSplitObjs)"' >> $@ @echo 'cGhcWithInterpreter :: String' >> $@ @echo 'cGhcWithInterpreter = "$(GhcWithInterpreter)"' >> $@ @echo 'cGhcWithNativeCodeGen :: String' >> $@ @@ -132,12 +94,12 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @echo 'cLeadingUnderscore = "$(LeadingUnderscore)"' >> $@ @echo 'cRAWCPP_FLAGS :: String' >> $@ @echo 'cRAWCPP_FLAGS = "$(RAWCPP_FLAGS)"' >> $@ - @echo 'cGCC :: String' >> $@ - @echo 'cGCC = "$(WhatGccIsCalled)"' >> $@ @echo 'cMKDLL :: String' >> $@ @echo 'cMKDLL = "$(BLD_DLL)"' >> $@ @echo 'cLdIsGNULd :: String' >> $@ @echo 'cLdIsGNULd = "$(LdIsGNULd)"' >> $@ + @echo 'cLdHasBuildId :: String' >> $@ + @echo 'cLdHasBuildId = "$(LdHasBuildId)"' >> $@ @echo 'cLD_X :: String' >> $@ @echo 'cLD_X = "$(LD_X)"' >> $@ @echo 'cGHC_DRIVER_DIR :: String' >> $@ @@ -150,10 +112,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @echo 'cGHC_UNLIT_PGM = "$(GHC_UNLIT_PGM)"' >> $@ @echo 'cGHC_UNLIT_DIR :: String' >> $@ @echo 'cGHC_UNLIT_DIR = "$(GHC_UNLIT_DIR)"' >> $@ - @echo 'cGHC_MANGLER_PGM :: String' >> $@ - @echo 'cGHC_MANGLER_PGM = "$(GHC_MANGLER_PGM)"' >> $@ - @echo 'cGHC_MANGLER_DIR :: String' >> $@ - @echo 'cGHC_MANGLER_DIR = "$(GHC_MANGLER_DIR)"' >> $@ @echo 'cGHC_SPLIT_PGM :: String' >> $@ @echo 'cGHC_SPLIT_PGM = "$(GHC_SPLIT_PGM)"' >> $@ @echo 'cGHC_SPLIT_DIR :: String' >> $@ @@ -162,8 +120,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/. @echo 'cGHC_SYSMAN_PGM = "$(GHC_SYSMAN)"' >> $@ @echo 'cGHC_SYSMAN_DIR :: String' >> $@ @echo 'cGHC_SYSMAN_DIR = "$(GHC_SYSMAN_DIR)"' >> $@ - @echo 'cGHC_PERL :: String' >> $@ - @echo 'cGHC_PERL = "$(GHC_PERL)"' >> $@ @echo 'cDEFAULT_TMPDIR :: String' >> $@ @echo 'cDEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)"' >> $@ @echo 'cRelocatableBuild :: Bool' >> $@ @@ -296,7 +252,7 @@ PRIMOP_BITS = compiler/primop-data-decl.hs-incl \ compiler/primop-has-side-effects.hs-incl \ compiler/primop-out-of-line.hs-incl \ compiler/primop-commutable.hs-incl \ - compiler/primop-needs-wrapper.hs-incl \ + compiler/primop-code-size.hs-incl \ compiler/primop-can-fail.hs-incl \ compiler/primop-strictness.hs-incl \ compiler/primop-primop-info.hs-incl @@ -322,8 +278,8 @@ compiler/primop-out-of-line.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) "$(GENPRIMOP_INPLACE)" --out-of-line < $< > $@ compiler/primop-commutable.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) "$(GENPRIMOP_INPLACE)" --commutable < $< > $@ -compiler/primop-needs-wrapper.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) - "$(GENPRIMOP_INPLACE)" --needs-wrapper < $< > $@ +compiler/primop-code-size.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) + "$(GENPRIMOP_INPLACE)" --code-size < $< > $@ compiler/primop-can-fail.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) "$(GENPRIMOP_INPLACE)" --can-fail < $< > $@ compiler/primop-strictness.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) @@ -377,12 +333,6 @@ endif endif -ifeq "$(GhcWithNativeCodeGen)" "NO" -# XXX This should logically be a CPP option, but there doesn't seem to -# be a flag for that -compiler_CONFIGURE_OPTS += --ghc-option=-DOMIT_NATIVE_CODEGEN -endif - ifeq "$(TargetOS_CPP)" "openbsd" compiler_CONFIGURE_OPTS += --ld-options=-E endif @@ -493,6 +443,18 @@ compiler_stage1_HC_OPTS += $(GhcStage1HcOpts) compiler_stage2_HC_OPTS += $(GhcStage2HcOpts) compiler_stage3_HC_OPTS += $(GhcStage3HcOpts) +ifeq "$(GhcStage1DefaultNewCodegen)" "YES" +compiler_stage1_HC_OPTS += -DGHC_DEFAULT_NEW_CODEGEN +endif + +ifeq "$(GhcStage2DefaultNewCodegen)" "YES" +compiler_stage2_HC_OPTS += -DGHC_DEFAULT_NEW_CODEGEN +endif + +ifeq "$(GhcStage3DefaultNewCodegen)" "YES" +compiler_stage3_HC_OPTS += -DGHC_DEFAULT_NEW_CODEGEN +endif + ifneq "$(BINDIST)" "YES" compiler_stage2_TAGS_HC_OPTS = -package ghc @@ -535,7 +497,9 @@ compiler/stage1/inplace-pkg-config-munged: compiler/stage1/inplace-pkg-config < $< > $@ "$(compiler_stage1_GHC_PKG)" update --force $(compiler_stage1_GHC_PKG_OPTS) $@ -$(compiler_stage1_v_LIB) : compiler/stage1/inplace-pkg-config-munged +# We need to make sure the munged config is in the database before we +# try to configure ghc-bin +ghc/stage1/package-data.mk : compiler/stage1/inplace-pkg-config-munged endif endif