On a given system, it's anyone's guess whether the result of #include <uuid.h> comes from OSSP uuid <http://www.ossp.org/pkg/lib/uuid/> or from e2fsprogs libuuid. Debian patches OSSP uuid to rename it to ossp-uuid to avoid this, but on non-Debian systems (we've been bitten by this on Darwin and OpenBSD) /usr/include/uuid.h is the OSSP one, making it difficult to make #include <uuid.h> resolve to e2fsprogs uuid.
Compounding this problem, both projects install uuid.pc, so if you do a pkg-config check for "uuid", it's anyone's guess which API you'll end up with.
https://bugs.freedesktop.org/show_bug.cgi?id=22972 has more on this.
It would be very useful if you could add a header with a namespaced name (/usr/include/uuid/e2fs-uuid.h would be ideal), move the libuuid declarations there, and make uuid.h just #include "e2fs-uuid.h" for backwards compatibility. Similarly, it'd be great if you could provide e2fs-uuid.pc in addition to uuid.pc.
I'm going to file a similar feature request on ossp-uuid if I can work out how to drive their bug tracker...