buildapp(1) application to create common lisp images


buildapp --output OUTPUT-FILE [--flag1 value1 ...]


Required flags:

--output OUTPUT-FILE
Use OUTPUT-FILE as the name of the executable to create

Entry-point flags:

--entry NAME
Use the function identified by NAME as the executable's toplevel function. Called with SB-EXT:*POSIX-ARGV* as its only argument. If NAME has a colon, it is treated as a package separator, otherwise CL-USER is the implied package.
--dispatched-entry DNAME
Specify one possible entry function, depending on the name of the file that is used to start the application. The syntax of DNAME is APPLICATION-NAME/ENTRY-NAME. If the name used to start the executable matches APPLICATION-NAME, use ENTRY-NAME as the entry point. This can be used to choose one of many possible entry points by e.g. symlinking names to the application executable. If APPLICATION-NAME is empty, the specified ENTRY-NAME is used as a default if no other application names match. There may be any number of dispatched entry points, but only one default.

Action flags:

--load FILE
Load FILE. CL:*PACKAGE* is bound to the CL-USER package before loading
--load-system NAME
Load an ASDF system identified by NAME
--require NAME
--eval CODE
Use CL:EVAL to evaulate CODE. The code is read with CL:READ-FROM-STRING in the CL-USER package

There may be any number of load/load-system/require/eval flags. Each is executed in command-line order before creating an executable.

Load path flags:

--load-path DIRECTORY
When handling a --load, search DIRECTORY for files to load
--asdf-path DIRECTORY
When handling a --load-system, search DIRECTORY for ASDF system files to load
--asdf-tree DIRECTORY
When handling a --load-system, search DIRECTORY and all its subdirectories for ASDF system files to load

There may be any number of load-path/asdf-path/asdf-tree flags. asdf-path arguments take precedence over asdf-tree arguments.

Other flags:

Show this usage message
--logfile FILE
Log compilation and load output to FILE
Use PATH-TO-SBCL instead of the sbcl program found in your PATH environment variable

For the latest documentation, see