The lisp kernel (ccl/ppccl under LinuxPPC, ccl/dppccl under DarwinPPC) can be invoked as:
> ppccl [options]
> ppccl image-name
Under LinuxPPC, the image-name defaults to the lisp kernel pathname with the case of its last component inverted (e.g., ccl/PPCCL).
> dppccl [options]
> dppccl image-name
Under DarwinPPC, the image-name defaults to the lisp kernel pathname with the string ".image" appended (e.g., ccl/dppccl.image). Since Darwin/MacOS X installations use HFS+ filesystems - which are case-insensitive - by default, the case-inverting conventions used under Linux wouldn't work very well.
The --help option will summarize the syntax of the options recognized by the current release.
The OpenMCL shell script passes all of its arguments to the lisp kernel. For a variety of reasons, it's probably simpler to use that shell script than it is to invoke the kernel directly.
The exact set of command-line arguments accepted by OpenMCL may vary slightly from release to release; "openmcl --help” is hopefully a definitive (if somewhat terse) summary of the options accepted by the current implementation. Some of those options aren't well documented elsewhere and are described below.
-S (or --stack-size). Specify the size of the initial process stack.
-b (or --batch). Execute in "batch mode". End-of-file from *STANDARD-INPUT* will cause OpenMCL to exit, as will attempts to enter a break loop.
-n (or --no-init). By default, OpenMCL will try to execute (load "home:openmcl-init") (and fail silently if neither a .lisp or FASL version of that file exists.) This option suppresses that behavior.
-e <form> (or --eval <form>). An expression is read (via READ-FROM-STRING from the string <form> and evaluated. If <form> contains shell metacharacters, it may be necessary to escape or quote them to prevent the shell from interpreting them.
-l >path> (or --load <path>). Executes (load "<path>").
The --load and --eval options can each be provided multiple times. They're executed in the order specified on the command line, after the init file is (possibly) loaded and before the toplevel read-eval-print loop is entered.