X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FMakefile;h=d88a82308b220352bede2393d616dd3265566ce7;hb=50c4d03919a9d5c37c14004e964083251f655e93;hp=943f3fe86392c354700e12a964ef9f3e3579b7f8;hpb=3d62f93c2937d0bbc32a1e3a7f05063d6d6e77b9;p=ghc-hetmet.git diff --git a/rts/Makefile b/rts/Makefile index 943f3fe..d88a823 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,13 @@ 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 +# Mac OS X: make sure we compile for the right OS version +SRC_CC_OPTS += $(MACOSX_DEPLOYMENT_CC_OPTS) +SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS)) +LIB_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS)) + +# 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.