expat.h is (in most Linux distributions, at least) located directly in
/usr/include. Because the compiler is called with the src directory in
the include path, the include of <expat/expat.h> happens to work but
results in the bundled version of the header being used instead of the
system version.