$Revision: 5.0.2.9 $
Package: EXCL
Arguments: (application-name destination-directory
input-files &rest rest &key allow-existing-directory
application-files application-administration application-type copy-shared-libraries
copy-file-function debug image-only pure-files purify ... <excl:build-lisp-image keyword arguments> ...)
See delivery.htm for a complete description of the issues and functionality associated with this function.
This function writes a collection of files to destination-directory. In theory, all the files needed to deliver an application will be in that directory when generate-application completes (but you should test that carefully).
Note that this function calls build-lisp-image and like build-lisp-image, this function does not inherit from the currently running image (except for the defaults for certain arguments).
The required arguments:
"myapp").
When coerced to a pathname, this name should not have a directory or type. It is used to
create the name of the executable or .dll or .so or .sl
(whichever is appropriate for the platform) and ancillary files.:lisp-files. That argument is ignored even if specified to generate-application.The keyword arguments:
nil and the directory exists, then an error
is signaled.application-administration: allows the specification of various
application administrative tasks. The form of the value of this keyword is(type-keyword ...) or ((type-keyword ...) (type-keyword ...) ...)
(:resource-command-line "...command line arguments...") [UNIX only]
([:shortcut | :batch-file] filename ...command line arguments...) [Windows only]
An error is signaled if application-type is not |
:exe, :ole-in-proc-server,
or :dll. If :exe is used, then application-name.exe
is created. If :ole-in-proc-server or :dll is used application-name.dll
is created.nil, the file autoloads.out is
created that contains the functions, macros and methods that could possibly be autoloaded.copy-shared-libraries: if non-nil, then copy shared
objects/libraries that have been loaded with the Common Lisp function load
by the time the image is dumped. The value of this keyword argument can also be a lambda
expression (you cannot use the function special form, the value must be a list),
accepting one argument, that is a predicate which determines if the loaded shared objects
should be copied. The one argument is the pathname of the shared object file (the
original pathname given to load). The predicate should return t
if the shared object is to be copied, and nil if it is to be ignored by
shared-library copying process. The predicate can also return a relative pathname,
which will be used as the name of the copied shared library relative to the destination-directory.
Note: shared libraries may be specified without a directory path and
found using Operating System tools (such as LD_LIBRARY_PATH or PATH), as described in
section 1.4
Load foreign code with cl:load in the foreign_functions.htm
document. However, the shared library copying functionality will not use Operating System
tools to find shared libraries. If a shared library is specified without a directory path
and is not in the current directory, it will not be found.For shared objects that are copied, the image that is created will load them from the destination directory upon startup. That is, in the image built by generate-application, the name of the shared libraries loaded on startup will be sys:<name>, for each <name> copied by generate-application. |
copy-file-function: This function will be used to copy files to
the destination directory. The default value is sys:copy-file
and that function is likely sufficient for most purposes. However, another function can be
used if that is insufficient. This function will be called by the image that calls
generate-application (not the image that builds the image).:lisp-files. The require input-files argument is
used to specify files to be loaded. :lisp-files, even if specified, is
ignored.See delivery.htm for a complete description of this function.
The general documentation description is in introduction.htm. The index is in index.htm.
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.