Re: Latest ecpg patch broke MSVC build - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Latest ecpg patch broke MSVC build
Date
Msg-id 470069DB.5020403@dunslane.net
Whole thread Raw
In response to Latest ecpg patch broke MSVC build  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Latest ecpg patch broke MSVC build
Re: Latest ecpg patch broke MSVC build
List pgsql-hackers

Tom Lane wrote:
> This morning's ecpg patch certainly seems to have been snake-bit.
> Although the Windows gcc buildfarm members seem happy, the MSVC ones
> are all failing with
>
> Linking...
>            Creating library Release\libecpg\libecpg.lib and object Release\libecpg\libecpg.exp
>         libecpg.exp : error LNK2001: unresolved external symbol DllMain@12
>         .\Release\libecpg\libecpg.dll : fatal error LNK1120: 1 unresolved externals
>
> I see that DllMain() got added to misc.c, so it's not obvious what's
> wrong here.  Some adjustment needed in the MSVC build scripts maybe?
>
>
>   

It is building with thread.c but it should not be unless I am misreading 
the Makefile. The makefile processing in Project.pm doesn't look nearly 
powerful enough to handle this:
 # thread.c is needed only for non-WIN32 implementation of path.c ifneq ($(PORTNAME), win32) OBJS += thread.o endif

It will ignore the if and endif lines and process the OBJS line :-(

A quick fix is probably to put some whitespace in front of "OBJS", 
although that seems horribly fragile.

cheers

andrew





pgsql-hackers by date:

Previous
From: Chris Browne
Date:
Subject: Re: 8.3 beta timing
Next
From: Tom Lane
Date:
Subject: Re: Latest ecpg patch broke MSVC build