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