Namespace CPP macros
Currently GHC exposes quite a number of CPP macros with generic names (e.g. PROFILING, THREADED_RTS) to user code. This can cause trouble when integrating GHC into larger systems. Arguably we should be more careful about prefixing macro names (e.g. with GHC_) to ensure that we do not pollute the CPP namespace.