[Ecls-list] ASDF:MAKE-BUILD compiles too much?
Samium Gromoff
_deepfire at feelingofgreen.ru
Mon Apr 14 08:30:52 UTC 2008
Good day,
It appears that recent changes in CVS changed the behavior of
ASDF:MAKE-BUILD, so that it now compiles the depended-upon systems
as many times, as they occur in the list of dependency lists of
every system in the full dependency graph, plus one.
A case to illustrate this:
Let there be a1.asd, a2.asd and empty a1.lisp, a2.lisp:
a1.asd:
(defpackage :a1.system
(:use :cl :asdf))
(in-package :a1.system)
(defsystem :a1
:depends-on ()
:components
((:file "a1")))
a2.asd:
(defpackage :a2.system
(:use :cl :asdf))
(in-package :a2.system)
(defsystem :a2
:depends-on (:a1)
:components
((:file "a2")))
Then:
deepfire at canopus:~/local$ rm -f *.a *.o; ecl -eval '(require :asdf)' -eval "(asdf:make-build :a2 :type :fasl :monolithic t)" -eval '(quit)' | grep gcc | grep -v ECLINIT
;;; gcc -D_GNU_SOURCE -g -O2 -fPIC -fstrict-aliasing -Dlinux -O "-I/usr/include/" -w -c "/mnt/ext/home/deepfire/local/a1.c" -o "/mnt/ext/home/deepfire/local/a1.o"
;;; gcc -D_GNU_SOURCE -g -O2 -fPIC -fstrict-aliasing -Dlinux -O "-I/usr/include/" -w -c "/mnt/ext/home/deepfire/local/a1.c" -o "/mnt/ext/home/deepfire/local/a1.o"
;;; gcc -D_GNU_SOURCE -g -O2 -fPIC -fstrict-aliasing -Dlinux -O "-I/usr/include/" -w -c "/mnt/ext/home/deepfire/local/a2.c" -o "/mnt/ext/home/deepfire/local/a2.o"
regards, Samium Gromoff
More information about the ecl-devel
mailing list