Name

clisp-link — link a new external module to CLISP.

Synopsis

clisp-link [create] [module] [file...]

clisp-link [add] [source] [destination] [module...]

clisp-link [run] [source] [module...]

#ifdef DYNAMIC_MODULES

clisp-link [install] [module...]

#endif

Description

This shell script operates on CLISP module sets and linking sets:

Options

create

The command

$ clisp-link create 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-link add 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-link run 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.

#ifdef DYNAMIC_MODULES
install

Platform Dependent: Only in CLISP built without configure flag --without-dynamic-modules.

The command

$ clisp-link install 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 (MERGE-PATHNAMES ".clisp/" (USER-HOMEDIR-PATHNAME)) if that directory exists, and can be reset in the RC file.

Note

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.

#endif

Examples

See Section 32.2.6, “Example”.

Files

clisp-link needs a link kit directory containing:

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.

See also

CLISP impnotes
clisp(1)

clisp-link version 2.49Platform: @PLATFORM@Last modified: 2010-07-07