Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CLISP-LINK(1)	      Platform: x86_64-unknown-freebsd15.0	   CLISP-LINK(1)

NAME
     clisp-link - link a new external module to CLISP[1].

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

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

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

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

DESCRIPTION
     This shell script operates on CLISP[1] module sets and linking sets:

     *	 creates new module sets out of source files

     *	 adds module sets to a linking set to produce a new linking set

     *	 runs CLISP[1] with module sets added

     *	 Only  in  CLISP[1]  built without configure flag --without-dynamic-mod-
	 ules.

	 installs new module sets for general use

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  direc-
	 tories  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	directo-
	 ries  module...  Unless  CLISP[1] 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
	 Only in CLISP[1] built without  configure  flag  --without-dynamic-mod-
	 ules.

	 The command

	     $ clisp-link install module ...

	 installs  the	modules in directories module... into CUSTOM:*LIB-DIREC-
	 TORY* or, if it is not writable to the user  (e.g.,  if  a  system-wide
	 CLISP[1] 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-PATH-
	 NAMES[2] ".clisp/" (USER-HOMEDIR-PATHNAME[3])) if  that  directory  ex-
	 ists, 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  dy-
	     namic 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.

EXAMPLES
     See Section 32.2.6, "Example".

FILES
     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[4] CLISP_LINKKIT.

SEE ALSO
	 CLISP impnotes
	 clisp(1)

AUTHORS
     Bruno Haible <http://www.haible.de/bruno/>
	 The original author and long-time maintainer.

     Michael Stoll <http://www.mathe2.uni-bayreuth.de/stoll/>
	 The original author.

     Sam Steingold <http://sds.podval.org/>
	 Co-maintainer since 1998.

     Others
	 See  COPYRIGHT  (file in the CLISP sources)  for the list of other con-
	 tributors and the license.

COPYRIGHT
     Copyright (C) 1992-2024 Bruno Haible
     Copyright (C) 1998-2018 Sam Steingold

NOTES
      1. CLISP
	 http://clisp.org

      2. MERGE-PATHNAMES
	 http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_merge-pathnames.html

      3. USER-HOMEDIR-PATHNAME
	 http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_user-homedir-pathname.html

      4. environment variable
	 [set $man.base.url.for.relative.links]/basedefs/V1_chap08.html

CLISP 2.49.95+		    Last modified: 2024-11-09		   CLISP-LINK(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=clisp-link&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help