I know nothing about defsystem, but your proposal seems OK.
If somebody made this work, that would be great.
Here is a function I wrote sometime ago that compiles a CL file
if it is out of date and loads it --it might have worked for me
using gcl. I haven't tested it today
;; cload(fn) (compile and load) looks for a file named fn.lisp, fn.cl, or
fn.lsp. If it finds
;; the file, (1) compile it if it is out of date and (2)load the compiled
file.
(defun $cload (fn)
(setq fn (if (mstringp fn) (string-left-trim "&" (string fn)) (string
(stripdollar fn))))
(let ((fl nil) (lisp-extension `(".lisp" ".cl" ".lsp")) (fb)
(bin-ext #+gcl "o"
#+cmu (c::backend-fasl-file-type c::*target-backend*)
#+clisp "fas"
#+allegro "fasl"
#-(or gcl cmu clisp allegro) ""))
(while (and (not fl) (not (null lisp-extension)))
(setq fl (concatenate 'string (coerce fn 'string) (pop
lisp-extension)))
(setq fl ($file_search fl)))
(if (not fl) (merror "The file ~M was not found" fn))
(setq fb (concatenate 'string (coerce fn 'string) "." bin-ext))
(setq fb ($file_search fb))
(if (or (and fl (not fb))
(and fl fb (> (file-write-date fl) (file-write-date fb))))
($compile_file fl))
($load ($file_search fb))))
Barton
-----Raymond Toy <raymond.toy at ericsson.com> wrote: -----
>To: Barton Willis <willisb at unk.edu>
>From: Raymond Toy <raymond.toy at ericsson.com>
>Date: 07/19/2007 10:50AM
>cc: maxima at math.utexas.edu
>Subject: Re: [Maxima] compiling linearalgebra
>
>Barton Willis wrote:
>> If you use linearalgebra (or CVS mnewton), you might like to compile
>> the lisp code in linearalgebra ; do this using:
>>
>> map(lambda([s], compile_file(file_search(concat(s,".lisp")))),
>> ["polynomialp", "mring", "lu","linalgcholesky", "eigens-by-jacobi",
>> "linalg-extra", "matrixexp", "linalg-utilities"]);
>>
>
>Since these are all lisp files, would it make sense to include a
>defsystem file for them, so you could just load up another lisp file
>that would compile them all, if needed? I think the affine package does
>that, as well as the lapack package.
>
>>
>> And by the way, this morning I can't CVS update. Is this my problem?
>
>I couldn't update this morning either. It might be fixed now.
>
>Ray