Un-RMAIL-ify dep-openmcl.lisp...
[closure-html.git] / closure.asd
blobc12265e2f8e9297bf85cdca5dc1ccfbcdf44fd59
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     :default-component-class closure-source-file
91     :components
92     ((:module src
93               :serial t
94               :components 
95               (;;; Patches
96                (:module patches
97                         :components
98                         ((:file  "clx-patch")))
99                
100                ;; Images
101      
102                (:module imagelib
103                         :serial t
104                         :components
105                         ((:file "package")
106                          (:file "basic")
107                          (:file "deflate")
108                          (:file  "png")))
109                
110                ;; Early package definitions
111                
112                (:file "defpack")
113      
114                ;; Closure Protocol Declarations first
115      
116                (:module protocols
117                         :serial t
118                         :components
119                         ((:file "package")
120                          (:file "element")
121                          (:file "css-support")))
123                ;; Libraries
125                ;; CLEX and LALR
126                
127                (:module clex
128                         :pathname "util/"
129                         :components
130                         ((:file "clex") ))
131                
132                (:module lalr
133                         :pathname "util/"
134                         :components
135                         ((:file "lalr") ))
137                ;; Networking stuff
138      
139                (:module net
140                         :components
141                         ((:file "package"       :depends-on ("url"))
142                          (:file "common-parse"  :depends-on ("package"))
143                          (:file "mime"          :depends-on ("package"))
144                          (:file "url"           :depends-on ())
145                          (:file "http"          :depends-on ("package" "url"))
146                          (:file "ftp"           :depends-on ("package" "url")) ))
148                ;; The HTML parser
149      
150                (:module parse
151                         :depends-on (clex lalr)
152                         :components
153                         ((:file "package")
154                          (:file "pt"              :depends-on ("package"))
155                          (:file "sgml-dtd"        :depends-on ("package"))
156                          (:file "sgml-parse"      :depends-on ("package" "sgml-dtd")) ))
158                ;; More Random Utilities
159      
160                (:module util
161                         :components
162                         ((:file "character-set")
163                          (:file  "xterm")))
165                ;; CSS
167                (:module css
168                         :depends-on (net  ;needs URL package
169                                      "defpack")
170                         :serial t
171                         :components
172                         ((:file "package")
173                          (:file "css-support")
174                          (:file "css-parse")
175                          (:file "css-selector")
176                          (:file "css-setup")
177                          (:file "css-properties")))
179                ;; Renderer
180      
181                (:module renderer
182                         :serial t
183                         :components
184                         (
185                          (:file "package")
187                          (:file "device") ;Declaration of the device abstraction
188                          (:file "fonts")        ;Font Databases
189          
190                          (:file "texpara")
191                          (:file "images")
192                          (:file "x11")
193                          (:file "r-struct")
194                          (:file "document")
195                          (:file "raux")
196                          (:file "renderer")
197                          (:file "hyphenation")  ;Hyphenation of words
198                          (:file "clim-draw") ;some drawing "primitives" for the clim device
199                          (:file "renderer2")
200                          (:file "list-item")     
201                                         ; "tables"
202                          (:file "clim-device")))
204                ;; HTML
205      
206                (:module html
207                         :components
208                         ((:file "html-style")))
210                ;; GUI
212                (:module gui
213                         :serial t
214                         :components
215                         ((:file "gui") (:file "clue-gui")
216                          (:file "dce-and-pce") (:file "clue-input")
217                          (:file "clim-gui")) )
219                ;; Patches
221                (:file "patch")
222                ))
223      
224      ;; Some resources
225      
226      (:module resources
227               :components
228               ((:file "resources")) )))
230 (in-package :cl-user)
232 (import '(CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST+
233          CLOSURE-SYSTEM:+OPTIMIZE-NORMAL+
234          CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST-TRUSTED+
235          CLOSURE-SYSTEM:+OPTIMIZE-FAST+))
236 (export '(CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST+
237           CLOSURE-SYSTEM:+OPTIMIZE-NORMAL+
238           CLOSURE-SYSTEM:+OPTIMIZE-VERY-FAST-TRUSTED+
239           CLOSURE-SYSTEM:+OPTIMIZE-FAST+))