Empty translation units are not a problem, otherwise we could never
at the start of any header file!
Just a minor note, those defines are technically "naughty"
Starting with underscores like that is reserved.
Instead we've been switching files to