included ifdef and preserving macros