Re: How CLSQL finds and loads foreign libraries

Edi Weitz <[email protected]>
Newsgroups gmane.lisp.clsql.devel
Message-ID <[email protected]>
On Wed, 6 Jul 2005 14:17:15 +0200, "Hoehle, Joerg-Cyril" <[email protected]> wrote:

> Edi, lack of time prevented me from looking further into your
> library path ideas. I just wanted to point to your attention the
> following change in clisp, caused by portability issues:
>
>>2005-06-06  Sam Steingold  <sds-mXXj517/[email protected]>
>>	* modules/bindings/win32/win32.lisp: use full paths for :LIBRARY
>>	arguments (needed on cygwin)
>
> Formerly, libraries would be referred to as "kernel32.dll", not
> clisp uses "%WINDIR%[expanded]\\system32\\kernel32.dll" for the sake
> of cygwin.
>
> I.e. short names are appealing (and I very much like them as well),
> but they might not work everywhere. I think there are similar
> examples for portability across UNIX.

That's a pity.  Isn't there a way for CLISP to find out whether it's
on Cygwin and only then demand the full path.

FWIW, the main reason that I came up with this change was not that I
find short names "appealing" but rather that full paths will actually
prevent you from delivering your programs to other users unless you
require them to have their libraries in exactly the same positions
than you.  In other words, with the (old) default installation CLSQL
and UFFI couldn't really be used to deliver, say, Win32 EXEs.

How does CVS CLISP deal with this problem?  If I understand you
correctly I could up until now write "kernel32.dll" and now I have to
write "C:\\WINDOWS\\system32\\kernel.dll" which means that libraries I
create won't run anymore if someone wants to use them on a machine
that starts from drive D: or uses, say, Windows NT which has a
system32 directory that's somewhere else?  Hmm...

Cheers,
Edi.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.