David Chisnall wrote:

> On 2 Nov 2012, at 09:05, Wolfgang Lux wrote:
> 
>> Do we need to define _XOPEN_SOURCE at all? In the headers on OS X I found 
>> this comment:
>> Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
>> available APIs to exactly the set of APIs defined by the
>> corresponding standard, based on the value defined.
>> I guess (at least) other BSD based systems handle this macro similarly (I'm 
>> too lazy to fire up a VM to check).
> 
> Yes, BSD libc uses the macro in this way.  Unfortunately, glibc uses it in 
> the opposite way, and *only* exposes standard functionality if these macros 
> are defined.  *BSD libc defaults to exposing everything, glibc defaults to 
> exposing a very limited subset.  This gets doubly irritating on glibc because 
> there are some pairs of functions that it is not possible to simultaneously 
> expose, because some are POSIX and some are from BSD and the feature macros 
> to expose one hide the other...

I'm not sure what libc Ubuntu aka Debian uses, but I gave it a quick try and 
added this to common.h (below the definition of _XOPEN_SOURCE) 
#ifdef _XOPEN_SOURCE
# undef _XOPEN_SOURCE
#endif
and, guess what, gnustep-base still compiles fine. So my question still stands: 
Do we really need to define _XOPEN_SOURCE?

Wolfgang


_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to