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

symlink dll (was: Can upset handle more than one prev: tag?)


Max Bowsher schrieb:
Reini Urban wrote:
Max Bowsher schrieb:
Reini Urban wrote:
Shouldn't we then provide a cygperl5_8.dll symlinked to cygperl5_8_5.dll
also (in linux fashion), and apps should link against cygperl5_8.dll
resp. a more generic libperl.dll.a then?
otherwise you'll have to recompile all dependent apps.


You are forgetting something. The Windows runtime linker
(understandably) doesn't understand Cygwin symlinks.


But cygwin dlopen does understand symlinks.
And perls dynalinker uses dlopen(cygpath),
not LoadLibrary (fullpath).
All other posix libs also use dlopen() not LoadLibrary().
And the cygwin dlopen() calls fullpath = get_full_path_of_dll(cygpath)
which resolves links.

True, but entirely missing the point.


cygperlxxx.dll is also used by things doing "gcc -lperl", not dlopen or LoadLibrary.

this search look for libperl.la or libperl.a. and the for the .dll.a (by convention) if shared.

but simple path lookup in the .la file reader should resolve softlinks also. binutils maintainer??

/lib/libxerxes-c25.dll.a also uses softlinks from libxerces-c.dll.a and libxerces.dll.a

/bin/cygdb-41.dll.lnk is a softlink to /bin/cygdb-4.1.dll

create a /lib/libperl.la
and symlink /lib/libperl.dll.a to /lib/perl5/5.8.5/cygwin-thread-multi-64int/CORE/libperl.dll.a


--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/


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