There's the standard way, and then there's the generous way.
Pass something else that is easy to copy.
If you're going to replace part of the operating system, you have to replace the side effects, too.
They messed up, so make them suffer the consequences, but make the consequences diagnosable.
Because the file that you think is the same file may not actually be the same file.
For conditionally enabling features, say.
Subtlety is not its strong point.
You enabled optimizations, but there's some extra bookkeeping to support those optimizations.
The header file requirement was always present, but you often got away with omitting it. Not so much any more.
Which token did you adjust?