> > #include <errno.h>
> > + #if defined(__CYGWIN__) || defined(WIN32)
> > #include <fcntl.h> /* ensure O_BINARY is available */
> > + #endif
>
> I don't feel that this will fly. The comment on the #include line is
> hopelessly out of touch with reality --- if you check the list of
> symbols defined in fcntl.h you will find a bunch that are
> used all over
> the place, eg SEEK_SET, O_RDONLY, O_CREAT, O_NDELAY, S_IRUSR. Perhaps
> we could #include <fcntl.h> in the various .c files that use these
> symbols rather than in c.h, but is that really a step
> forward? If there
(iirc the include was introduced with the windows port, no ?)
Actually, I think the files (at least from the main source) that need those symbols
have the include in the respective .c files, but ...
> are any such .c files that also need the conflicting AIX header, we're
> still screwed. Please propose another answer. Or get AIX to fix their
> broken headers.
Since it is only dynloader.h and plpython.c that has dlfcn.h do you think a
patch that #undef's the offending symbols before the dlfcn.h include is ok,
or is an #ifndef _AIX in c.h better ?
Andreas