This is the mail archive of the
mailing list for the Cygwin project.
Re: Define _POSIX_SOURCE in cygwin's features.h?
- From: "Yaakov S (Cygwin Ports)" <yselkowitz at users dot sourceforge dot net>
- To: cygwin at cygwin dot com
- Date: Thu, 12 Jan 2006 12:09:59 -0600
- Subject: Re: Define _POSIX_SOURCE in cygwin's features.h?
- References: <20060112173104.GA30011@trixie.casa.cgf.cx>
-----BEGIN PGP SIGNED MESSAGE-----
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. The newlib/Cygwin features.h isn't nearly so thorough.
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:
/usr/include/dirent.h:#if !defined(MAXNAMLEN) && !defined(_POSIX_SOURCE)
/usr/include/grp.h:#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
/usr/include/sys/select.h:#if !defined (_POSIX_SOURCE) && !defined
/usr/include/sys/types.h:# ifndef _POSIX_SOURCE
/usr/include/sys/types.h:# if !(defined (_POSIX_SOURCE) || defined
(_WINSOCK_H) || defined (__USE_W32_SOCKETS))
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
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.
My $0.02, YMMV.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html