On May 11, 2012, at 08:58, Bryan Henderson <bry...@giraffe-data.com> wrote:
>> Android does not have strtod_l. Yet, the old co de successfully compiled >> because Android does not define _GNU_SOURCE. > > Just to make sure we're all on the same page: NOBODY defines _GNU_SOURCE. > At least they shouldn't. Tell that to the config files. It was added to darwin's config file, presumably because we supported the functionality it enabled. mesa/configs $ grep _GNU_SOURCE * darwin:DEFINES = -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \ darwin:# -D_GNU_SOURCE - for src/mesa/main ... linux: -D_BSD_SOURCE -D_GNU_SOURCE \ linux-dri: -D_BSD_SOURCE -D_GNU_SOURCE \ linux-dri-xcb: -D_BSD_SOURCE -D_GNU_SOURCE \ linux-egl: -D_BSD_SOURCE -D_GNU_SOURCE \ linux-indirect: -D_BSD_SOURCE -D_GNU_SOURCE \ linux-osmesa:CFLAGS = -g -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS > Used correctly, _GNU_SOURCE is something that gets > defined by a #define in the source file which wants to declare itself as > coded for nonstandard GNU features of libc. > > And so I have to ask about <xlocale.h>. The original code says to include > that if both _GNU_SOURCE and __APPLE__ are defined, which I presume is never. Nope. It's that way in configs/darwin. > The current patch says to include it if both __GLIBC__ and __APPLE__ are > defined, which again appears to be never. I don't know what <xlocale.h> is; > who needs it? xlocale.h defines the extended locale support, like strtod_l and strtof_l. The fact that it's done just for __APPLE__ is wrong because this is how the functionality is provided on recent FreeBSD (http://svnweb.freebsd.org/base/head/include/xlocale.h?revision=232498&view=markup). _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev