/[mcclim]/mcclim/mcclim.asd
ViewVC logotype

Contents of /mcclim/mcclim.asd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.40 - (show annotations)
Wed Dec 20 01:37:01 2006 UTC (7 years, 4 months ago) by thenriksen
Branch: MAIN
Changes since 1.39: +2 -2 lines
Fixed file interdependencies in the Clouseau system definition.
1 ;;; -*- Mode: Lisp -*-
2
3 ;;; (c) copyright 1998,1999,2000 by Michael McDonald (mikemac@mikemac.com)
4 ;;; (c) copyright 2000 by
5 ;;; Robert Strandh (strandh@labri.u-bordeaux.fr)
6 ;;; (c) copyright 2005 by
7 ;;; Andreas Fuchs (asf@boinkor.net)
8 ;;;
9 ;;; This library is free software; you can redistribute it and/or
10 ;;; modify it under the terms of the GNU Library General Public
11 ;;; License as published by the Free Software Foundation; either
12 ;;; version 2 of the License, or (at your option) any later version.
13 ;;;
14 ;;; This library is distributed in the hope that it will be useful,
15 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ;;; Library General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU Library General Public
20 ;;; License along with this library; if not, write to the
21 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 ;;; Boston, MA 02111-1307 USA.
23
24
25 ;;; Really, I wouldn't bother with anything but ASDF. Almost every lisp
26 ;;; ships with it, and it has the added benefit of ASDF-INSTALL.
27 ;;; Get ASDF, and be welcome to the 21st century. -- [2005-01-31:asf]
28
29 (defpackage :mcclim.system
30 (:use :asdf :cl))
31 (in-package :mcclim.system)
32
33 (defparameter *clim-directory* (directory-namestring *load-truename*))
34
35 (eval-when (:compile-toplevel :load-toplevel :execute)
36 (defun find-swank-package ()
37 (find-package :swank))
38 (defun find-swank-system ()
39 (handler-case (asdf:find-system :swank)
40 (asdf:missing-component ())))
41 (defun find-swank ()
42 (or (find-swank-package)
43 (find-swank-system))))
44
45 ;;; Legacy CMUCL support stuff
46 #+cmu
47 (progn
48 (unless (fboundp 'ext:stream-read-char)
49 (unless (ignore-errors (ext:search-list "gray-streams:"))
50 (setf (ext:search-list "gray-streams:")
51 '("target:pcl/" "library:subsystems/")))
52 (if (fboundp 'extensions:without-package-locks)
53 (extensions:without-package-locks
54 (load "gray-streams:gray-streams-library"))
55 (load "gray-streams:gray-streams-library")))
56 #-(or clx gtkairo)
57 (require :clx)
58 #+mp (when (eq mp::*initial-process* mp::*current-process*)
59 (format t "~%~%You need to run (mp::startup-idle-and-top-level-loops) to start up the multiprocessing support.~%~%")))
60
61 ;;; Make CLX asdf-loadable on Allegro 6.2
62 ;;; possibly this should be further refined to funciton properly for
63 ;;; Allegro on Windows platforms. [2005/04/18:rpg]
64
65 #+allegro
66 (progn
67 (defclass requireable-system (asdf:system)
68 ())
69 (defmethod asdf:perform ((op asdf:load-op) (system requireable-system))
70 (require (intern (slot-value system 'asdf::name) :keyword)))
71 (defmethod asdf::traverse ((op asdf:load-op) (system requireable-system))
72 (list (cons op system)))
73 (defsystem :clx
74 :class requireable-system))
75
76 (defmacro clim-defsystem ((module &key depends-on) &rest components)
77 `(progn
78 (asdf:defsystem ,module
79 ,@(and depends-on
80 `(:depends-on ,depends-on))
81 :serial t
82 :components
83 (,@(loop for c in components
84 for p = (merge-pathnames
85 (parse-namestring c)
86 (make-pathname :type "lisp"
87 :defaults *clim-directory*))
88 collect `(:file ,(namestring p) :pathname ,p))))))
89
90 (defsystem :clim-lisp
91 :components
92 (;; First possible patches
93 (:file "patch")
94 (:module "Lisp-Dep"
95 :depends-on ("patch")
96 :components
97 ((:file #+cmu "fix-cmu"
98 #+scl "fix-scl"
99 #+excl "fix-acl"
100 #+sbcl "fix-sbcl"
101 #+openmcl "fix-openmcl"
102 #+lispworks "fix-lispworks"
103 #+clisp "fix-clisp")))
104 (:file "package" :depends-on ("Lisp-Dep" "patch"))))
105
106 (defsystem :clim-basic
107 :depends-on (:clim-lisp :spatial-trees)
108 :components ((:file "decls")
109 (:file "protocol-classes" :depends-on ("decls"))
110 (:module "Lisp-Dep"
111 :depends-on ("decls")
112 :components
113 ((:file #.(first
114 (list
115 #+(and :cmu :mp (not :pthread)) "mp-cmu"
116 #+scl "mp-scl"
117 #+sb-thread "mp-sbcl"
118 #+excl "mp-acl"
119 #+openmcl "mp-openmcl"
120 #+lispworks "mp-lw"
121 #| fall back |# "mp-nil")))))
122 (:file "utils" :depends-on ("decls" "Lisp-Dep"))
123 (:file "design" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "utils"))
124 (:file "X11-colors" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "design"))
125 (:file "coordinates" :depends-on ("decls" "protocol-classes" "Lisp-Dep"))
126 (:file "setf-star" :depends-on ("decls" "Lisp-Dep"))
127 (:file "transforms" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "coordinates" "utils"))
128 (:file "regions" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "coordinates" "utils" "transforms" "setf-star" "design"))
129 (:file "sheets" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "utils" "transforms" "regions"))
130 (:file "pixmap" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "transforms" "regions"))
131 (:file "events" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "transforms" "sheets" "utils"))
132 (:file "ports" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "events" "sheets" "pixmap" "utils"))
133 (:file "grafts" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "ports" "transforms" "regions"))
134 (:file "medium" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "ports" "X11-colors" "utils" "pixmap" "regions"
135 "transforms" "design"))
136 (:file "output" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "medium"))
137 (:file "input" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "events" "regions" "sheets"))
138 (:file "repaint" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "events"))
139 (:file "graphics" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "output" "utils" "medium" "sheets" "pixmap"
140 "regions" "design" "transforms"))
141 (:file "views" :depends-on ("utils" "protocol-classes"))
142 (:file "stream-output" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "design" "utils" "X11-colors" "views"
143 "output" "sheets" "regions" "graphics"
144 "medium" "setf-star"))
145 (:file "recording" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "output" "coordinates" "graphics" "design"
146 "medium" "transforms" "regions" "sheets"
147 "utils" "stream-output"))
148 (:file "encapsulate" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "graphics" "utils" "medium" "input"
149 "stream-output" "recording"))
150 (:file "stream-input" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "input" "ports" "sheets" "events"
151 "encapsulate" "transforms" "utils"))
152 (:file "text-selection" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "X11-colors" "medium" "output"
153 "transforms" "sheets" "stream-output"
154 "ports" "recording" "regions"
155 "events"))))
156
157 (defsystem :goatee-core
158 :depends-on (:clim-basic)
159 :components
160 ((:module "Goatee"
161 :components
162 ((:file "conditions")
163 (:file "dbl-list")
164 (:file "flexivector" :depends-on ("conditions" "dbl-list"))
165 (:file "buffer" :depends-on ("conditions" "flexivector" "dbl-list"))
166 (:file "editable-buffer" :depends-on ("dbl-list" "flexivector" "buffer"))
167 (:file "editable-area" :depends-on ("flexivector" "editable-buffer" "dbl-list"
168 "buffer"))
169 (:file "clim-area" :depends-on ("flexivector" "dbl-list" "buffer"
170 "editable-area" "editable-buffer"))
171 (:file "kill-ring" :depends-on ("editable-buffer" "dbl-list" "flexivector"
172 "buffer"))
173 (:file "goatee-command" :depends-on ("conditions" "clim-area" "dbl-list"
174 "editable-buffer" "kill-ring"
175 "editable-area" "buffer" "flexivector"))
176 (:file "editing-stream" :depends-on ("goatee-command" "kill-ring" "dbl-list"
177 "conditions" "editable-buffer"
178 "flexivector" "clim-area" "buffer"))
179 (:file "presentation-history" :depends-on ("editing-stream" "buffer"
180 "flexivector" "editable-buffer"
181 "goatee-command"))))))
182 ;;; CLIM-PostScript is not a backend in the normal sense.
183 ;;; It is an extension (Chap. 35.1 of the spec) and is an
184 ;;; "included" part of McCLIM. Hence the defsystem is here.
185 (defsystem :clim-postscript
186 :depends-on (:clim-basic)
187 :components
188 ((:module "Backends/PostScript"
189 :pathname #.(make-pathname :directory '(:relative "Backends" "PostScript"))
190 :components
191 ((:file "package")
192 (:file "encoding" :depends-on ("package"))
193 (:file "paper" :depends-on ("package"))
194 (:file "class" :depends-on ("paper" "package"))
195 (:file "font" :depends-on ("encoding" "class" "paper" "package"))
196 (:file "graphics" :depends-on ("encoding" "paper" "class" "font" "package"))
197 (:file "sheet" :depends-on ("paper" "class" "graphics" "package"))
198 (:file "afm" :depends-on ("class" "paper" "font" "package"))
199 (:file "standard-metrics" :depends-on ("font" "package"))))))
200
201 (defsystem :clim-core
202 :depends-on (:clim-basic :goatee-core :clim-postscript)
203 :components ((:file "text-formatting")
204 (:file "defresource")
205 (:file "input-editing")
206 (:file "presentations")
207 (:file "pointer-tracking" :depends-on ("input-editing"))
208 (:file "graph-formatting")
209 (:file "frames" :depends-on ("commands" "presentations" "presentation-defs"
210 "pointer-tracking" "incremental-redisplay"))
211 (:file "table-formatting" :depends-on ("presentation-defs" "panes"
212 "presentations" "input-editing"))
213 (:file "bordered-output" :depends-on ("input-editing" "incremental-redisplay"
214 "presentation-defs" "panes"))
215 (:file "dialog-views" :depends-on ("presentations" "incremental-redisplay"
216 "bordered-output" "presentation-defs"))
217 (:file "presentation-defs" :depends-on ("input-editing" "presentations"))
218 (:file "gadgets" :depends-on ("commands" "pointer-tracking" "input-editing"
219 "frames" "incremental-redisplay" "panes"))
220 (:file "describe" :depends-on ("presentations" "presentation-defs" "table-formatting"))
221 (:file "commands" :depends-on ("input-editing" "presentations"
222 "presentation-defs"))
223 (:file "incremental-redisplay" :depends-on ("presentation-defs"))
224 (:file "menu-choose" :depends-on ("commands" "table-formatting" "presentation-defs"
225 "panes" "frames" "pointer-tracking"
226 "presentations"))
227 (:file "menu" :depends-on ("panes" "commands" "gadgets"
228 "presentations" "frames"))
229 (:file "panes" :depends-on ("incremental-redisplay" "presentations"
230 "presentation-defs" "input-editing" "frames"))
231 (:file "dialog" :depends-on ("panes" "frames" "incremental-redisplay"
232 "table-formatting" "presentations"
233 "bordered-output" "presentation-defs"
234 "dialog-views" "input-editing"
235 "commands"))
236 (:file "builtin-commands" :depends-on ("table-formatting"
237 "commands" "presentations"
238 "dialog" "presentation-defs"
239 "input-editing"))))
240
241 (defsystem :esa-mcclim
242 :depends-on (:clim-core)
243 :components ((:module "ESA"
244 :components ((:file "packages")
245 (:file "utils" :depends-on ("packages"))
246 (:file "colors" :depends-on ("packages"))
247 (:file "esa" :depends-on ("colors" "packages" "utils"))
248 (:file "esa-buffer" :depends-on ("packages" "esa"))
249 (:file "esa-io" :depends-on ("packages" "esa" "esa-buffer"))
250 (:file "esa-command-parser" :depends-on ("packages" "esa"))))))
251
252
253
254 (defsystem :drei-mcclim
255 :depends-on (:flexichain :esa-mcclim :clim-core #.(if (find-swank-system) :swank (values)))
256 :components
257 ((:module "cl-automaton"
258 :pathname #.(make-pathname :directory '(:relative "Drei" "cl-automaton"))
259 :components ((:file "automaton-package")
260 (:file "eqv-hash" :depends-on ("automaton-package"))
261 (:file "state-and-transition" :depends-on ("eqv-hash"))
262 (:file "automaton" :depends-on ("state-and-transition" "eqv-hash"))
263 (:file "regexp" :depends-on ("automaton"))))
264 (:module "Persistent"
265 :pathname #.(make-pathname :directory '(:relative "Drei" "Persistent"))
266 :components ((:file "binseq-package")
267 (:file "binseq" :depends-on ("binseq-package"))
268 (:file "obinseq" :depends-on ("binseq-package" "binseq"))
269 (:file "binseq2" :depends-on ("binseq-package" "obinseq" "binseq"))))
270 (:module "Drei" :depends-on ("cl-automaton" "Persistent")
271 :components ((:file "packages")
272 (:file "buffer" :depends-on ("packages"))
273 (:file "motion" :depends-on ("packages" "buffer" "syntax"))
274 (:file "editing" :depends-on ("packages" "buffer" "syntax" "motion" "kill-ring"))
275 (:file "base" :depends-on ("packages" "buffer" "persistent-buffer" "kill-ring"))
276 (:file "syntax" :depends-on ("packages" "buffer" "base"))
277 (:file "drei" :depends-on ("packages" "syntax" "buffer" "base"
278 "persistent-undo" "persistent-buffer" "abbrev"
279 "delegating-buffer" "undo" "motion" "editing"))
280 (:file "drei-clim" :depends-on ("drei"))
281 (:file "drei-redisplay" :depends-on ("drei-clim"))
282 (:file "input-editor" :depends-on ("drei-redisplay" "lisp-syntax"))
283 (:file "fundamental-syntax" :depends-on ("packages" "drei-redisplay"))
284 (:file "abbrev" :depends-on ("packages"))
285 (:file "kill-ring" :depends-on ("packages"))
286 (:file "undo" :depends-on ("packages"))
287 (:file "delegating-buffer" :depends-on ("packages" "buffer"))
288 (:file "basic-commands" :depends-on ("drei-clim" "motion" "editing"))
289 (:file "core" :depends-on ("drei"))
290 (:file "rectangle" :depends-on ("core"))
291 (:file "core-commands" :depends-on ("core" "rectangle" "drei-clim"))
292 (:file "persistent-buffer"
293 :pathname #.(make-pathname :directory '(:relative "Persistent")
294 :name "persistent-buffer"
295 :type "lisp")
296 :depends-on ("packages"))
297 (:file "persistent-undo"
298 :pathname #p"Persistent/persistent-undo.lisp"
299 :depends-on ("packages" "buffer" "persistent-buffer" "undo"))
300 (:file "misc-commands" :depends-on ("basic-commands"))
301 (:file "unicode-commands" :depends-on ("core" "drei-clim"))
302 (:file "search-commands" :depends-on ("core" "drei-clim"))
303 (:file "lisp-syntax" :depends-on ("core" "motion" "fundamental-syntax"))
304 (:file "lisp-syntax-swine" :depends-on ("lisp-syntax"))
305 (:file "lisp-syntax-commands" :depends-on ("lisp-syntax-swine" "misc-commands"))
306 #.(if (find-swank)
307 '(:file "lisp-syntax-swank" :depends-on ("lisp-syntax"))
308 (values))))))
309
310 (defsystem :drei-tests
311 :depends-on (:drei-mcclim :fiveam)
312 :components
313 ((:module "Tests"
314 :pathname #.(make-pathname :directory '(:relative "Drei" "Tests"))
315 :components
316 ((:module
317 "cl-automaton"
318 :depends-on ("testing")
319 :components
320 ((:file "eqv-hash-tests")
321 (:file "state-and-transition-tests")
322 (:file "automaton-tests")
323 (:file "regexp-tests")))
324 (:file "packages")
325 (:file "testing" :depends-on ("packages"))
326 (:file "buffer-tests" :depends-on ("testing"))
327 (:file "base-tests" :depends-on ("testing"))
328 (:file "kill-ring-tests" :depends-on ("testing"))
329 (:file "motion-tests" :depends-on ("testing"))
330 (:file "editing-tests" :depends-on ("testing"))
331 (:file "core-tests" :depends-on ("testing"))
332 (:file "rectangle-tests" :depends-on ("testing"))
333 (:file "undo-tests" :depends-on ("testing"))
334 (:file "lisp-syntax-tests" :depends-on ("testing"))))))
335
336 (defsystem :clim
337 :depends-on (:clim-core :goatee-core :clim-postscript :drei-mcclim)
338 :components
339 ((:file "Goatee/presentation-history" ; XXX: this is loaded as part of the Goatee system. huh?
340 :pathname #.(make-pathname :directory '(:relative "Goatee") :name "presentation-history" :type "lisp"))
341 (:file "input-editing-goatee")
342 (:file "input-editing-drei")
343 (:file "text-editor-gadget")))
344
345 (defsystem :clim-clx
346 :depends-on (:clim #+(or sbcl openmcl ecl allegro) :clx)
347 :components
348 ((:module "Backends/CLX"
349 :pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
350 :components
351 ((:file "package")
352 (:file "image" :depends-on ("package"))
353 (:file "keysyms-common" :depends-on ("package"))
354 (:file "keysyms" :depends-on ("keysyms-common" "package"))
355 (:file "keysymdef" :depends-on ("keysyms-common" "package"))
356 (:file "port" :depends-on ("keysyms-common" "keysyms" "package"))
357 (:file "medium" :depends-on ("port" "keysyms" "package"))
358 (:file "graft" :depends-on ("port" "package"))
359 (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
360
361 (defsystem :clim-null
362 :depends-on (:clim)
363 :components
364 ((:module "Backends/Null"
365 :pathname #.(make-pathname :directory '(:relative "Backends" "Null"))
366 :components
367 ((:file "package")
368 (:file "port" :depends-on ("package"))
369 (:file "medium" :depends-on ("port" "package"))
370 (:file "graft" :depends-on ("port" "package"))
371 (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
372
373 (defsystem :clim-gtkairo
374 :depends-on (:clim :cffi)
375 :components
376 ((:module "Backends/gtkairo"
377 :pathname #.(make-pathname :directory '(:relative "Backends" "gtkairo"))
378 :serial t ;asf wird's ja richten
379 :components
380 ((:file "clim-fix")
381 (:file "package")
382 (:file "gtk-ffi")
383 (:file "cairo-ffi")
384 (:file "ffi")
385 (:file "graft")
386 (:file "port")
387 (:file "event")
388 (:file "keys")
389 (:file "medium")
390 (:file "pixmap")
391 (:file "frame-manager")
392 (:file "gadgets")))))
393
394 ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough.
395 (clim-defsystem (:clim-opengl :depends-on (:clim))
396 "Backends/OpenGL/opengl-x-frame-manager"
397 "Backends/OpenGL/opengl-frame-manager"
398 "Backends/OpenGL/opengl-x-port-before"
399 "Backends/OpenGL/opengl-port"
400 "Backends/OpenGL/opengl-x-port-after"
401 "Backends/OpenGL/opengl-medium"
402 "Backends/OpenGL/opengl-x-graft")
403
404 ;;; A system that loads the appropriate backend for the current
405 ;;; platform.
406 (defsystem :clim-looks
407 :depends-on (:clim :clim-postscript
408 ;; If we're on an implementation that ships CLX, use
409 ;; it. Same if the user has loaded CLX already.
410 #+(and (or sbcl scl openmcl ecl clx allegro) (not gtkairo))
411 :clim-clx
412 #+gl :clim-opengl
413 ;; OpenMCL and MCL support the beagle backend (native
414 ;; OS X look&feel on OS X).
415
416 ;; But until it's ready, it's no use forcing users to
417 ;; cope with possible bugs.
418 ;; #+(or openmcl mcl) :clim-beagle
419
420 #+gtkairo :clim-gtkairo
421
422 ;; null backend
423 :clim-null
424 )
425 :components (#-gtkairo
426 (:file "Looks/pixie"
427 :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))
428
429 ;;; name of :clim-clx-user chosen by mikemac for no good reason
430 (defsystem :clim-clx-user
431 :depends-on (:clim :clim-clx))
432
433 ;;; The actual McCLIM system that people should to use in their ASDF
434 ;;; package dependency lists.
435 (defsystem :mcclim
436 :version "0.9.3-dev"
437 :depends-on (:clim-looks))
438
439 ;;; CLIM-Examples depends on having at least one backend loaded.
440 (defsystem :clim-examples
441 :depends-on (:mcclim)
442 :components
443 ((:module "Examples"
444 :components
445 ((:file "calculator")
446 (:file "colorslider")
447 (:file "menutest") ; extra
448 (:file "address-book")
449 (:file "traffic-lights")
450 (:file "clim-fig")
451 (:file "postscript-test")
452 (:file "puzzle")
453 (:file "transformations-test")
454 (:file "demodemo")
455 (:file "stream-test")
456 (:file "presentation-test")
457 (:file "dragndrop")
458 (:file "gadget-test")
459 (:file "accepting-values")
460 (:file "method-browser")
461 (:file "stopwatch")
462 (:file "dragndrop-translator")
463 (:file "draggable-graph")
464 (:file "text-size-test")
465 (:file "drawing-benchmark")
466 (:file "logic-cube")
467 (:file "views")))
468 (:module "Goatee"
469 :components
470 ((:file "goatee-test")))))
471
472 ;;; This won't load in SBCL, either. I have really crappy code to
473 ;;; extract dependency information from :serial t ASDF systems, but
474 ;;; this comment is too narrow to contain it.
475 (clim-defsystem (:scigraph :depends-on (:mcclim))
476 ;; The DWIM part of SCIGRAPH
477 "Apps/Scigraph/dwim/package"
478 "Apps/Scigraph/dwim/feature-case"
479 "Apps/Scigraph/dwim/macros"
480 "Apps/Scigraph/dwim/tv"
481 "Apps/Scigraph/dwim/draw"
482 "Apps/Scigraph/dwim/present"
483 "Apps/Scigraph/dwim/extensions"
484 "Apps/Scigraph/dwim/wholine"
485 "Apps/Scigraph/dwim/export"
486 ;; The Scigraph part
487 "Apps/Scigraph/scigraph/package"
488 "Apps/Scigraph/scigraph/copy"
489 "Apps/Scigraph/scigraph/dump"
490 "Apps/Scigraph/scigraph/duplicate"
491 "Apps/Scigraph/scigraph/random"
492 "Apps/Scigraph/scigraph/menu-tools"
493 "Apps/Scigraph/scigraph/basic-classes"
494 "Apps/Scigraph/scigraph/draw"
495 "Apps/Scigraph/scigraph/mouse"
496 "Apps/Scigraph/scigraph/color"
497 "Apps/Scigraph/scigraph/basic-graph"
498 "Apps/Scigraph/scigraph/graph-mixins"
499 "Apps/Scigraph/scigraph/axis"
500 "Apps/Scigraph/scigraph/moving-object"
501 "Apps/Scigraph/scigraph/symbol"
502 "Apps/Scigraph/scigraph/graph-data"
503 "Apps/Scigraph/scigraph/legend"
504 "Apps/Scigraph/scigraph/graph-classes"
505 "Apps/Scigraph/scigraph/present"
506 "Apps/Scigraph/scigraph/annotations"
507 "Apps/Scigraph/scigraph/annotated-graph"
508 "Apps/Scigraph/scigraph/contour"
509 "Apps/Scigraph/scigraph/equation"
510 "Apps/Scigraph/scigraph/popup-accept"
511 "Apps/Scigraph/scigraph/popup-accept-methods"
512 "Apps/Scigraph/scigraph/duplicate-methods"
513 "Apps/Scigraph/scigraph/frame"
514 "Apps/Scigraph/scigraph/export"
515 "Apps/Scigraph/scigraph/demo-frame")
516
517 (defsystem :clim-listener
518 :depends-on (:mcclim #+sbcl :sb-posix)
519 :components
520 ((:file "Experimental/xpm"
521 :pathname #.(make-pathname :directory '(:relative "Experimental") :name "xpm" :type "lisp"))
522 (:module "Apps/Listener"
523 :pathname #.(make-pathname :directory '(:relative "Apps" "Listener"))
524 :depends-on ("Experimental/xpm")
525 :components
526 ((:file "package")
527 (:file "util" :depends-on ("package"))
528 (:file "icons" :depends-on ("package" "util"))
529 (:file "file-types" :depends-on ("package" "icons" "util"))
530 (:file "dev-commands" :depends-on ("package" "icons" "file-types" "util"))
531 (:file "listener" :depends-on ("package" "file-types" "icons" "dev-commands" "util"))
532 #+CMU (:file "cmu-hacks" :depends-on ("package"))))))
533
534 (defsystem :clouseau
535 :depends-on (:mcclim)
536 :serial t
537 :components
538 ((:module "Apps/Inspector"
539 :pathname #.(make-pathname :directory '(:relative "Apps" "Inspector"))
540 :components
541 ((:file "package")
542 (:file "disassembly" :depends-on ("package"))
543 (:file "inspector" :depends-on ("disassembly"))))))
544
545 (defmethod perform :after ((op load-op) (c (eql (find-system :clim))))
546 (pushnew :clim *features*)
547 (pushnew :mcclim *features*))
548
549 (defmethod perform :after ((op load-op) (c (eql (find-system :mcclim))))
550 (pushnew :clim *features*)
551 (pushnew :mcclim *features*))
552
553 ;; XXX This is very ugly, but ESA and Drei need to know whether they
554 ;; are being compiled as part of McCLIM, or in another CLIM
555 ;; implementation.
556 (defmethod perform :around (op c)
557 (if (and (or (eql (component-system c) (find-system :esa-mcclim))
558 (eql (component-system c) (find-system :drei-mcclim)))
559 (not (find :building-mcclim *features*)))
560 (unwind-protect (progn (push :building-mcclim *features*)
561 (call-next-method))
562 (setf *features* (delete :building-mcclim *features*)))
563 (call-next-method)))

  ViewVC Help
Powered by ViewVC 1.1.5