1CLISP-LINK(1) Platform: x86_64-pc-linux-gnu CLISP-LINK(1)
2
3
4
6 clisp-link - link a new external module to CLISP[1].
7
9 clisp-link [create] [module] [file...]
10
11 clisp-link [add] [source] [destination] [module...]
12
13 clisp-link [run] [source] [module...]
14
15 clisp-link [install] [module...]
16
18 This shell script operates on CLISP[1] module sets and linking sets:
19
20 · creates new module sets out of source files
21
22 · adds module sets to a linking set to produce a new linking set
23
24 · runs CLISP[1] with module sets added
25
26 · Only in CLISP[1] built without configure flag
27 --without-dynamic-modules.
28
29 installs new module sets for general use
30
32 create
33 The command
34
35 $ clisp-link create module file ...
36
37 creates a module set in module directory which refers (via symbolic
38 links) to files file... The files are expected to be modules of
39 their own.
40
41 add
42 The command
43
44 $ clisp-link add source destination module ...
45
46 combines the linking set in directory source and the modules in
47 directories module... to a new linking set, in the directory
48 destination which is newly created.
49
50 run
51 The command
52
53 $ clisp-link run source module ...
54
55 runs the linking set in directory source, with the modules in
56 directories module... Unless CLISP[1] has been built with the
57 configuration option --without-dynamic-modules, the loading will be
58 performed using SYS::DYNLOAD-MODULES. Otherwise - this is much
59 slower - a temporary linking set will be created and deleted
60 afterwards.
61
62 install
63 Only in CLISP[1] built without configure flag
64 --without-dynamic-modules.
65
66 The command
67
68 $ clisp-link install module ...
69
70 installs the modules in directories module... into
71 CUSTOM:*LIB-DIRECTORY* or, if it is not writable to the user (e.g.,
72 if a system-wide CLISP[1] installation is used and the user does
73 not have administrative privileges), into
74 CUSTOM:*USER-LIB-DIRECTORY*.
75
76 Variable CUSTOM:*USER-LIB-DIRECTORY* is initially set to
77 (MERGE-PATHNAMES[2] ".clisp/" (USER-HOMEDIR-PATHNAME[3])) if that
78 directory exists, and can be reset in the RC file.
79
80 Note
81 Do not add CUSTOM:*USER-LIB-DIRECTORY* to CUSTOM:*LOAD-PATHS*
82 or under any element thereof. Use REQUIRE instead of LOAD to
83 load dynamic modules.
84 For this command to work, each module directory must contain a
85 Makefile with a clisp-module-distrib target which uses LN to
86 distribute the files necessary to run the module into destdir. This
87 is in addition to the general requirement that link.sh is present.
88
90 See Section 32.2.6, “Example”.
91
93 clisp-link needs a “link kit” directory containing:
94
95 · "modules.c"
96
97 · "clisp.h"
98
99 clisp-link expects to find these files in a subdirectory linkkit/ of
100 the installation directory (i.e., CUSTOM:*LIB-DIRECTORY*) which it
101 acquires by running
102
103 $ `dirname $0`/clisp -b
104
105 This can be overridden by the environment variable[4] CLISP_LINKKIT.
106
108 CLISP impnotes
109 clisp(1)
110
112 Bruno Haible <http://www.haible.de/bruno/>
113 The original author and long-time maintainer.
114
115 Michael Stoll <http://www.mathe2.uni-bayreuth.de/stoll/>
116 The original author.
117
118 Sam Steingold <http://sds.podval.org/>
119 Co-maintainer since 1998.
120
121 Others
122 See COPYRIGHT (file in the CLISP sources) for the list of other
123 contributors and the license.
124
126 Copyright © 1992-2010 Bruno Haible
127 Copyright © 1998-2010 Sam Steingold
128
130 1. CLISP
131 http://clisp.org
132
133 2. MERGE-PATHNAMES
134 http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_merge-pathnames.html
135
136 3. USER-HOMEDIR-PATHNAME
137 http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_user-homedir-pathname.html
138
139 4. environment variable
140 [set $man.base.url.for.relative.links]/basedefs/V1_chap08.html
141
142
143
144CLISP 2.49.93+ Last modified: 2020-06-22 CLISP-LINK(1)