code is cleared of many ifdefs & ODR is used for some declarations

сабж.

проверенно только на Linux.