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