Bob Rossi wrote:
> I've recently converted pcre's (http://www.pcre.org/) 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:
 msxml.dll
 msxml2.dll
 msxml3.dll
 msxml4.dll

> Finally, here is the version numbering in configure.ac,
>   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
began.
libpcre: this is the second release since versioning began, but the ABI
is unchanged since the first release.

Max.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to