This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re[2]: DLL naming conventions


Hello Chris,

Chris Faylor <cgf@cygnus.com> wrote:

>>Will it be possible to re-consider this matter and if it applies,
>>recommend to follow it?  More importantly, it can be automatically
>>supported on appropriate level (in libtool).

CF> Nope.  Sorry.

CF> If "end users" are using "incompatible" libraries then they'll really
CF> have to deal with this themselves.  It's too late to change now.

CF> Of course, on reflection, the cygwin project doesn't really have to
CF> change at all.

    Yes! Who here proposes to change something? Blame him, beat him,
cut him! But we, as cicvilized people, let's talk about conventions,
*not* about changing anything, ok?

CF> All of these other "GNU targets" which came along after
CF> cygwin was well established, and benefitted from years of cygwin
CF> development, should probably be making naming concessions if it is a
CF> problem.

    Exactly! I knew you'll recommend that, so I'm going to submit
patch to libtool which will use different naming convention for
GNU/Win32 target I maintain. But not everyone so reflective as me, and
there're at least two other targets cygwin and mingw32. Ok, we'll
leave rock-solid cygwin aside. But what about poor mingw32? Chris, I
understand your position: that's not cygwin problem. But what if you,
maintainer of Cygwin, mother of all GNU-Win32 targets, considered that
it is problem of - not Cygwin - whole GNU-Win32? Then, you might
consider doing something. If you'd consider it, you might come with
following thought: "Hey, but we already using 'cyg' prefix for some libs.
At the same time, GNU has convention of prefixing libraries with
'lib'. Let's recommend for cygwin use prefix 'cyg' instead (for *dlls
only*) - it is consistent with existing practise. As for mingw32,
we'll leave it 'lib' - after all, it's the most native GNU-Win32
target, let it use defualt conventions. All other, being
superstructures on win32, to use distinguishable naming scheme".


================= Specific proposal ================
I'm going to submit patch to libtool which (supposing it will be
accepted) will make it use other naming scheme for PW32,
posix-on-win32 layer I maintain. If it is in favor of Cygwin,
community, I may do the same for cygwin too.

Proposed naming conventions [only pertinent one shown]

 For some library 'foo', libtool will procude on

Cygwin:
libfoo.la - standard libtool wrapper
libfoo.a  - import library, thing against which objects are linked
            ("developer" part)
cygfoo.<release>.dll - dll, this is what gets loaded in runtime
                       ("user" part)

Note that <release> is standard part of name of shared libraries
produced by libtool. While it sequency of three arbitrary numbers,
there's strictly recommended policy to using them - in two words, they
should reflect interface version, never version of library itself. And
yes, there's a way to disable putting it in name. Most packages don't do
that, however.

For mingw32, those will be:
libfoo.la
libfoo.a
libfoo.<release>.dll


Note - no efforts or changes will be required from programmer's or
maintainer's side to support different names of run-time DLLs, their
different version or whatever - it will be completely hidden in implib
the wondeful thing.

====================================


CF> Expecting cygwin to change its conventions is just a tad
CF> bit arrogant, don't you think?

    Chris, you often ask strange questions. If, I say - if, someone
would propose to change its conventions, I'd first listen one's
reasoning before making my opinion whether it is arrogant or not. But
what relation this has to our present conversation?

CF> cgf



--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]