To me, a useful cutoff would be to define "C compiler" as anything that can compile TCC (the tiny c compiler, that can more-or-less compile the old C versions of GCC).
Maybe it's legitimate to say "TCC must be a single-file amalgam first and you have to use an external preprocessor".
Maybe it's legitimate to say "TCC must be a single-file amalgam first and you have to use an external preprocessor".