Thread: Further patch for VS2005

Further patch for VS2005

From
"Magnus Hagander"
Date:
Hi!

Attached patch is required ot build with the CRT that comes with Visual
Studio 2005. Basically MS defined errcode in the headers with a typedef,
so we have to #define it out of the way.

While at it, fix a function declaration in plpython that didn't match
the implementation (volatile missing).

//Magnus


Attachment

Re: Further patch for VS2005

From
Tom Lane
Date:
"Magnus Hagander" <mha@sollentuna.net> writes:
> *** src/pl/plpython/plpython.c    25 Jun 2006 00:18:24 -0000    1.83
> --- src/pl/plpython/plpython.c    26 Jun 2006 13:58:56 -0000
> ***************
> *** 10,16 ****
> --- 10,19 ----
>   /* Python uses #pragma to bring in a non-default libpython on VC++ if
>    * _DEBUG is defined */
>   #undef _DEBUG
> + /* Also hide away errcode, since we load Python.h before postgres.h */
> + #define errcode __vc_errcode
>   #include <Python.h>
> + #undef errcode
>   #define _DEBUG
>   #else
>   #include <Python.h>

BTW, it strikes me as a fairly bad idea to be including <Python.h>
first; that goes directly against the conventions we established to be
sure that largefile support doesn't break.  Has anyone looked into
making plpython.c conform to project standards by including postgres.h
first?

            regards, tom lane

Re: Further patch for VS2005

From
"Magnus Hagander"
Date:
> > *** src/pl/plpython/plpython.c    25 Jun 2006 00:18:24
> -0000    1.83
> > --- src/pl/plpython/plpython.c    26 Jun 2006 13:58:56 -0000
> > ***************
> > *** 10,16 ****
> > --- 10,19 ----
> >   /* Python uses #pragma to bring in a non-default
> libpython on VC++ if
> >    * _DEBUG is defined */
> >   #undef _DEBUG
> > + /* Also hide away errcode, since we load Python.h before
> postgres.h
> > + */ #define errcode __vc_errcode
> >   #include <Python.h>
> > + #undef errcode
> >   #define _DEBUG
> >   #else
> >   #include <Python.h>
>
> BTW, it strikes me as a fairly bad idea to be including
> <Python.h> first; that goes directly against the conventions
> we established to be sure that largefile support doesn't
> break.  Has anyone looked into making plpython.c conform to
> project standards by including postgres.h first?

Not me. Last time I did something like that it came back and bit me
because apparantly python does things significantly different on
different platforms. Now that we have the buildfarm it might be worth a
try. I don't have a *nix box around with python ATM, but if nobody beats
me to it I can try it later...

//Magnus

Re: Further patch for VS2005

From
Bruce Momjian
Date:
Patch applied.  Thanks.

---------------------------------------------------------------------------


Magnus Hagander wrote:
> Hi!
>
> Attached patch is required ot build with the CRT that comes with Visual
> Studio 2005. Basically MS defined errcode in the headers with a typedef,
> so we have to #define it out of the way.
>
> While at it, fix a function declaration in plpython that didn't match
> the implementation (volatile missing).
>
> //Magnus
>

Content-Description: vc.patch

[ Attachment, skipping... ]

>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +