[asdf-devel] First steps for ECL support

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Nov 17 22:04:33 UTC 2009


I have split the change into two, as I normally do in the ECL source tree
itself.

The first change only pertains asdf.lisp and it adds a slot, FLAGS, to
COMPILE-OP. These are additional flags for COMPILE-FILE. It is used by ECL
because we want to produce two files per source file: an object file and the
FASL itself. These files can be separately used for building larger things
(shared libraries, programs...) or for immediate loading.

The second set of changes is isolated in a single file, asdf-ecl.lisp, which
is more complex. This file contains a number of extensions, which may or may
not be adapted to other platforms (I believe it is possible, at least for
some things). What it implements:

 - COMPILED-FILE, a new component for distribution of pre-compiled files. I
use it to build pre-packaged versions of RT, the compiler and other things
that now can be included as dependencies.

 - A number of operations for creating shared libraries, programs, etc.
These operations use traverse in a funny way to find out the order in which
files should be combined. I call them BUNDLEs because the result is a single
binary file that combines many lisp sources, compiled. It has an important
advantage for ECL, apart from distribution, for it takes less resources to
load a single file.

 - A function, MAKE-BUILD, which uses those operations hiding the details.

 - A new operation, LOAD-FASL-OP, which uses those "bundles".

 - A hook into REQUIRE using LOAD-FASL-OP.

What is implemented more or less follows this
http://ecls.sourceforge.net/new-manual/ch16.html
Comments are welcome.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20091117/46c21b13/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Extensions-for-working-with-ECL.patch
Type: application/octet-stream
Size: 13534 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20091117/46c21b13/attachment.obj>


More information about the asdf-devel mailing list