presto-build-lib

Function

Package: system

Arguments: fname

This function returns t after copying all the outstanding stub definitions to file and modifies the pointer in each stub function to point to file. Therefore, this function frees a prestoized image from the links to various fasl files loaded in libfasl mode and from the bundle file in the Lisp library (typically a file named files.bu) that may contain call-time function info for functions defined in the base Lisp, transferring the dependency to file, which becomes the bundle file for the image (and any descendent images created with dumplisp) from this point on.

file must be a string. It can name a file with an absolute or relative pathname (including naming a file with no directory information -- e.g. "myfile"). If file is named with a relative pathname, Lisp will interpret it with respect to the current directory.

It is typical to call this function just before dumping an image with dumplisp particularly if you intend to run the dumped image on a different machine than the one the current image is running on. (If it will be run on the same machine and all the fasl files are in place, stubs should resolve without difficulty, barring network problems.) You should bind or set excl:*libfasl* to nil prior to calling this function and leave it nil until the call to dumplisp has completed to ensure that other functions are not libfasl loaded during the call to dumplisp (since their call-time function info will not be in the file).

file will not be a fasl file. That means that it cannot be loaded into Lisp. You can move file about with the dumped image. The pointers to file in stub functions will be to the filename of file and will be looked for in the Allegro directory (the translation of the sys: logical pathname). The same information will be stored in the dumped image.

Use of Allegro Presto is deprecated. The Allegro Presto facility may be removed from future releases.

Because much of the size saving obtained by Allegro Presto can be achieved with pll files and other techniques, and because Allegro Presto adds significant compexity to code and images, it is intended to remove the Allegro Presto facility in a future release.

See Dumping a prestoized image in dumplisp.htm and see The Allegro Presto algorithm in loading.htm for information on Allegro Presto and libfasl loading. See also presto-fasl-set.

The documentation is described in introduction.htm and the index is in index.htm.

Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.

Created 2000.10.5.