Re: Compiling libpq with VisualC - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: Compiling libpq with VisualC
Date
Msg-id 200406200113.i5K1DIq21928@candle.pha.pa.us
Whole thread Raw
In response to Re: Compiling libpq with VisualC  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Compiling libpq with VisualC
List pgsql-patches
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

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: eventlog fix
Next
From: John Hansen
Date:
Subject: Re: [HACKERS] Cannot initdb in cvs tip