This is the mail archive of the
mailing list for the Cygwin project.
Re: Define _POSIX_SOURCE in cygwin's features.h?
On Fri, Jan 13, 2006 at 07:47:48AM -0700, Eric Blake wrote:
>Now what does this all mean to cygwin? Most apps don't care about strict
>compliance - they are more than willing to use extensions if it makes it
>easier to get the job done, so most apps don't define _POSIX_SOURCE or
>_POSIX_C_SOURCE before including headers. I agree with Samuel's
>conclusion - we can use the Linux trick of having a default configuration
>of gcc that turns on _GNU_SOURCE (itself a feature test, that turns on all
>other extensions), provided that gcc can also be told to be strictly
>compliant to a given standard (gcc's -ansi flag, among others).
Thank you for your feedback. I was just going to silently digest this but
I can't let this particular one slide.
I don't see how you credit *Samuel* with any conclusions other than the
one that anyone who used _POSIX_SOURCE in source code was stupid and
that I needed to read a book on posix. After making those observations
for a couple of paragraphs he quoted a snippet of a header file that *I*
included and said "Well, that's ok then". I'm glad to have his
permission on this, though.
So, let me state a few things:
0) It is cygwin's goal to emulate linux (as per the cygwin web page).
1) linux defines _POSIX_SOURCE by default unless specific gcc command
line options are specified (as per the code snippet that I posted).
2) I want cygwin to be *more* like linux (as per my repeated assertions
in this thread and elsewhere).
3) The fact that the cygwin header files are currently inconsistent, and
probably wrong, wrt _POSIX_SOURCE does not preclude fixing them to make
them more like linux.
Conclusion: newlib's headers are not close enough to glibc headers and
that is what is causing people problems.
Task for 1.5.20: Make cygwin's header files more like the linux header
I'm sorry that my goals here were not clearer from my original message.
I don't need anymore feedback about this.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html