Hi David, > -----Original Message----- > From: David Sugar > Sent: Thursday, August 25, 2005 04:48 > To: Conrad T. Pino > Cc: Bug Common C++ > Subject: Re: ccgnu2 - Win32 Microsoft Compiler Warnings > > I had wondered if there was a more elegant way of handling the platform > sdk version, as it seems the older and newer sdk have mutually exclusive > requirements for the ordering of header files...for the moment the > distribution assumes the newer sdk is installed by default. ================== I need a better solution today and the distribution assumptions won't do.
As I see it there's an entanglement between: 1. Header files provided by Windows compiler 2. Presence or absence of Platform SDK 3. Presence or absence of IPv6 on platform ================== Here are the use cases I've encountered: Microsoft Visual C++ 6.0 out of the box requires HAVE_PLATFORMSDK be UNDEFINED or the compile errors are messy which leaves CCXX_IPV6 as UNDEFINED also. Borland C++ Builder 6 out of the box requires HAVE_PLATFORMSDK be DEFINED or the compile errors are messy however the link fails on Windows 2000 due to the lack of 2 symbols for IPv6 structures as Windows 2000 doesn't officially support IPv6. To compile and link on Windows 2000 I must UNDEFINE CCXX_IPV6 also. ================== IMO HAVE_PLATFORMSDK & CCXX_IPV6 should be independant variables. Both should *always* be defined as 0 or 1 so both can always be exposed and controlled in the build files so source code edits are no longer required. I'd like to see if I can make HAVE_PLATFORMSDK go away altogether. Best regards, Conrad Pino _______________________________________________ Bug-commoncpp mailing list Bug-commoncpp@gnu.org http://lists.gnu.org/mailman/listinfo/bug-commoncpp