put configure macros protection to code