clisp-link
[create
] [
] [module
...]file
clisp-link
[add
] [
] [source
] [destination
...]module
clisp-link
[run
] [
] [source
...]module
clisp-link
[install
] [
...]module
This shell script operates on CLISP module sets and linking sets:
create
s new module sets out of
source filesadd
s module sets to a linking set to produce a
new linking setrun
s CLISP with module sets added
Platform Dependent: Only in CLISP built without configure flag --without-dynamic-modules
.
install
s new module sets for general use
create
The command
$
clisp-linkcreate
module
file
...
creates a module set in module
directory which refers
(via symbolic links) to files file
...
The files are expected to be modules of their own.
add
The command
$
clisp-linkadd
source
destination
module
...
combines the linking set in directory source
and the modules in
directories module
... to a new linking set, in the directory destination
which is newly created.
run
The command
$
clisp-linkrun
source
module
...
runs the linking set in directory source
, with the modules
in directories module
...
Unless CLISP has been built with the configuration option
--without-dynamic-modules
, the loading will be performed using SYS::DYNLOAD-MODULES
.
Otherwise - this is much slower - a temporary linking set will be created
and deleted afterwards.
install
Platform Dependent: Only in CLISP built without configure flag --without-dynamic-modules
.
The command
$
clisp-linkinstall
module
...
installs the modules in directories module
... into CUSTOM:*LIB-DIRECTORY*
or, if
it is not writable to the user (e.g., if a system-wide CLISP
installation is used and the user does not have administrative privileges),
into CUSTOM:*USER-LIB-DIRECTORY*
.
Variable CUSTOM:*USER-LIB-DIRECTORY*
is initially set to
(
if that directory exists, and can be reset in the RC file.MERGE-PATHNAMES
".clisp/" (USER-HOMEDIR-PATHNAME
))
Do not add CUSTOM:*USER-LIB-DIRECTORY*
to CUSTOM:*LOAD-PATHS*
or under any
element thereof. Use REQUIRE
instead of LOAD
to load
dynamic modules.
For this command to work, each module
directory must
contain a Makefile
with a clisp-module-distrib
target which uses LN
to distribute the files necessary
to run the module into destdir
. This is in addition to
the general requirement that link.sh is present.
clisp-link needs a “link kit” directory containing:
"modules.c"
"clisp.h"
clisp-link expects to find these files in a
subdirectory linkkit/
of the installation directory
(i.e., CUSTOM:*LIB-DIRECTORY*
) which it acquires by running
$
`dirname $0`/clisp-b
This can be overridden by the environment variable CLISP_LINKKIT
.