[asdf-devel] ASDF:LOAD-SYSTEM always recompiles some files

Benjamin Benninghofen Benjamin.Benninghofen at eads.com
Tue Jul 13 07:25:40 UTC 2010



Robert Goldman wrote:

>I believe that your problem may come from introducing the intermediate
>:modules.  You may find that collecting the results of
>
>(asdf::traverse (make-instance 'asdf:load-op) (find-system :foo))
>
>Try rewriting your defsystem more along these lines:
>
>(ASDF:DEFSYSTEM :FOO :COMPONENTS
>                ((:FILE "foo"))
>                 (:FILE "bar" :depends-on ("foo")))
>  
>
However the intermediate :modules are correct and in any case when
the compiler is invoked when no source changed is a bug of ASDF ?

>I will try to investigate this further (esp if you post a ticket to
>launchpad), but can't get to it for a while, so suggest you work around
>by revising the defsystem.
>
>BTW, why is your system definition not in foo.asd?
>  
>
In my last mail you also see a commented out SCT:DEFSYSTEM form. That 
SCT:DEFSYSTEM
form can be used in Genera and SCT:DEFSYSTEM furthermore is a macro 
developed by
myself to be used in other Lisp systems (Allegro, CLISP). The 
ASDF:DEFSYSTEM form
indeed is the macro expansion of the SCT:DEFSYSTEM form.

In order to have a straightforward implementation of the SCT:DEFSYSTEM 
macro, the
structure of modules and files from the SCT:DEFSYSTEM is preserved. This 
explains
where the intermediate modules come from.

All my Lisp programs were written under OpenGenera and there it is 
customary to
have the system definition in a file "sysdcl.lisp". I just want to copy 
the Lisp
source files from the Symbolics to another computer and execute 
(SCT:MAKE '(:FOO))
in the other Lisp in order to Load (and Compile if needed) the software 
there.

-- 
Benjamin Benninghofen






More information about the asdf-devel mailing list