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.