perl.h doesn't need special cases for x2p, as x2p doesn't include it.
Commit
22c35a8c2392967a in October 1998 added an #if !defined(PERL_FOR_X2P)
guard to prevent perl.h from including embed.h when being used to compile
a2p. However, this was not needed even then, because embed.h only contains
pre-processor directives (mostly #define) related to tokens unused in a2p's
C code, so its continued inclusion would not have any effect. Moreover a2p
never actually included perl.h from its own code - only its copy of malloc.c
would include perl.h, and that only if perl was configured to use its own
malloc. But even x2p's use of malloc.c had been "temporarily disabled" by
commit
30e2e4257067d5f8 1 month earlier, so there was never a need for this.