Run either the Haskell preprocessor, JavaScript preprocessor or the C preprocessor, as per the CppOpts passed. See Note [Preprocessing invocations].
UnitEnv is needed to compute MIN_VERSION macros
If you change the macros defined by this function make sure to update the user guide.