This is the mail archive of the
mailing list for the Cygwin project.
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:
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?