Fixes compilation error with clang

It seems that Clang doesn’t like #elif X abbreviated clauses. This
patch replace all of those by more verbose #elif defined(X) version