From: Brandon Casey Date: Thu, 28 May 2009 19:40:14 GMT Subject: Re: [RFC/PATCH 1/2] Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6 Message-ID: In-Reply-To: <20090528191940.GG13499@coredump.intra.peff.net> Jeff King wrote: > On Thu, May 28, 2009 at 11:46:50AM -0500, Brandon Casey wrote: > >> So we either require compiling with a c99 compiler (by ensuring that >> _XPG6 is set) or exclude compiling with a c99 compiler on sun (by >> ensuring that _XPG6 is not set). Actually, this would only affect Solaris >> versions which support XPG6. Solaris 11 and 10 do. I don't know about >> Solaris 9 and 8. Solaris 7 doesn't. >> >> Which do we want to do? > > FWIW, I didn't even try using sun's cc. I have been doing all of my > builds using gcc 3.1.1 (from around 2002, which is what happens to be > available on the old-ish Solaris install at my university). It's not the compiler that prevents compilation. It's the header files. You mentioned that on Solaris 8 there was only a single declaration for iconv. There was not a macro check for _XPG6. I suspect that Solaris 8 does not support XPG6, so your compilation is just falling back to XPG4. The same thing happens on Solaris 7. On Solaris 10, if the macros are set such that _XPG6 becomes set, then compilation will fail if the compiler is not a c99 one. -brandon