X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FMakefile;h=db1c31e069067b23a91647758d8fc36d5f6c9fdf;hb=37a24c9da4052c0a06f5bad4848ddbf43c486a15;hp=943f3fe86392c354700e12a964ef9f3e3579b7f8;hpb=3d62f93c2937d0bbc32a1e3a7f05063d6d6e77b9;p=ghc-hetmet.git diff --git a/rts/Makefile b/rts/Makefile index 943f3fe..db1c31e 100644 --- a/rts/Makefile +++ b/rts/Makefile @@ -93,6 +93,15 @@ endif EXCLUDED_SRCS += parallel/SysMan.c +EXCLUDED_SRCS += dyn-wrapper.c + +# compile generatic patchable dyn-wrapper + +DYNWRAPPER_SRC = dyn-wrapper.c +DYNWRAPPER_PROG = dyn-wrapper$(exeext) +$(DYNWRAPPER_PROG): $(DYNWRAPPER_SRC) + $(HC) -cpp -optc-include -optcdyn-wrapper-patchable-behaviour.h $(INPLACE_EXTRA_FLAGS) $< -o $@ + # The build system doesn't give us these CMM_SRCS = $(filter-out AutoApply%.cmm, $(wildcard *.cmm)) $(EXTRA_CMM_SRCS) CMM_OBJS = $(patsubst %.cmm,%.$(way_)o, $(CMM_SRCS)) @@ -148,6 +157,11 @@ SRC_CC_OPTS += -DNOSMP SRC_HC_OPTS += -optc-DNOSMP endif +ifeq "$(UseLibFFI)" "YES" +SRC_CC_OPTS += -DUSE_LIBFFI +PACKAGE_CPP_OPTS += -DUSE_LIBFFI +endif + ifneq "$(DYNAMIC_RTS)" "YES" SRC_HC_OPTS += -static else @@ -163,13 +177,8 @@ LIB_LD_OPTS = -L$(shell $(GHC_PKG_INPLACE) field base library-dirs | sed -e 's/l endif endif -ifeq "$(Windows)" "YES" -# On Windows GHC does its own commandline parsing, so we need extra -# doublequote protection. Sigh. -DQ = \\\" -else +# XXX DQ is now the same on all platforms, so get rid of it DQ = \" -endif # If Main.c is built with optimisation then the SEH exception stuff on # Windows gets confused.