Subject: Re: -std=gnu99 in compiler wrappers
To: Roland Illig <rillig@netbsd.org>
From: Mark Davies <mark@mcs.vuw.ac.nz>
List: tech-pkg
Date: 02/12/2007 09:50:20
On Monday 12 February 2007 05:58, Roland Illig wrote:
> > --- glib/giounix.c.orig	2007-01-30 02:23:28.238812000 +1300
> > +++ glib/giounix.c
> > @@ -33,6 +33,7 @@
> >
> >  #include "config.h"
> >
> > +#define _XPG6
> >  #define _POSIX_SOURCE		/* for SSIZE_MAX */
>
> /usr/include/sys/feature_tests.h:
>   * In order to simplify the guards within the headers, the
> following * implementation private test macros have been created.
> Applications * must NOT use these private test macros as unexpected
> results will * occur.
> ...
>   * _XPG6

OK I missed that comment so the correct define is "_XOPEN_SOURCE 600"


The other package where c99 causes grief on Solaris is 
graphics/jasper.  The package itself builds with or 
without "USE_LANGUAGES=c99" but if its on then one of the public 
jasper headers pulls in <stdbool.h> which then requires any package 
that uses jasper to also explicitly set USE_LANGUAGES=c99.  This 
breaks ghostscript, netpbm and kdelibs at least.  The simplest fix in 
this case is to not set USE_LANGUAGES=c99 for Solaris.

cheers
mark