[Ecls-list] ASDF to compile FAS/libs/programs

Goffioul Michael goffioul at imec.be
Thu Oct 20 07:38:47 UTC 2005


Hi,

Following my proposal of yesterday, I just commited a first implementation into
CVS. The main part of the code is contained in contrib/asdf/asdf-ecl.lisp. What
it does is defining 2 operations:
- load-record-op: used to know in which order the files must be loaded
- build-op: used to perform the actual compilation and linking

The "build-op" operation is configurable and able to build FAS, shared libs,
static libs and program (corresponds to :fasl, :lib, :dll and :program type
of c::builder function). When a top-level system is declared to be dependent
on another one, this other one is also compiled and integrated into the
final file: this means that by default, it is monolithic compilation. To
compile each unit into a separate file, the :monolithic argument can be used.

I provided a high-level function "make-build" to start the compilation easily.
The function pseudo-declaration is:

	(defun make-build (system-name &key (type :fasl) (:monolithic t)) ...)

Possible values for the type argument are all values supported by the type
argument of compile-file-pathname or c::builder.

Please comment, ... and have fun.

Michael.




More information about the ecl-devel mailing list