>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

Reply via email to