rune fixes
[closure-html.git] / closure.asd
blob5eb7b59b6191ae0c2cb717d2b6d58c8120b9c1be
1 ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CL-USER; Encoding: utf-8; -*-
3 ;; commit test
4 (defpackage :closure-system (:use #:asdf #:cl))
5 (in-package :closure-system)
7 ;;; Random early Lisp Implementation-specific fix ups:
9 (eval-when (compile eval load)
10   (pushnew :DEBUG-CLOSURE *features*))
12 ;;;;
13 ;;;; Optimization levels:
14 ;;;;
16 ;; FIXME: This is not exactly the right place!
18 ;; We choose to make them constants for read-time evaluation, since we
19 ;; want the presence of the :DEBUG-CLOSURE feature to override any
20 ;; (saftey 0) declaration.
22 (defparameter +optimize-very-fast+
23   '(optimize (safety #.(or #+:DEBUG-CLOSURE 3 0)) (speed 3) #+:DEBUG-CLOSURE (debug 3)))
25 (defparameter +optimize-very-fast-trusted+
26   '(optimize (safety #.(or #+:DEBUG-CLOSURE 3 0)) (speed 3) #+:DEBUG-CLOSURE (debug 3)))
28 (defparameter +optimize-fast+
29   '(optimize (safety #.(or #+:DEBUG-CLOSURE 3 1)) (speed 3) #+:DEBUG-CLOSURE (debug 3)))
31 (defparameter +optimize-normal+
32   '(optimize (safety #.(or #+:DEBUG-CLOSURE 3 2)) (speed 1) #+:DEBUG-CLOSURE (debug 3)))
34 (export '+optimize-very-fast-trusted+)
35 (export '+optimize-very-fast+)
36 (export '+optimize-fast+)
37 (export '+optimize-normal+)
39 ;; Finally declaim normal optimization level
40 (declaim #.+optimize-normal+)
42 (defclass closure-source-file (cl-source-file) ())
44 #+sbcl
45 (defmethod perform :around ((o compile-op) (s closure-source-file))
46   ;; shut up already.  Correctness first.
47   (handler-bind ((sb-ext:compiler-note #'muffle-warning))
48     (call-next-method)))
50 ;;; Convenience feature: will stop it from breaking into the debugger
51 ;;; under sbcl for full WARNINGs (better to fix the warnings :-).
52 #+sbcl
53 (defmethod perform :around ((o compile-op) s)
54   (setf (operation-on-failure o) :warn)
55   (call-next-method o s))
57 (defpackage :glisp (:use))
58 (asdf:defsystem glisp
59     :pathname (merge-pathnames "src/glisp/"
60                                (make-pathname :name nil :type nil
61                                               :defaults *load-truename*))
62     :default-component-class closure-source-file
63     :depends-on (:cxml ;; uncomment this if we actually need gray streams:
64                        ;; :trivial-gray-streams
65                        #+sbcl :sb-bsd-sockets)
66     :components
67     ((:file dependent
68             :pathname
69             #+CLISP                             "dep-clisp"
70             #+(AND :CMU (NOT SCL))              "dep-cmucl"
71             #+sbcl                              "dep-sbcl"
72             #+SCL                               "dep-scl"
73             #+ALLEGRO                           "dep-acl"
74             #+GCL                               "dep-gcl"
75             #+OPENMCL                           "dep-openmcl"
76             #-(OR sbcl CLISP CMU ALLEGRO GCL OPENMCL) #.(error "Configure!"))
77      (:file "package"
78             :depends-on (dependent))
79      (:file "util"
80             :depends-on ("package" dependent))
81      (:file "match"
82             :depends-on ("package" dependent "util"))))
85 (asdf:defsystem closure
86     :depends-on (:mcclim
87                  :clim-clx
88                  :glisp
89                  :bordeaux-threads
90                  :trivial-sockets)
91     :default-component-class closure-source-file
92     :components
93     ((:module src
94               :serial t
95               :components 
96               (;;; Patches
97                (:module patches
98                         :components
99                         ((:file  "clx-patch")))
100                
101                ;; Images
102      
103                (:module imagelib
104                         :serial t
105                         :components
106                         ((:file "package")
107                          (:file "basic")
108                          (:file "deflate")
109                          (:file  "png")))
110                
111                ;; Early package definitions
112                
113                (:file "defpack")
114      
115                ;; Closure Protocol Declarations first
116      
117                (:module protocols
118                         :serial t
119                         :components
120                         ((:file "package")
121                          (:file "element")
122                          (:file "css-support")))
124                ;; Libraries
126                ;; CLEX and LALR
127                
128                (:module clex
129                         :pathname "util/"
130                         :components
131                         ((:file "clex") ))
132                
133                (:module lalr
134                         :pathname "util/"
135                         :components
136                         ((:file "lalr") ))
138                ;; Networking stuff
139      
140                (:module net
141                         :components
142                         ((:file "package"       :depends-on ("url"))
143                          (:file "common-parse"  :depends-on ("package"))
144                          (:file "mime"          :depends-on ("package"))
145                          (:file "url"           :depends-on ())
146                          (:file "http"          :depends-on ("package" "url"))
147                          (:file "ftp"           :depends-on ("package" "url")) ))
149                ;; The HTML parser
150      
151                (:module parse
152                         :depends-on (clex lalr)
153                         :components
154                         ((:file "package")
155                          (:file "pt"              :depends-on ("package"))
156                          (:file "sgml-dtd"        :depends-on ("package"))
157                          (:file "sgml-parse"      :depends-on ("package" "sgml-dtd")) ))
159                ;; More Random Utilities
160      
161                (:module util
162                         :components
163                         ((:file "character-set")
164                          (:file  "xterm")))
166                ;; CSS
168                (:module css
169                         :depends-on (net  ;needs URL package
170                                      "defpack")
171                         :serial t
172                         :components
173                         ((:file "package")
174                          (:file "css-support")
175                          (:file "css-parse")
176                          (:file "css-selector")
177                          (:file "css-setup")
178                          (:file "css-properties")))
180                ;; Renderer
181      
182                (:module renderer
183                         :serial t
184                         :components
185                         (
186                          (:file "package")
188                          (:file "device") ;Declaration of the device abstraction
189                          (:file "fonts")        ;Font Databases
190          
191                          (:file "texpara")
192                          (:file "images")
193                          (:file "x11")
194                          (:file "r-struct")
195                          (:file "document")
196                          (:file "raux")
197                          (:file "renderer")
198                          (:file "hyphenation")  ;Hyphenation of words
199                          (:file "clim-draw") ;some drawing "primitives" for the clim device
200                          (:file "renderer2")
201                          (:file "list-item")     
202                                         ; "tables"
203                          (:file "clim-device")))
205                ;; HTML
206      
207                (:module html
208                         :components
209                         ((:file "html-style")))
211                ;; GUI
213                (:module gui
214                         :serial t
215                         :components
216                         ((:file "gui") (:file "clue-gui")
217                          (:file "dce-and-pce") (:file "clue-input")
218                          (:file "clim-gui")) )
220                ;; Patches
222                (:file "patch")
223                ))
224      
225      ;; Some resources
226      
227      (:module resources
228               :components
229               ((:file "resources")) )))
231 (in-package :cl-user)
233 (import '(CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST+
234          CLOSURE-SYSTEM:+OPTIMIZE-NORMAL+
235          CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST-TRUSTED+
236          CLOSURE-SYSTEM:+OPTIMIZE-FAST+))
237 (export '(CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST+
238           CLOSURE-SYSTEM:+OPTIMIZE-NORMAL+
239           CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST-TRUSTED+
240           CLOSURE-SYSTEM:+OPTIMIZE-FAST+))