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.