Re: Missing file versions for a bunch of dll/exe files in Windows builds

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Missing file versions for a bunch of dll/exe files in Windows builds
Date: 2014-04-24 09:18:12
Message-ID: CABUevEz9koiwGgz4SSQ3zxoreGk+qOzyTg1mFKnZgOOqA-V9PQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Apr 24, 2014 at 11:09 AM, Michael Paquier <michael(dot)paquier(at)gmail(dot)com
> wrote:

> On Thu, Apr 24, 2014 at 4:27 PM, Magnus Hagander <magnus(at)hagander(dot)net>
> wrote:
> > At least some fo that is intentional - things that are considered
> "internal"
> > were not given a version resource intentionally. E.g. the
> conversion_procs
> > is very intentional. The EXE/DLL in contrib should definitely have them
> > though.
> Why isn't conversion_procs done? Just to lower the maintenance pain?
>
>
IIRC, yes.

> > it also seems like the wrong way to go about it - for all the other
> files,
> > it's added by rule (when PGFILEDESC is specified in the Makefile). Which
> > currently appears to be the *only* way it's added, so are you saying this
> > just doesn't work? Or does it work for some of them?
> PGFILEDESC gets recognized, but not for any Makefile in contrib/. I am
> guessing that a call to AddDir is missing when defining the contrib
> projects. Just a guess from reading the code.
>

Quite possibly so - in which case that's probably what should be fixed,
rather than adding manual calls all over the place.

It does have it for pgevent.dll, btw - that's the one that also uses
PGFILESHLIB which would have to be set properly for anything else that's a
DLL.

> I think the proper solutioni s to add PGFILEDESC entries to the
> Makefile's,
> > and if that one doesn't actually work then fix the build system to work
> :)
> > (Sorry, don't have a win32 build environment around to test it right now)
> Yeah, that's what I thought, until I noticed that PGFILEDESC is only
> defined in Makefile of contrib modules containing binaries
> (pg_upgrade, oid2name, etc.). There is no documentation describing
> this variable except what I could find in some archives of 2004.
>

Hehe, yeah. The patch should add it to the others that need the version
resource.

> > Then it will be consistent between mingw and msvc, which your patch
> isn't, I
> > believe?
> There is no reference in the source code to mingw. Am I missing smth?
>

mingw builds using the Makefiles, not the "perl based custom build system".
In particular, the PGFILEDESC stuff s in makefiles/Makefile.win32. (Also
PGFILESHLIB)

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Claudio Nieder 2014-04-24 09:54:46 Possible transaction bug with isolation level serialisable?
Previous Message Michael Paquier 2014-04-24 09:13:10 Re: Missing file versions for a bunch of dll/exe files in Windows builds