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