<div dir="ltr"><div><div><div>From [1] I see the following code example<br><pre class=""><span class="">(<span class=""><i><span class="">define-foreign-library</span></i> libcurl
  <span class="">(<span class=""><span class="">:unix</span> <span class="">(<span class=""><span class="">:or</span> <span class="">"libcurl.so.3"</span> <span class="">"libcurl.so"</span></span>)</span></span>)</span>
  <span class="">(<span class="">t <span class="">(<span class=""><span class="">:default</span> <span class="">"libcurl"</span></span>)</span></span>)</span></span>)</span></pre>with the comment "the <code>define-foreign-library</code>
clause <code>(t (:default "libcurl"))</code> [...]
will adapt to various operating systems".<br><br></div>I'm wondering exactly how smart is this automatic handling?<br><br></div>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.<br>
<br>For example, libpng might be png.dll or libpng.dll or libpng12.dll or libpng12-0.dll or libpng15-15.dll.<br><br></div>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?<br>
<br>Thanks.<br><div><div><div><div><div><div><div><div><br>[1]: <a href="http://common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dLoading">http://common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dLoading</a><br>
<br>-- <br>Elliott Slaughter<br><br>"Don't worry about what anybody else is going to do. The best way to predict the future is to invent it." - Alan Kay
</div></div></div></div></div></div></div></div></div>