This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Define _POSIX_SOURCE in cygwin's features.h?


On Thu, Jan 12, 2006 at 12:09:59PM -0600, Yaakov S (Cygwin Ports) wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Christopher Faylor wrote:
>> Someone on the cygwin irc channel had a problem building a package which
>> would have been solved if Cygwin defined _POSIX_SOURCE.
>> 
>> I know that Cygwin is not fully POSIX compliant (I really really do) but
>> I'm wondering if setting _POSIX_SOURCE in the cygwin headers wouldn't
>> solve more porting problems than it creates.
>
>I think it would be the opposite.
>
>1) In glibc, _POSIX_SOURCE is defined by features.h based on a number of
>conditions[1].  The newlib/Cygwin features.h isn't nearly so thorough.

I am going to regret not making that clear, aren't I?

>2) After running a grep of /usr/include, it looks like arbitrarily
>defining _POSIX_SOURCE in Cygwin would cause a significant number of
>constants and functions to never be defined (and AFAICS there would be
>no simple way to undef it within code), without actually adding
>anything, for example:

I guess more subtext that you could read into my request would be that
we would make the headers work as closely as possible to linux when
_POSIX_SOURCE is defined.  The key here is to make things look more
like linux so that programs port more easily.

>3) I think that, in many cases, _POSIX_SOURCE is defined in code if
>desired (and that would have been the best solution in the
>aforementioned case).

So, that would imply that "we" really should actively fix up the headers
to make sure that it is properly handled.

>4) I'm sure I remember a few times that, even when _POSIX_SOURCE was
>defined in code, I had to #ifndef __CYGWIN__ that define due to compile
>errors; I can't remember having to manually add such a define, however.

I was hoping for concrete examples.  Do you have any?

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]