Tom Lane wrote:
> Andreas Pflug <pgadmin@pse-consulting.de> writes:
> > <sys/time.h> in libpq-be.h isn't present on win32 vc6. Apparently, it
> > isn't used in Linux either; libpq will compile without it.
>
> It's there to declare struct timeval, and I'm fairly certain that diking
> it out of the header would break things on some platforms. Where does
> Windows define struct timeval?
>
> > +#ifndef WIN32
> > #include <sys/time.h>
> > +#endif
>
> Could we please use HAVE_SYS_TIME_H, rather than creating an unnecessary
> platform specificity?
The problem is that they are building from win32.mak, and don't run
configure at all. Mingw does have it so we can't just skip including
it. I think we should test for the MS compiler in this case. Please
test for _MSC_VER instead of WIN32 and let us know how it works.
> > #ifndef ELOG_H
> > #define ELOG_H
>
> > +#ifdef ERROR
> > +#undef ERROR /* possible conflict in win32 */
> > +#endif
> > +
> > /* Error level codes */
>
> This seems likely to break anything expecting the Win32 definition
> of ERROR. Can we look at not including elog.h in frontend builds,
> instead? I can't think of any reason for frontend code to need it.
Agreed. We define FRONTEND when compiling libpq. Please test for that
and send another patch.
Thanks.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073