X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FMakefile;h=6fb168824acf2d894eeeea63d37424c9dc5ae9df;hb=d7fcc5eb8e926038240078ebfccea05f4f3eb1da;hp=9e30a22e1801fe56825d7335c2fe0623572c7b7e;hpb=8b227d2ffdae9e3e2ed7ec5754c1e1a0cd3f977d;p=ghc-hetmet.git diff --git a/rts/Makefile b/rts/Makefile index 9e30a22..6fb1688 100644 --- a/rts/Makefile +++ b/rts/Makefile @@ -36,7 +36,7 @@ endif # ----------------------------------------------------------------------------- # RTS ways -WAYS=$(GhcLibWays) $(GhcRTSWays) +WAYS=$(strip $(GhcLibWays) $(GhcRTSWays)) ifneq "$(findstring debug, $(way))" "" GhcRtsHcOpts= @@ -152,6 +152,8 @@ SRC_CC_OPTS += $(STANDARD_OPTS) SRC_CC_OPTS += $(GhcRtsCcOpts) SRC_HC_OPTS += $(GhcRtsHcOpts) $(STANDARD_OPTS) -package-name rts +SRC_HC_OPTS += -fvia-C + ifneq "$(GhcWithSMP)" "YES" SRC_CC_OPTS += -DNOSMP SRC_HC_OPTS += -optc-DNOSMP @@ -177,13 +179,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. @@ -366,13 +368,7 @@ endif # Compiling the cmm files # ToDo: should we really include Rts.h here? Required for GNU_ATTRIBUTE(). -SRC_HC_OPTS += -I. -\#include HCIncludes.h - -ifeq "$(Windows)" "YES" -PrimOps_HC_OPTS += -\#include '' -\#include win32/AsyncIO.h -else -PrimOps_HC_OPTS += -\#include posix/Itimer.h -endif +SRC_HC_OPTS += -I. # Otherwise the stack-smash handler gets triggered. ifeq "$(TargetOS_CPP)" "openbsd"