Remove a bogus declare ignore
[cxml.git] / cxml.asd
blob95921fc068d651fd7f2c2415216554d0d1c40393
1 (defpackage :cxml-system
2   (:use :asdf :cl))
3 (in-package :cxml-system)
5 (defclass dummy-cxml-component () ())
7 (defmethod asdf:component-name ((c dummy-cxml-component))
8   :cxml)
10 ;; force loading of closure-common.asd, which installs *FEATURES* this
11 ;; file depends on.  Use MISSING-DEPENDENCY for asdf-install.
12 (unless (find-system :closure-common nil)
13   (error 'missing-dependency
14          :required-by (make-instance 'dummy-cxml-component)
15          :version nil
16          :requires :closure-common))
18 (defclass closure-source-file (cl-source-file) ())
20 #+scl
21 (pushnew 'uri-is-namestring *features*)
23 #+sbcl
24 (defmethod perform :around ((o compile-op) (s closure-source-file))
25   ;; shut up already.  Correctness first.
26   (handler-bind ((sb-ext:compiler-note #'muffle-warning))
27     (let (#+sbcl (*compile-print* nil))
28       (call-next-method))))
30 (asdf:defsystem :cxml-xml
31     :default-component-class closure-source-file
32     :pathname (merge-pathnames
33                "xml/"
34                (make-pathname :name nil :type nil :defaults *load-truename*))
35     :components
36     ((:file "package")
37      (:file "util"            :depends-on ("package"))
38      (:file "sax-handler")
39      (:file "xml-name-rune-p" :depends-on ("package" "util"))
40      (:file "split-sequence"  :depends-on ("package"))
41      (:file "xml-parse"       :depends-on ("package" "util" "sax-handler" "split-sequence" "xml-name-rune-p"))
42      (:file "unparse"         :depends-on ("xml-parse"))
43      (:file "xmls-compat"     :depends-on ("xml-parse"))
44      (:file "recoder"         :depends-on ("xml-parse"))
45      (:file "xmlns-normalizer" :depends-on ("xml-parse"))
46      (:file "space-normalizer" :depends-on ("xml-parse"))
47      (:file "catalog"         :depends-on ("xml-parse"))
48      (:file "sax-proxy"       :depends-on ("xml-parse"))
49      (:file "atdoc-configuration" :depends-on ("package")))
50     :depends-on (:closure-common :puri #-scl :trivial-gray-streams))
52 (defclass utf8dom-file (closure-source-file) ((of)))
54 (defmethod output-files ((operation compile-op) (c utf8dom-file))
55   (let* ((normal (car (call-next-method)))
56          (name (concatenate 'string (pathname-name normal) "-utf8")))
57     (list (make-pathname :name name :defaults normal))))
59 ;; must be an extra method because of common-lisp-controller's :around method 
60 (defmethod output-files :around ((operation compile-op) (c utf8dom-file))
61   (let ((x (call-next-method)))
62     (setf (slot-value c 'of) (car x))
63     x))
65 (defmethod perform ((o load-op) (c utf8dom-file))
66   (load (slot-value c 'of)))
68 (defmethod perform ((operation compile-op) (c utf8dom-file))
69   (let ((*features* (cons 'utf8dom-file *features*))
70         (*readtable*
71          (symbol-value (find-symbol "*UTF8-RUNES-READTABLE*"
72                                     :closure-common-system))))
73     (call-next-method)))
75 (asdf:defsystem :cxml-dom
76     :default-component-class closure-source-file
77     :pathname (merge-pathnames
78                "dom/"
79                (make-pathname :name nil :type nil :defaults *load-truename*))
80     :components
81     ((:file "package")
82      (:file rune-impl :pathname "dom-impl" :depends-on ("package"))
83      (:file rune-builder :pathname "dom-builder" :depends-on (rune-impl))
84      #+rune-is-integer
85      (utf8dom-file utf8-impl :pathname "dom-impl" :depends-on ("package"))
86      #+rune-is-integer
87      (utf8dom-file utf8-builder :pathname "dom-builder" :depends-on (utf8-impl))
88      (:file "dom-sax"         :depends-on ("package")))
89     :depends-on (:cxml-xml))
91 (asdf:defsystem :cxml-klacks
92     :default-component-class closure-source-file
93     :pathname (merge-pathnames
94                "klacks/"
95                (make-pathname :name nil :type nil :defaults *load-truename*))
96     :serial t
97     :components
98     ((:file "package")
99      (:file "klacks")
100      (:file "klacks-impl")
101      (:file "tap-source"))
102     :depends-on (:cxml-xml))
104 (asdf:defsystem :cxml-test
105     :default-component-class closure-source-file
106     :pathname (merge-pathnames
107                "test/"
108                (make-pathname :name nil :type nil :defaults *load-truename*))
109     :components ((:file "domtest") (:file "xmlconf"))
110     :depends-on (:cxml-xml :cxml-klacks :cxml-dom))
112 (asdf:defsystem :cxml
113     :components ()
114     :depends-on (:cxml-dom :cxml-klacks :cxml-test))