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

Attachment: 0001-Extensions-for-working-with-ECL.patch
Description: Binary data

_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to