[asdf-devel] dependency bug?
Robert Brown
robert.brown at gmail.com
Sat Jan 23 00:20:18 UTC 2010
ASDF is behaving in a way I find mysterious. Maybe I've found a
bug, but more likely I just don't understand ASDF dependencies.
To demonstrate the problem, create the three files below.
==========
bug.asd
==========
(cl:in-package #:common-lisp-user)
(defpackage #:bug-system
(:use #:common-lisp #:asdf))
(in-package #:bug-system)
(defsystem bug
:components
((:cl-source-file "bug1")
(:cl-source-file "bug2"
:in-order-to ((load-op (load-op "bug1"))
(compile-op (load-op "bug1"))))))
==========
bug1.lisp
==========
(defun bug1 ())
==========
bug2.lisp
==========
(defun bug2())
==========
Execute the following:
(load "bug.asd")
(let ((*load-verbose* t)) (asdf:operate 'asdf:load-op 'bug))
Next, exit your Lisp session, start up your Lisp environment
again and execute the two lines above for a second time. ASDF
recompiles bug2.lisp. I expect it to instead just load
bug2.fasl.
Can someone explain what's going on?
My example is intended to mirror the situation where you need to
have some in-line functions or macros loaded into the Lisp system
before another file can be compiled or loaded. Maybe I should be
expressing this dependency differently to ASDF.
bob
More information about the asdf-devel
mailing list