[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