The openmcl shell script

OpenMCL needs to be able to find the ccl directory in order for features like REQUIRE, PROVIDE, and the lisp build process to work properly. (Specifically, it needs to set up logical pathname translations for the "ccl:" logical host.)

Beginning with release 0.4, OpenMCL uses the value of the environment variable CCL_DEFAULT_DIRECTORY; the openmcl shell script (distributed as ccl/scripts/openmcl) is intended to provide a way to invoke OpenMCL with that environment variable set correctly.

To use it:

  1. Edit the definition of CCL_DEFAULT_DIRECTORY near the beginning of the shell script so that it refers to your ccl directory.

  2. The shell script sets a local variable (OPENMCL_KERNEL) to the standard name of the OpenMCL kernel approprate for the platform (as determined by 'uname -s'.) You might prefer to set this variable manually in the shell script

  3. Install the shell script somewhere on your shell's search path and ensure that it's executable ("chmod +x ...").

It should then be possible to invoke OpenMCL by:

 % openmcl [args ...]                     

    

See invocation for more information about "args"; the openmcl shell script will pass all of its arguments to the OpenMCL kernel (ppccl for LinuxPPC, dppccl for DarwinPPC).

When invoked this way, the lisp should be able to initialize the "ccl:" logical host so that its translations refer to the "ccl" directory. To test this, you can call:

   ? (probe-file "ccl:PPCCL") ; for LinuxPPC, 

 - or -

   ? (probe-file "ccl;dppccl.image") ; for DarwinPPC

    

in OpenMCL's read-eval-print loop; that should return the physical pathname of the default heap image.

There are, of course, other ways of doing this: the script provided is intended as a reference implementation.