Unification of the code, with precise 'defined(xxx)' macros