X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FMakefile;h=9a71d74c93ef46e0081fdf7ebf8c2d6bf0f32baf;hb=a368e3b80600064ca0c630fceee3b67f2b22c238;hp=c7d4169372f9d58e233bd8df7e6dc01f4da0d5c5;hpb=980b5c2e1259c6059639cb7defe672a0b77d3b0b;p=ghc-hetmet.git diff --git a/compiler/Makefile b/compiler/Makefile index c7d4169..9a71d74 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -257,8 +257,6 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk @echo "cLdIsGNULd = \"$(LdIsGNULd)\"" >> $(CONFIG_HS) @echo "cLD_X :: String" >> $(CONFIG_HS) @echo "cLD_X = \"$(LD_X)\"" >> $(CONFIG_HS) - @echo "cPROJECT_DIR :: String" >> $(CONFIG_HS) - @echo "cPROJECT_DIR = \"$(PROJECT_DIR)\"" >> $(CONFIG_HS) @echo "cGHC_DRIVER_DIR_REL :: String" >> $(CONFIG_HS) @echo "cGHC_DRIVER_DIR_REL = \"$(GHC_DRIVER_DIR_REL)\"" >> $(CONFIG_HS) @echo "cGHC_TOUCHY_PGM :: String" >> $(CONFIG_HS) @@ -308,7 +306,7 @@ else @echo "cRelocatableBuild = False" >> $(CONFIG_HS) endif @echo "cLibFFI :: Bool" >> $(CONFIG_HS) -ifeq "$(UseLibFFI)" "YES" +ifeq "$(UseLibFFIForAdjustors)" "YES" @echo "cLibFFI = True" >> $(CONFIG_HS) else @echo "cLibFFI = False" >> $(CONFIG_HS) @@ -433,7 +431,7 @@ SRC_HC_OPTS += -Istage$(stage) ALL_DIRS = \ utils basicTypes types hsSyn prelude rename typecheck deSugar coreSyn \ vectorise specialise simplCore stranal stgSyn simplStg codeGen main \ - profiling parser cprAnalysis ndpFlatten iface cmm + profiling parser cprAnalysis iface cmm # Make sure we include Config.hs even if it doesn't exist yet... ALL_SRCS += $(CONFIG_HS) @@ -457,11 +455,6 @@ ALL_DIRS += javaGen SRC_HC_OPTS += -DJAVA endif -ifeq ($(UseLibFFI),YES) -SRC_HC_OPTS += -DUSE_LIBFFI -SRC_HSC2HS_OPTS += -DUSE_LIBFFI -endif - ifeq "$(BootingFromHc)" "YES" # HC files are always from a self-booted compiler bootstrapped = YES @@ -517,6 +510,9 @@ ifeq "$(GhcDebugged)" "YES" SRC_LD_OPTS += -debug endif +SRC_HC_OPTS += -I$(FPTOOLS_TOP)/libffi/build/include +SRC_HSC2HS_OPTS += -I$(FPTOOLS_TOP)/libffi/build/include + ALL_DIRS += ghci # If we are going to use dynamic libraries instead of .o files for ghci, @@ -529,23 +525,23 @@ else EXCLUDED_SRCS += ghci/keepCAFsForGHCi.c endif -# Enable readline if either: -# - we're building stage 1 and $(GhcHasReadline)="YES" -# - we're building stage 2/3, and we have built the readline package +# Enable editline if either: +# - we're building stage 1 and $(GhcHasEditline)="YES" +# - we're building stage 2/3, and we have built the editline package # -# But we don't enable readline on Windows, because readline is fairly -# broken there. +# But we don't enable editline on Windows, as Windows terminals have +# editline-like support builtin. # ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" ifeq "$(stage)" "1" -ifeq "$(GhcHasReadline)" "YES" -SRC_HC_OPTS += -package readline -DUSE_READLINE -PKG_DEPENDS += readline +ifeq "$(GhcHasEditline)" "YES" +SRC_HC_OPTS += -package editline -DUSE_EDITLINE +PKG_DEPENDS += editline endif else -ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/readline/unbuildable)" "" -SRC_HC_OPTS += -package readline -DUSE_READLINE -PKG_DEPENDS += readline +ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/editline/unbuildable)" "" +SRC_HC_OPTS += -package editline -DUSE_EDITLINE +PKG_DEPENDS += editline endif endif # stage=1 endif # not windows @@ -574,7 +570,7 @@ SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) SRC_HC_OPTS += \ -cpp -fglasgow-exts -fno-generics -Rghc-timing \ - -I. -Iparser + -I. -Iparser -Iutil # Omitted: -I$(GHC_INCLUDE_DIR) # We should have -I$(GHC_INCLUDE_DIR) in SRC_HC_OPTS, @@ -619,7 +615,7 @@ endif SRC_HC_OPTS += -ignore-package lang SRC_CC_OPTS += -Iparser -I. -O -SRC_HC_OPTS += -recomp $(GhcHcOpts) $(GhcStage$(stage)HcOpts) +SRC_HC_OPTS += $(GhcHcOpts) $(GhcStage$(stage)HcOpts) SRC_HC_OPTS += -H16M ifeq "$(BootingFromHc)" "YES" @@ -769,7 +765,12 @@ ifeq "$(stage)" "1" include $(GHC_COMPAT_DIR)/compat.mk endif -SRC_LD_OPTS += -no-link-chk +ifeq "$(GhcUnregisterised)" "NO" +ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" +# needed for generating proper relocation in large binaries: trac #856 +SRC_LD_OPTS += -optl-Wl,--relax +endif +endif # ----------------------------------------------------------------------------- # create ghc-inplace, a convenient way to run ghc from the build tree...