[climacs-devel] explicit dependencies for climacs.asd
Andreas Fuchs
asf at boinkor.net
Sat Jul 23 20:12:57 UTC 2005
Hi,
here's a patch that adds component dependency information to
climacs.asd. I used the same simple list walker that I used on McCLIM,
so it's not guaranteed to be 100% correct; it did build & load from
scratch, though, so I'm optimistic.
This version is a 1:1 translation of the original climacs.asd
definition (except for the tests, which I put into the :climacs.tests
system). More improvements are possible, e.g. factoring out each of
the climacs protocol files and the syntaxes into a separate system.
Here's the patch:
Index: climacs.asd
===================================================================
RCS file: /project/climacs/cvsroot/climacs/climacs.asd,v
retrieving revision 1.33
diff -u -r1.33 climacs.asd
--- climacs.asd 21 Jul 2005 05:13:51 -0000 1.33
+++ climacs.asd 23 Jul 2005 20:17:19 -0000
@@ -20,61 +20,61 @@
;;; ASDF system definition for Climacs.
-(in-package :common-lisp-user)
+(defpackage :climacs.system
+ (:use :cl :asdf))
+
+(in-package :climacs.system)
(defparameter *climacs-directory* (directory-namestring *load-truename*))
-(defmacro climacs-defsystem ((module &key depends-on) &rest components)
- `(progn
- #+mk-defsystem
- (mk:defsystem ,module
- :source-pathname *climacs-directory*
- ,@(and depends-on `(:depends-on ,depends-on))
- :components (:serial , at components))
- #+asdf
- (asdf:defsystem ,module
- ,@(and depends-on `(:depends-on ,depends-on))
- :serial t
- :components (,@(loop for c in components
- for p = (merge-pathnames
- (parse-namestring c)
- (make-pathname :type "lisp"
- :defaults *climacs-directory*))
- collect `(:file ,(pathname-name p) :pathname ,p))))))
-
-(climacs-defsystem (:climacs :depends-on (:mcclim :flexichain))
- "Persistent/binseq-package"
- "Persistent/binseq"
- "Persistent/obinseq"
- "Persistent/binseq2"
- "translate"
- "packages"
- "buffer"
- "Persistent/persistent-buffer"
- "base"
- "io"
- "abbrev"
- "syntax"
- "text-syntax"
- "kill-ring"
- "undo"
- "delegating-buffer"
- "Persistent/persistent-undo"
- "pane"
- "fundamental-syntax"
- "cl-syntax"
- "html-syntax"
- "prolog-syntax"
- "ttcn3-syntax"
- "lisp-syntax"
- "esa"
- "gui"
- "slidemacs"
- "slidemacs-gui"
- ;;---- optional ----
- "testing/rt"
- "buffer-test"
- "base-test")
+(defsystem :climacs
+ :depends-on (:mcclim :flexichain)
+ :components
+ ((:module "Persistent"
+ :components ((:file "binseq-package")
+ (:file "binseq" :depends-on ("binseq-package"))
+ (:file "obinseq" :depends-on ("binseq-package" "binseq"))
+ (:file "binseq2" :depends-on ("binseq-package" "obinseq" "binseq"))))
+
+ (:file "packages")
+ (:file "buffer" :depends-on ("packages"))
+ (:file "persistent-buffer"
+ :pathname #p"Persistent/persistent-buffer.lisp"
+ :depends-on ("packages" "buffer" "Persistent"))
+
+ (:file "base" :depends-on ("packages" "buffer" "persistent-buffer"))
+ (:file "io" :depends-on ("packages" "buffer"))
+ (:file "abbrev" :depends-on ("packages" "buffer" "base"))
+ (:file "syntax" :depends-on ("packages" "buffer" "base"))
+ (:file "text-syntax" :depends-on ("packages" "base" "buffer" "syntax"))
+ (:file "delegating-buffer" :depends-on ("packages" "buffer"))
+ (:file "kill-ring" :depends-on ("packages"))
+ (:file "undo" :depends-on ("packages"))
+ (:file "persistent-undo"
+ :pathname #p"Persistent/persistent-undo.lisp"
+ :depends-on ("packages" "buffer" "persistent-buffer" "undo"))
+ (:file "pane" :depends-on ("packages" "syntax" "buffer" "base"
+ "persistent-undo" "persistent-buffer" "abbrev"
+ "delegating-buffer" "undo"))
+ (:file "fundamental-syntax" :depends-on ("packages" "syntax" "buffer" "pane"
+ "base"))
+ (:file "cl-syntax" :depends-on ("packages" "buffer" "syntax" "base" "pane"))
+ (:file "html-syntax" :depends-on ("packages" "buffer" "syntax" "base" "pane"))
+ (:file "prolog-syntax" :depends-on ("packages" "base" "syntax" "pane" "buffer"))
+ (:file "ttcn3-syntax" :depends-on ("packages" "buffer" "syntax" "base" "pane"))
+ (:file "lisp-syntax" :depends-on ("packages" "syntax" "buffer" "base" "pane"))
+ (:file "esa" :depends-on ("packages"))
+ (:file "gui" :depends-on ("packages" "syntax" "base" "buffer" "undo" "pane"
+ "esa" "kill-ring" "io" "text-syntax" "abbrev"))
+ (:file "slidemacs" :depends-on ("packages" "buffer" "syntax" "base" "pane"))
+ (:file "slidemacs-gui" :depends-on ("packages" "slidemacs" "pane" "buffer" "syntax"))))
+
+(defsystem :climacs.tests
+ :depends-on (:climacs)
+ :components
+ ((:file "rt" :pathname #p"testing/rt.lisp")
+ (:file "buffer-test" :depends-on ("rt"))
+ (:file "base-test" :depends-on ("rt"))))
#+asdf
(defmethod asdf:perform :around ((o asdf:compile-op)
Have fun,
--
Andreas Fuchs, <asf at boinkor.net>, asf at jabber.at, antifuchs
More information about the climacs-devel
mailing list