[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dll names on windows

From: Max Bowsher
Subject: Re: dll names on windows
Date: Sat, 14 Apr 2007 23:23:20 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050923 Thunderbird/1.0.7

Bob Rossi wrote:
> I've recently converted pcre's ( build
> system to use the autotools.
> The previous stable version of libtool, pcre-7.0, used to create dll's
> on mingw. It would create 
>   $ ls .libs/*.dll                                                            
>     .libs/pcre.dll  .libs/pcreposix.dll                                       
> Now, the new autotools version creates,
>   $ ls ../../pcre-7.1-RC4/prefix-shared/bin                                   
>   libpcre-0.dll  libpcrecpp-0.dll  libpcreposix-0.dll  pcre-config
> A user has complained that the new filename change, on windows, will 
> effect the way they have to load pcre as a plugin. They said that on 
> windows it's common to always name the dll simply pcre.dll and then 
> provide a coff file, which is metadata describing the version number 
> and characteristics of the dll.
> My question is, what's the correct way to name these dll's on windows?
> What would be an appropriate response to this user?

AFAIK, the coff file is purely informational, and not involved in any
way with the actual linking/loading - unlike the filename, which is
clearly important here.

The reason for placing the number into the name is to make it possible
for multiple incompatible versions of a DLL to be present on a system
without colliding - the aptly named "DLL Hell".

I'd tend to assume that the only way that this will affect your user is
that they will have to specify the new name - which ought to be pretty
trivial. Perhaps you'd like to nudge them for clarification on why they
think this is a difficulty?

Numbering of DLLs in this way is perhaps a bit rare on Windows in
general, but hardly unknown. A prime example is:

> Finally, here is the version numbering in,
>   m4_define(libpcre_version, [0:1:0])
>   m4_define(libpcreposix_version, [0:0:0])
>   m4_define(libpcrecpp_version, [0:0:0])
> not sure if that's good or not.

Those numbers mean:
libpcreposix and libpcrecpp: this is the first release since versioning
libpcre: this is the second release since versioning began, but the ABI
is unchanged since the first release.


Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]