On 02/20/2011 09:38 AM, deepak wrote:
>
>
> build.pl <http://build.pl> parses the Makefile to determine the list
> of sources, etc. Essentially, your extension is built using the unix
> Makefile. Since you've already built Pg its self from sources you
> will have used build.pl <http://build.pl> to do it (right?) and
> it'll be easy for you to add the contrib module and re-run.
>
> The downside of this approach is that build.pl <http://build.pl>
> isn't a complete Makefile parser, and is easily confused by anything
> but the most trivial Makefile syntax. I had problems when I was
> putting the crashdump module together because build.pl
> <http://build.pl> didn't understand ifndef .
>
> --
> Craig Ringer
>
>
> Ok, I hadn't realized that the VS build system extrapolates information
> from unix Makefiles..
>
> I briefly tried adding a new contrib module for my extension and
> re-running the VS build (src\tools\msvc\build.bat), and still get the
> same error.
> (about redefinition of errcode). Somehow, it seems to me that there's
> an inherent incompatibility..
OK, so you're building it within the main Pg build system. Pg was
successfully compiled, including files that use elog.h . Yet your
extension doesn't compile, complaining about a macro/typedef conflict.
This makes me wonder: what's different?
Can you post the full sources of your extension, including the Makefile?
--
Craig Ringer