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_002dLoa...