[cffi-devel] Recommended way to specify libraries

Elliott Slaughter elliottslaughter at gmail.com
Tue Dec 31 18:58:10 UTC 2013


>From [1] I see the following code example

(*define-foreign-library* libcurl
  (:unix (:or "libcurl.so.3" "libcurl.so"))
  (t (:default "libcurl")))

with the comment "the define-foreign-library clause (t (:default
"libcurl"))[...] will adapt to various operating systems".

I'm wondering exactly how smart is this automatic handling?

On Windows, for example, the conventions are not always followed so
closely, and as a result I keep adding more special cases to my
define-foreign-library clauses when users complain they can't load the
libraries.

For example, libpng might be png.dll or libpng.dll or libpng12.dll or
libpng12-0.dll or libpng15-15.dll.

Will I be required to maintain a list of all possible names for the rest of
eternity or is there some better way to manage this situation?

Thanks.

[1]:
http://common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dLoading

-- 
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to
predict the future is to invent it." - Alan Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20131231/7c142513/attachment.html>


More information about the cffi-devel mailing list