+rts/RtsMessages_CC_OPTS += -DProjectVersion=\"$(ProjectVersion)\"
+rts/RtsUtils_CC_OPTS += -DProjectVersion=\"$(ProjectVersion)\"
+#
+rts/RtsUtils_CC_OPTS += -DHostPlatform=\"$(HOSTPLATFORM)\"
+rts/RtsUtils_CC_OPTS += -DHostArch=\"$(HostArch_CPP)\"
+rts/RtsUtils_CC_OPTS += -DHostOS=\"$(HostOS_CPP)\"
+rts/RtsUtils_CC_OPTS += -DHostVendor=\"$(HostVendor_CPP)\"
+#
+rts/RtsUtils_CC_OPTS += -DBuildPlatform=\"$(BUILDPLATFORM)\"
+rts/RtsUtils_CC_OPTS += -DBuildArch=\"$(BuildArch_CPP)\"
+rts/RtsUtils_CC_OPTS += -DBuildOS=\"$(BuildOS_CPP)\"
+rts/RtsUtils_CC_OPTS += -DBuildVendor=\"$(BuildVendor_CPP)\"
+#
+rts/RtsUtils_CC_OPTS += -DTargetPlatform=\"$(TARGETPLATFORM)\"
+rts/RtsUtils_CC_OPTS += -DTargetArch=\"$(TargetArch_CPP)\"
+rts/RtsUtils_CC_OPTS += -DTargetOS=\"$(TargetOS_CPP)\"
+rts/RtsUtils_CC_OPTS += -DTargetVendor=\"$(TargetVendor_CPP)\"
+#
+rts/RtsUtils_CC_OPTS += -DGhcUnregisterised=\"$(GhcUnregisterised)\"
+rts/RtsUtils_CC_OPTS += -DGhcEnableTablesNextToCode=\"$(GhcEnableTablesNextToCode)\"
+
+# Compile various performance-critical pieces *without* -fPIC -dynamic
+# even when building a shared library. If we don't do this, then the
+# GC runs about 50% slower on x86 due to the overheads of PIC. The
+# cost of doing this is a little runtime linking and less sharing, but
+# not much.
+#
+# On x86_64 this doesn't work, because all objects in a shared library
+# 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