This is the mail archive of the cygwin-developers 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: RFC: Cygwin 64 bit?


On 7/8/2011 1:52 PM, Earnie wrote:
> Well, shouldn't libtool search LD_LIBRARY_PATH as well as PATH for the
> DLL for Cygwin? 

In the case of libtool, I'm not talking about 'searching'.  I'm talking
about the following scenario:

You're compiling libfoo, and libtool needs to generate the
(to-be-installed) libfoo.la.

libfoo.la includes the following data:

# The name that we can dlopen(3).
dlname='../bin/cygxerces-c-3-0.dll'

# The name of the static archive.
old_library='libxerces-c.a'

among other items.  To compute the (relative) path that goes into the
dlname, libtool -- BEFORE actually installing anything -- makes some
assumptions about $bindir and $libdir.  That assumption is basically
that they are related via:
	bindir=$libdir(/..){1,}/bin

So, libtool isn't, in this case "looking" for the dll.  It's computing
where it /will/ install the dll prior to installation, in order to
record the relative path between that location and where "normal"
library (.a, .dll.a, .la) files will be installed.

Now, we COULD just modify all that code, so that the computed path, for
	x86_64-[w64,pc]-[cygwin,mingw32]
is ../[../]*lib64/foo

Like I said, not insurmountable, but the issue does exist.

> Why should it be that much different than Linux where
> the shared libraries are never in bin/?

Because the fact that DLLs go into bin, not lib, is deeply embedded in
all the win32-specific code throughout libtool -- win32 is not linux.

--
Chuck


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