X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fghc.mk;h=8b6ecb1ce85503438f76f813c0a8acdc4ceaf4bd;hb=ed30194937e0562e62da3e71f9da8585ac6cf477;hp=397ab8d187362d89d10214b1a2de78e0d79c5f84;hpb=5f9b7e5f25c6b40dfe03fc968e474ac83e6273be;p=ghc-hetmet.git diff --git a/rts/ghc.mk b/rts/ghc.mk index 397ab8d..8b6ecb1 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -44,7 +44,7 @@ rts_C_SRCS = $(filter-out $(EXCLUDED_SRCS),$(wildcard rts/*.c $(foreach dir,$(AL rts_CMM_SRCS = $(wildcard rts/*.cmm) # Don't compile .S files when bootstrapping a new arch -ifeq "$(TARGETPLATFORM)" "$(HOSTPLATFORM)" +ifneq "$(PORTING_HOST)" "YES" ifneq "$(findstring $(TargetArch_CPP), powerpc powerpc64)" "" rts_S_SRCS += rts/AdjustorAsm.S else @@ -172,7 +172,7 @@ $$(rts_$1_LIB) : $$(rts_$1_OBJS) rts/libs.depend "$$(RM)" $$(RM_OPTS) $$@ "$$(rts_dist_HC)" -package-name rts -shared -dynamic -dynload deploy \ -no-auto-link-packages `cat rts/libs.depend` $$(rts_$1_OBJS) -o $$@ -ifeq "$$(darwin_TARGET_OS)" "1" +ifeq "$$(darwin_HOST_OS)" "1" # Ensure library's install name is correct before anyone links with it. install_name_tool -id $(ghclibdir)/$$(rts_$1_LIB_NAME) $$@ endif @@ -317,8 +317,18 @@ rts/RtsUtils_CC_OPTS += -DGhcEnableTablesNextToCode=$(DQ)$(GhcEnableTablesNextTo # must be compiled with -fPIC (since the 32-bit relocations generated # by the default small memory can't be resolved at runtime). So we # only do this on i386. - +# +# This apparently doesn't work on OS X (Darwin) where we get errors of +# the form +# +# ld: absolute addressing (perhaps -mdynamic-no-pic) used in _stg_ap_0_fast from rts/dist/build/Apply.dyn_o not allowed in slidable image +# +# and lots of these warnings: +# +# ld: warning codegen in _stg_ap_pppv_fast (offset 0x0000005E) prevents image from loading in dyld shared cache +# ifeq "$(TargetArch_CPP)" "i386" +ifneq "$(TargetOS_CPP)" "darwin" rts/sm/Evac_HC_OPTS += -fno-PIC rts/sm/Evac_thr_HC_OPTS += -fno-PIC rts/sm/Scav_HC_OPTS += -fno-PIC @@ -334,6 +344,7 @@ rts/PrimOps_HC_OPTS += -fno-PIC -static rts/Apply_HC_OPTS += -fno-PIC -static rts/dist/build/AutoApply_HC_OPTS += -fno-PIC -static endif +endif # ffi.h triggers prototype warnings, so disable them here: rts/Interpreter_CC_OPTS += -Wno-strict-prototypes