[asdf-devel] ASDF:LOAD-SYSTEM always recompiles some files
Benjamin Benninghofen
Benjamin.Benninghofen at eads.com
Mon Jul 12 12:47:26 UTC 2010
Look at the following Symbolics System Definition:
;;;(sct:defsystem :foo
;;; (:default-pathname "scratch/"
;;; :default-module-type :lisp)
;;;
;;; (:module foo ("FOO"))
;;;
;;; (:module bar ("BAR")
;;; (:in-order-to (:compile :load) (:load foo)))
;;;
;;; )
I translated this to ASDF as follows:
(ASDF:DEFSYSTEM :FOO :COMPONENTS
((:MODULE FOO :PATHNAME "" :COMPONENTS ((:FILE "foo")))
(:MODULE BAR :PATHNAME "" :COMPONENTS ((:FILE "bar"))
:IN-ORDER-TO
((ASDF:COMPILE-OP (ASDF:LOAD-OP FOO)) (ASDF:LOAD-OP
(ASDF:LOAD-OP FOO))))))
This is not exactly equivalent, because the semantics of :IN-ORDER-TO is
different
in Symbolics SCT and ASDF.
However I get a very strange behavior of the ASDF System.
I write the ASDF:DEFSYSTEM form in a file "scratch/sysdcl.lisp"
I compiled the system and then restarted Lisp in order to
load the system:
CL-USER(2): (load "scratch/sysdcl")
; Loading /home/usr/benni/lisp/scratch/sysdcl.lisp
T
CL-USER(3): (asdf:find-system :foo)
#<ASDF:SYSTEM "foo">
CL-USER(4): (asdf:load-system :foo)
; Fast loading /home/usr/benni/lisp/scratch/foo.fasl
;;; Compiling file /home/usr/benni/lisp/scratch/bar.lisp
;;; Writing fasl file /home/usr/benni/lisp/scratch/ASDF-TMP-bar.fasl
;;; Fasl write complete
; Fast loading /home/usr/benni/lisp/scratch/bar.fasl
#<ASDF:LOAD-OP NIL @ #x7292bc42>
CL-USER(5):
As you see it recompiles one of the files.
This happens after each restart of Lisp (Allegro CL 8.1).
ASDF:LOAD-SYSTEM each time recompiles "bar.lisp" even if
no file is changed.
Output Translations were disabled by calling
(ASDF:DISABLE-OUTPUT-TRANSLATIONS)
--
Benjamin Benninghofen
Systemanalytiker
EADS
Defence & Security
Military Air Systems
Application Software and Processes - OPEM22
Rechliner Straße
85077 Manching - Germany
Telephone: +49 (0) 8459 81 78125
Telephone: +49 (0) 89607 78125
Fax: +49 (0) 8459 81 78105
e-Mail: Benjamin.Benninghofen at eads.com
EADS Deutschland GmbH
Registered Office: Ottobrunn
District Court of Munich HRB 107 648
Chairman of the Supervisory Board: Dr. Thomas Enders
Managing Directors: Dr. Stefan Zoller (chairman), Michael Hecht
NOTICE: This message, together with any attachments, may contain privileged
and/or confidential information. If you have received this e-mail in error
or are not an intended recipient, you may not use, reproduce, disseminate or
distribute it; do not open nor save any attachments, delete it immediately from
your system and notify the sender promptly by e- mail that you have done so.
Thank you.
More information about the asdf-devel
mailing list