[cffi-devel] New foreign library interface
Luís Oliveira
luismbo at gmail.com
Sat Jan 7 01:20:49 UTC 2006
On 2006-jan-06, at 20:13, Frank Goenninger - PRION Consulting wrote:
>> (define-foreign-library opengl
>
> Is opengl then interned as a symbol (in which package) ? Or a
> keyword ?
Yes, the current package. You can use a keyword if you prefer.
Probably better to use a normal symbol though.
> This is completely platform dependant (as you probably know ;-)
> So, if you want to handle all the cases in CFFI then there are
> at least the following cases in addition:
>
> HP-UX:
> - SHLIB_PATH env var
[etc..]
We don't really search for the library ourselves. dlopen() takes care
of that for us. It was just an example.
> What I am missing is the support for handling multiple versions of
> foreign libs. It should be possible to state which version to load
> if more than one version is installed or if a certain version is
> required. I know this no trivial task as the version naming of libs
> is not unified. Also, there has to some means of specifying what to
> do if the requested lib version is not available. Some fallback
> behaviour like :load-newest or :signal-error or :load-newest-if-
> higher-version ...
Would using :OR be enough? (:or "libFoo.so.2.2" "libFoo.so.2.1"
"libFoo.so.2" "libFoo.so") or something like that?
Also, in that private e-mail you sent me you mention that USE-FOREIGN-
LIBRARY should evaluate its argument. But, the purpose of this macro
is to wrap LOAD-FOREIGN-LIBRARY in an EVAL-WHEN basically because of
CMUCL which needs the libraries loaded at compile-time.
--
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/
Equipa Portuguesa do Translation Project
http://www.iro.umontreal.ca/translation/registry.cgi?team=pt
More information about the cffi-devel
mailing list