name-and-options ::= name | (name &key convention) load-clause ::= (feature library &key convention)
:cdecl (default) or :stdcall
Creates a new library designator called name. The
load-clauses describe how to load that designator when passed to
load-foreign-library or use-foreign-library.
When trying to load the library name, the relevant function searches the load-clauses in order for the first one where feature evaluates to true. That happens for any of the following situations:
common-lisp:*features*.
(first feature),
a keyword:
:and(rest feature) are
true.
:or(rest feature)
is true.
:not(second feature) is not true.
t, this load-clause is
picked unconditionally.
Upon finding the first true feature, the library loader then loads the library. The meaning of “library designator” is described in load-foreign-library.
Functions associated to a library defined by
define-foreign-library (e.g. through defcfun's
:library option, will inherit the library's options. The
precedence is as follows:
defcfun/foreign-funcall specific options;
See Loading foreign libraries.