$Revision: 5.0.2.7 $
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 functions does not inherit from the currently running image (except for the defaults for certain arguments).
The required arguments:
The keyword arguments:
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 ...) ...) (type-keyword ...) can be: (: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. |
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).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.