Next: *foreign-library-directories*, Previous: *darwin-framework-directories*, Up: Libraries [Contents][Index]
name-and-options ::= name | (name &key canary convention search-path)
load-clause ::= (feature library &key convention search-path)
A symbol.
A feature expression.
A library designator.
A string denoting a foreign symbol that will be searched in core
before attempting to load the library. If that symbol is found, the
library is assumed to be statically linked and
load-foreign-library
only marks the library as loaded.
Some implementations (Clisp, ECL, SBCL) natively support static linking, sometimes referred to as a link kit.
One of :cdecl
(default) or :stdcall
A path or list of paths where the library will be searched if not found in system-global directories. Paths specified in a load clause take priority over paths specified as library option, with *foreign-library-directories* having lowest priority.
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
All of the feature expressions in (rest feature)
are
true.
:or
At least one of the feature expressions in (rest feature)
is true.
:not
The feature expression (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.
close-foreign-library
load-foreign-library
Next: *foreign-library-directories*, Previous: *darwin-framework-directories*, Up: Libraries [Contents][Index]