X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FMakefile;h=aac594d3e9778cbad026766bb6d3ed248c4118b2;hp=8cc97208aad2f52eebb1cbb54555be1033d9d118;hb=b88025eabcd83f65d1d81f09272f5172f06a60e7;hpb=eea8fd53dce9b81a32e1e8c871ef6b3cf57295da diff --git a/compiler/Makefile b/compiler/Makefile index 8cc9720..aac594d 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -217,6 +217,7 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile @echo "cHscIfaceFileVersion = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS) @echo "cGhcWithNativeCodeGen = \"$(GhcWithNativeCodeGen)\"" >> $(CONFIG_HS) @echo "cGhcUnregisterised = \"$(GhcUnregisterised)\"" >> $(CONFIG_HS) + @echo "cGhcEnableTablesNextToCode = \"$(GhcEnableTablesNextToCode)\"" >> $(CONFIG_HS) @echo "cLeadingUnderscore = \"$(LeadingUnderscore)\"" >> $(CONFIG_HS) @echo "cRAWCPP_FLAGS = \"$(RAWCPP_FLAGS)\"" >> $(CONFIG_HS) @echo "cGCC = \"$(WhatGccIsCalled)\"" >> $(CONFIG_HS) @@ -346,10 +347,6 @@ endif @echo "#define HOST_VENDOR \"$(TargetVendor_CPP)\"" >> $@ @echo "#define TARGET_VENDOR \"$(TargetVendor_CPP)\"" >> $@ @echo >> $@ -ifeq "$(GhcWithTablesNextToCode)" "YES" - @echo "#define TABLES_NEXT_TO_CODE 1" >> $@ -endif - @echo >> $@ @echo "#endif /* __PLATFORM_H__ */" >> $@ @echo "Done." @@ -416,12 +413,22 @@ ifeq "$(GhcWithInterpreter) $(bootstrapped)" "YES YES" # Yes, include the interepreter, readline, and Template Haskell extensions SRC_HC_OPTS += -DGHCI -package template-haskell -# -DBREAKPOINT causes a loop in stage2 -# SRC_HC_OPTS += -DGHCI -DBREAKPOINT -package template-haskell PKG_DEPENDS += template-haskell +# Should the debugger commands be enabled? +ifeq "$(GhciWithDebugger)" "YES" +SRC_HC_OPTS += -DDEBUGGER +endif +# Should GHCI be building info tables in the TABLES_NEXT_TO_CODE style +# or not? +ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO" +SRC_HC_OPTS += -DGHCI_TABLES_NEXT_TO_CODE +endif + +ifneq "$(GhcNotThreaded)" "YES" # Use threaded RTS with GHCi, so threads don't get blocked at the prompt. SRC_HC_OPTS += -threaded +endif ALL_DIRS += ghci @@ -723,6 +730,10 @@ all :: $(odir)/ghc-inplace ghc-inplace # (On other system, -W isn't a pwd flag at all.) ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +all :: $(odir)/ghc-inplace.bat ghc-inplace.bat +endif + +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" # MSys (...and cygwin with a mingw toolchain) SCRIPT_SHELL = $(shell cd /bin; pwd -W 2>/dev/null || echo "/bin")/sh else @@ -751,6 +762,13 @@ $(odir)/ghc-inplace : $(GHC_PROG) # Re exec, see note 2 above chmod 755 $@ +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +ghc-inplace.bat $(odir)/ghc-inplace.bat: $(GHC_PROG) + @$(RM) $@ + echo '@call $(subst /,\,$(GHC_COMPILER_DIR_ABS)/$(GHC_PROG)) -B$(FPTOOLS_TOP_ABS_PLATFORM) %*' >> $@ + chmod 755 $@ +endif + ghc-inplace : stage1/ghc-inplace $(RM) -f $@ && $(LN_S) $< $@ @@ -855,6 +873,9 @@ HS_IFACES = $(addsuffix .$(way_)hi,$(basename $(HS_OBJS))) # Haddock can't handle recursive modules currently, so we disable it for now. NO_HADDOCK_DOCS = YES +# Tell package.mk not to set $(HC) +NO_SET_HC = YES + # The stage 2 GHC binary itself is built by compiling main/Main.hs # (the same as used in stage 1) against the GHC package. #