Index: include/apr.hw =================================================================== --- include/apr.hw (revision 606840) +++ include/apr.hw (working copy) @@ -77,8 +77,10 @@ #ifndef _WIN32_WINNT /* Restrict the server to a subset of Windows NT 4.0 header files by default + * + * In order to use the MCAST API - 0x0501 is required! */ -#define _WIN32_WINNT 0x0400 +#define _WIN32_WINNT _WIN32_WINNT_WINXP #endif #ifndef NOUSER #define NOUSER @@ -103,6 +105,20 @@ #else #include #endif + +/* Solve moronic tangle of defintions and dependencies from the world + * according to win32 api; it unconditionally declares MCAST_JOIN_SOURCE_GROUP + * while it declares group_source_req etc for _WIN32_WINNT_WINXP and later. + * Note: testing defined(GROUP_FILTER_SIZE) instead of MCAST_JOIN_SOURCE_GROUP + * within multicast.c would solve this connundrum. + * + * To build for mcast, define _WIN32_WINNT as _WIN32_WINNT_WINXP above. + */ +#if defined( MCAST_JOIN_SOURCE_GROUP ) \ + && ( _WIN32_WINNT < 0x0501 /*_WIN32_WINNT_WINXP*/ ) +#undef MCAST_JOIN_SOURCE_GROUP +#endif + #endif /* !_WINDOWS_ */ /** @@ -217,7 +233,7 @@ #define APR_HAVE_IN_ADDR 1 #define APR_HAVE_INET_ADDR 1 #define APR_HAVE_INET_NETWORK 0 -#define APR_HAVE_IPV6 0 +#define APR_HAVE_IPV6 1 #define APR_HAVE_MEMMOVE 1 #define APR_HAVE_SETRLIMIT 0 #define APR_HAVE_SIGACTION 0