This is the mail archive of the 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]
Other format: [Raw text]

Re: [ANN] apache_1.3.22 package available for setup inclusion

Earnie Boyd wrote:

> Yet, if the dll is dependent on cygwin1.dll it must be prefixed with
> `cyg'.  There is not a point of argument, it is an agreed upon
> standard.  Not all packages that existed before the standard was stated
> have been upgraded to the standard.  However, new packages being added
> must meet that standard, regardless of other points of view.
> My guess is that you're using a cross build platform that hasn't
> incorporated the necessary changes to binutils to accomplish this
> naturally.  If this is true then you need to upgrade your binutils cross
> to the most current versions of cygwin released binutils source.

I'm confused.  What's all this talk about needing "new" binutils?  The 
only feature related to 'cyg' prefixes on dlls is the one I added: 
--dll-search-prefix.  Quoting from the info:

`--dll-search-prefix STRING'
   When linking dynamically to a dll without an import library, search 
for `<string><basename>.dll' in preference to `lib<basename>.dll'.  This 
behavior allows easy distinction between DLLs built for the various 
"subplatforms": native, cygwin, uwin, pw, etc.  For instance, cygwin 
DLLs typically use `--dll-search-prefix=cyg'

This has to do ONLY with the following scenario:
  1) I want to build a client program 'bar'
  2) it needs to link to the foo DLL
  3) I don't have an import lib for foo DLL
  4) foo DLL is named according to the subplatform specific scheme: in 
the case of cygwin, cygfoo.dll
  5) I link thus:  "gcc Wl,--dll-search-prefix=cyg -L/usr/bin -lfoo -o 
bar bar.o" (actually, you don't typically need to specify the -Wl,* as I 
have done -- cygwin's gcc spec file's LINK section will do that for you)

--dll-search-prefix affects ONLY the search order for linking TO a DLL. 
  It has no effect on the process of creating or naming a DLL that you 
try to create.

If a given package creates DLLs with the name "libfoo.dll" and you want 
it to be named "cygfoo.dll", you have to muck with the Makefiles. 
Period.  (Note that import libs should be named libfoo.dll.a, not 
cygfoo.dll.a or libfoo.a)

Or are you talking about some other "feature" of recent binutils of 
which I am not aware?


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