On Aug 6 14:40, Csaba Raduly wrote: > Corinna Vinschen wrote: > > Same as on Linux. > > Yes, but on Linux, sysmacros.h contains more than just minor, major and > makedev. > > > Also, on the Linuxes I checked (RHEL 4, Ubuntu 8.10, SLES 10.2, SUSE > 10.0, SLES 9), it is guarded by a #ifdef: > > #ifdef __USE_BSD > /* In BSD <sys/types.h> is expected to define BYTE_ORDER. */ > # include <endian.h> > > /* It also defines `fd_set' and the FD_* macros for `select'. */ > # include <sys/select.h> > > /* BSD defines these symbols, so we follow. */ > # include <sys/sysmacros.h> > #endif /* Use BSD. */ > > > __USE_BSD is defined only if _BSD_SOURCE is defined. Perhaps Cygwin > could follow suit here too.
__USE_BSD is defined by default when compiling applications on Linux. Cygwin/newlib does not have the complex system of defines which differ between BSD/SYSV/POSIX/GNU/C89/C99/etc and allow to include and exclude symbols based on that. The newlib system is much less elaborate. We simply lack the volunteering manpower Linux and glibc have. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple