delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2002/01/09/15:22:29

Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm
Sender: cygwin-apps-owner AT cygwin DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT cygwin DOT com>
List-Help: <mailto:cygwin-apps-help AT cygwin DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT cygwin DOT com
Message-ID: <3C3CA5F9.4050100@ece.gatech.edu>
Date: Wed, 09 Jan 2002 15:20:09 -0500
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: en-us
MIME-Version: 1.0
To: CA List <Cygwin-Apps AT cygwin DOT com>
CC: Stipe Tolj <tolj AT wapme-systems DOT de>
Subject: Re: [ANN] apache_1.3.22 package available for setup inclusion
References: <3C3BFC4C DOT 15C3C81A AT wapme-systems DOT de> <20020109124852 DOT C1242 AT cygbert DOT vinschen DOT de> <816103055 DOT 20020109125245 AT familiehaase DOT de> <3C3C5A24 DOT 23D6C6E1 AT wapme-systems DOT de> <3C3C6842 DOT 3030403 AT ece DOT gatech DOT edu> <3C3C6A3B DOT F6FE54BF AT wapme-systems DOT de> <3C3CA387 DOT D4DEFC83 AT yahoo DOT com>

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?

--Chuck

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019