symlink dll (was: Can upset handle more than one prev: tag?)
Reini Urban
rurban@x-ray.at
Mon Aug 30 13:23:00 GMT 2004
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/
More information about the Cygwin-apps
mailing list