The reason for doing it like that is that it doesn't depend on build-time flags because that can break down when people integrate libuv into a larger project and it's not susceptible to the issue of compiling on $PLATFORM_VERSION but running it on $PLATFORM_VERSION-1.

Probably less of an issue on FreeBSD because the core system evolves as a whole (that is, there is no ABI stability between major releases) but you can imagine a statically linked binary that's compiled on FreeBSD 10 but run on FreeBSD 9.