As support for the ABI implementation, MPICH's mpi.h defines the BUILD_MPI_ABI sentinel.
I do not fundamentally object to such approach. However, I do have a complain about the BUILD_MPI_ABI name. Such name could potentially conflict with user choices. In other words, the sentinel should be namespaced as per the usual MPI rules using the MPI_ prefix which is reserved by MPİ.
Long story short, rename BUILD_MPI_ABI -> MPI_ABI_BUILD to avoid clashes with user definitions.