runtime: fix a circular dependency for older compilers

I know this is really ugly, but it's the only option I'm seeing to break a circular dependency chain for dumb preprocessors. I can reformat it if there's a less bad option.