I'm working on compiling APR with mingw. In include/arch/win32/apr_arch_misc.h there's the following code starting at line 132: #if APR_HAS_ANSI_FS && APR_HAS_UNICODE_FS #define IF_WIN_OS_IS_UNICODE if (apr_os_level >= APR_WIN_UNICODE) #define ELSE_WIN_OS_IS_ANSI else #else APR_HAS_UNICODE_FS /* <-- That's not #elif! */ #define IF_WIN_OS_IS_UNICODE #define ELSE_WIN_OS_IS_ANSI #endif /* WINNT */ MSVC accepts this code with no complaint, but mingw (rightfully, I think) generates "warning: extra tokens at end of #else directive." Can someone tell me what this code is supposed to mean? Thanks, Dan Daniel M. Johnson, Software Engineer J-UCAS COS Build 0 Northrop Grumman Integrated Systems One Hornet Way MS 9M52/W6 El Segundo, CA 90245-2804 Ph: (310)345-5253