cxml.asd 4.22 KB
Newer Older
david's avatar
david committed
1 2 3
;;; XXX Die vielen verschiedenen Systeme hier sollten vielleicht
;;; Module eines grossen Systems CXML werden?

david's avatar
david committed
4 5 6 7
(defpackage :cxml-system
  (:use :asdf :cl))
(in-package :cxml-system)

david's avatar
david committed
8 9 10 11
;; XXX das sollte natuerlich erst beim laden stattfinden
#+cmu
(require :gray-streams)

david's avatar
david committed
12 13 14 15 16 17
(defclass closure-source-file (cl-source-file) ())

#+sbcl
(defmethod perform :around ((o compile-op) (s closure-source-file))
  ;; shut up already.  Correctness first.
  (handler-bind ((sb-ext:compiler-note #'muffle-warning))
david's avatar
david committed
18 19
    (let (#+sbcl (*compile-print* nil))
      (call-next-method))))
david's avatar
david committed
20

david's avatar
david committed
21 22 23 24 25 26 27 28
#-(or rune-is-character rune-is-octet)
(progn
  (format t "~&;;; Checking for wide character support...")
  (force-output)
  (pushnew (dotimes (x 65536
                      (progn
                        (format t " ok, characters have at least 16 bits.~%")
                        :rune-is-character))
david's avatar
david committed
29
             (unless (and (< x char-code-limit) (code-char x))
david's avatar
david committed
30 31 32 33
               (format t " no, reverting to octet strings.~%")
               (return :rune-is-octet)))
           *features*))

david's avatar
david committed
34 35 36 37
#-rune-is-character
(format t "~&;;; Building cxml with (UNSIGNED-BYTE 16) RUNES~%")

#+rune-is-character
david's avatar
david committed
38
(format t "~&;;; Building cxml with CHARACTER RUNES~%") 
david's avatar
david committed
39

david's avatar
david committed
40
(defsystem runes
david's avatar
david committed
41 42
    :default-component-class closure-source-file
    :pathname (merge-pathnames
david's avatar
david committed
43
               "runes/"
david's avatar
david committed
44 45
               (make-pathname :name nil :type nil :defaults *load-truename*))
    :components
david's avatar
david committed
46 47
    ((:file "package")
     (:file dependent
david's avatar
david committed
48 49 50 51 52
	    :pathname
	    #+CLISP                             "dep-clisp"
	    #+(AND :CMU (NOT :PTHREAD))         "dep-cmucl"
	    #+sbcl                              "dep-sbcl"
	    #+(AND :CMU :PTHREAD)               "dep-cmucl-dtc"
david's avatar
david committed
53
	    #+(and allegro-version>= (version>= 5.0)) "dep-acl5"
david's avatar
david committed
54
	    #+(and allegro-version>= (not (version>= 5.0))) "dep-acl"
david's avatar
david committed
55 56
            #+openmcl                           "dep-openmcl"
	    #-(or sbcl CLISP CMU allegro openmcl) #.(error "Configure!")
david's avatar
david committed
57
            :depends-on ("package"))
david's avatar
david committed
58 59 60 61
     (:file runes
            :pathname
             #-rune-is-character "runes"
             #+rune-is-character "characters"
david's avatar
david committed
62
	    :depends-on ("package" dependent))
david's avatar
david committed
63 64 65 66 67 68
     (:file "syntax" :depends-on ("package" dependent runes))
     (:file "util" :depends-on ("package" dependent))
     (:file "encodings" :depends-on ("package"))
     (:file "encodings-data" :depends-on ("package" "encodings"))
     (:file "xstream"
            :depends-on ("package" dependent "syntax" "encodings-data"))))
david's avatar
david committed
69

david's avatar
david committed
70
(asdf:defsystem :xml
david's avatar
david committed
71 72
    :default-component-class closure-source-file
    :pathname (merge-pathnames
david's avatar
david committed
73
               "xml/"
david's avatar
david committed
74 75
               (make-pathname :name nil :type nil :defaults *load-truename*))
    :components
david's avatar
david committed
76
    ((:file "package")
david's avatar
david committed
77
     (:file "sax-handler")
david's avatar
david committed
78
     (:file "characters"      :depends-on ("package"))
david's avatar
david committed
79
     (:file "xml-name-rune-p" :depends-on ("package"))
david's avatar
david committed
80
     (:file "split-sequence"  :depends-on ("package"))
david's avatar
david committed
81
     (:file "xml-parse"       :depends-on ("package" "sax-handler" "split-sequence" "xml-name-rune-p" "characters"))
david's avatar
david committed
82
     (:file "characters"      :depends-on ("package"))
david's avatar
david committed
83
     (:file "unparse"         :depends-on ("xml-parse"))
david's avatar
david committed
84
     (:file "xmls-compat"     :depends-on ("xml-parse"))
david's avatar
david committed
85
     (:file "recoder"         :depends-on ("xml-parse"))
david's avatar
david committed
86 87
     (:file "catalog"         :depends-on ("xml-parse"))
     (:file "sax-proxy"       :depends-on ("xml-parse")))
david's avatar
david committed
88
    :depends-on (:runes :puri))
david's avatar
david committed
89

david's avatar
david committed
90 91 92 93 94 95 96 97 98
(asdf:defsystem :dom
    :default-component-class closure-source-file
    :pathname (merge-pathnames
               "dom/"
               (make-pathname :name nil :type nil :defaults *load-truename*))
    :components
    ((:file "package")
     (:file "dom-impl"        :depends-on ("package"))
     (:file "dom-builder"     :depends-on ("dom-impl"))
david's avatar
david committed
99
     (:file "unparse"         :depends-on ("package"))
david's avatar
david committed
100 101
     (:file "simple-dom"      :depends-on ("package"))
     (:file "dom-sax"         :depends-on ("package")))
david's avatar
david committed
102 103
    :depends-on (:xml))

david's avatar
david committed
104 105
(asdf:defsystem :cxml-test
    :default-component-class closure-source-file
david's avatar
david committed
106 107 108
    :pathname (merge-pathnames
               "test/"
               (make-pathname :name nil :type nil :defaults *load-truename*))
david's avatar
david committed
109
    :components ((:file "domtest") (:file "xmlconf"))
david's avatar
david committed
110 111 112
    :depends-on (:xml :dom))

(asdf:defsystem :cxml :components () :depends-on (:dom :cxml-test))