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

Contents of /mcclim/mcclim.asd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.44 - (hide annotations)
Tue Dec 26 12:11:04 2006 UTC (7 years, 3 months ago) by dlichteblau
Branch: MAIN
Changes since 1.43: +2 -1 lines
Split up gtkairo/medium.lisp, moving the cairo medium into its own file.
1 afuchs 1.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 afuchs 1.2 ;;; Andreas Fuchs (asf@boinkor.net)
8 afuchs 1.1 ;;;
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 thenriksen 1.33 (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 afuchs 1.1 ;;; 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 afuchs 1.4 (if (fboundp 'extensions:without-package-locks)
53     (extensions:without-package-locks
54 afuchs 1.1 (load "gray-streams:gray-streams-library"))
55     (load "gray-streams:gray-streams-library")))
56 dlichteblau 1.39 #-(or clx gtkairo)
57 afuchs 1.1 (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 afuchs 1.5 ;;; 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 tmoore 1.16
65 afuchs 1.5 #+allegro
66     (progn
67     (defclass requireable-system (asdf:system)
68 tmoore 1.16 ())
69 afuchs 1.5 (defmethod asdf:perform ((op asdf:load-op) (system requireable-system))
70 tmoore 1.11 (require (intern (slot-value system 'asdf::name) :keyword)))
71 afuchs 1.5 (defmethod asdf::traverse ((op asdf:load-op) (system requireable-system))
72     (list (cons op system)))
73     (defsystem :clx
74     :class requireable-system))
75    
76 afuchs 1.1 (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 crhodes 1.6 collect `(:file ,(namestring p) :pathname ,p))))))
89 afuchs 1.1
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 tmoore 1.10 #+scl "fix-scl"
99 afuchs 1.1 #+excl "fix-acl"
100     #+sbcl "fix-sbcl"
101     #+openmcl "fix-openmcl"
102     #+lispworks "fix-lispworks"
103     #+clisp "fix-clisp")))
104 afuchs 1.25 (:file "package" :depends-on ("Lisp-Dep" "patch"))))
105 afuchs 1.1
106 thenriksen 1.33 (defsystem :clim-basic
107 afuchs 1.7 :depends-on (:clim-lisp :spatial-trees)
108 afuchs 1.1 :components ((:file "decls")
109 tmoore 1.8 (:file "protocol-classes" :depends-on ("decls"))
110 afuchs 1.1 (:module "Lisp-Dep"
111     :depends-on ("decls")
112     :components
113 afuchs 1.26 ((: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 afuchs 1.1 (:file "utils" :depends-on ("decls" "Lisp-Dep"))
123 tmoore 1.8 (: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 afuchs 1.1 (:file "setf-star" :depends-on ("decls" "Lisp-Dep"))
127 tmoore 1.8 (: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 afuchs 1.1 "transforms" "design"))
136 tmoore 1.8 (: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 afuchs 1.1 "regions" "design" "transforms"))
141 tmoore 1.8 (:file "views" :depends-on ("utils" "protocol-classes"))
142     (:file "stream-output" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "design" "utils" "X11-colors" "views"
143 afuchs 1.1 "output" "sheets" "regions" "graphics"
144     "medium" "setf-star"))
145 tmoore 1.8 (:file "recording" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "output" "coordinates" "graphics" "design"
146 afuchs 1.1 "medium" "transforms" "regions" "sheets"
147     "utils" "stream-output"))
148 tmoore 1.8 (:file "encapsulate" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "sheets" "graphics" "utils" "medium" "input"
149 afuchs 1.1 "stream-output" "recording"))
150 tmoore 1.8 (:file "stream-input" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "input" "ports" "sheets" "events"
151 afuchs 1.1 "encapsulate" "transforms" "utils"))
152 tmoore 1.8 (:file "text-selection" :depends-on ("decls" "protocol-classes" "Lisp-Dep" "X11-colors" "medium" "output"
153 afuchs 1.1 "transforms" "sheets" "stream-output"
154     "ports" "recording" "regions"
155     "events"))))
156    
157     (defsystem :goatee-core
158 thenriksen 1.33 :depends-on (:clim-basic)
159 afuchs 1.1 :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 thenriksen 1.33 :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 thenriksen 1.34 (:file "builtin-commands" :depends-on ("table-formatting"
237     "commands" "presentations"
238     "dialog" "presentation-defs"
239     "input-editing"))))
240 thenriksen 1.33
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 afuchs 1.1
310 thenriksen 1.36 (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 thenriksen 1.38 (:file "undo-tests" :depends-on ("testing"))
334     (:file "lisp-syntax-tests" :depends-on ("testing"))))))
335 thenriksen 1.36
336 afuchs 1.1 (defsystem :clim
337 thenriksen 1.33 :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 afuchs 1.1
345     (defsystem :clim-clx
346 afuchs 1.5 :depends-on (:clim #+(or sbcl openmcl ecl allegro) :clx)
347 afuchs 1.1 :components
348     ((:module "Backends/CLX"
349     :pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
350     :components
351     ((:file "package")
352 afuchs 1.2 (:file "image" :depends-on ("package"))
353 afuchs 1.1 (: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 crhodes 1.15 (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 dlichteblau 1.19 (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 dlichteblau 1.35 (:file "ffi")
385 dlichteblau 1.31 (:file "graft")
386 dlichteblau 1.19 (:file "port")
387     (:file "event")
388 dlichteblau 1.37 (:file "keys")
389 dlichteblau 1.44 (:file "medium")
390 dlichteblau 1.41 (:file "pango")
391 dlichteblau 1.44 (:file "cairo")
392 dlichteblau 1.43 (:file "gdk")
393 dlichteblau 1.19 (:file "pixmap")
394     (:file "frame-manager")
395     (:file "gadgets")))))
396    
397 afuchs 1.1 ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough.
398     (clim-defsystem (:clim-opengl :depends-on (:clim))
399     "Backends/OpenGL/opengl-x-frame-manager"
400     "Backends/OpenGL/opengl-frame-manager"
401     "Backends/OpenGL/opengl-x-port-before"
402     "Backends/OpenGL/opengl-port"
403     "Backends/OpenGL/opengl-x-port-after"
404     "Backends/OpenGL/opengl-medium"
405     "Backends/OpenGL/opengl-x-graft")
406    
407     ;;; A system that loads the appropriate backend for the current
408     ;;; platform.
409     (defsystem :clim-looks
410 afuchs 1.12 :depends-on (:clim :clim-postscript
411 afuchs 1.1 ;; If we're on an implementation that ships CLX, use
412     ;; it. Same if the user has loaded CLX already.
413 dlichteblau 1.32 #+(and (or sbcl scl openmcl ecl clx allegro) (not gtkairo))
414     :clim-clx
415 afuchs 1.1 #+gl :clim-opengl
416     ;; OpenMCL and MCL support the beagle backend (native
417     ;; OS X look&feel on OS X).
418    
419     ;; But until it's ready, it's no use forcing users to
420     ;; cope with possible bugs.
421     ;; #+(or openmcl mcl) :clim-beagle
422 crhodes 1.15
423 dlichteblau 1.19 #+gtkairo :clim-gtkairo
424    
425 crhodes 1.15 ;; null backend
426     :clim-null
427 afuchs 1.1 )
428 dlichteblau 1.32 :components (#-gtkairo
429     (:file "Looks/pixie"
430 afuchs 1.1 :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))
431    
432     ;;; name of :clim-clx-user chosen by mikemac for no good reason
433     (defsystem :clim-clx-user
434     :depends-on (:clim :clim-clx))
435    
436 ahefner 1.22 ;;; The actual McCLIM system that people should to use in their ASDF
437     ;;; package dependency lists.
438     (defsystem :mcclim
439 afuchs 1.30 :version "0.9.3-dev"
440 ahefner 1.22 :depends-on (:clim-looks))
441    
442 afuchs 1.1 ;;; CLIM-Examples depends on having at least one backend loaded.
443     (defsystem :clim-examples
444 ahefner 1.22 :depends-on (:mcclim)
445 afuchs 1.1 :components
446     ((:module "Examples"
447     :components
448     ((:file "calculator")
449     (:file "colorslider")
450 varkesteijn 1.14 (:file "menutest") ; extra
451 afuchs 1.1 (:file "address-book")
452     (:file "traffic-lights")
453     (:file "clim-fig")
454     (:file "postscript-test")
455 varkesteijn 1.14 (:file "puzzle")
456     (:file "transformations-test")
457     (:file "demodemo")
458 afuchs 1.1 (:file "stream-test")
459     (:file "presentation-test")
460 varkesteijn 1.14 (:file "dragndrop")
461 dlichteblau 1.20 (:file "gadget-test")
462 afuchs 1.1 (:file "accepting-values")
463 tmoore 1.9 (:file "method-browser")
464 afuchs 1.24 (:file "stopwatch")
465 crhodes 1.17 (:file "dragndrop-translator")
466 dlichteblau 1.18 (:file "draggable-graph")
467 dlichteblau 1.21 (:file "text-size-test")
468 ahefner 1.23 (:file "drawing-benchmark")
469 thenriksen 1.27 (:file "logic-cube")
470 dlichteblau 1.42 (:file "views")
471     (:file "font-selector")))
472 varkesteijn 1.14 (:module "Goatee"
473     :components
474     ((:file "goatee-test")))))
475 afuchs 1.1
476     ;;; This won't load in SBCL, either. I have really crappy code to
477     ;;; extract dependency information from :serial t ASDF systems, but
478     ;;; this comment is too narrow to contain it.
479 ahefner 1.22 (clim-defsystem (:scigraph :depends-on (:mcclim))
480 afuchs 1.1 ;; The DWIM part of SCIGRAPH
481     "Apps/Scigraph/dwim/package"
482     "Apps/Scigraph/dwim/feature-case"
483     "Apps/Scigraph/dwim/macros"
484     "Apps/Scigraph/dwim/tv"
485     "Apps/Scigraph/dwim/draw"
486     "Apps/Scigraph/dwim/present"
487     "Apps/Scigraph/dwim/extensions"
488     "Apps/Scigraph/dwim/wholine"
489     "Apps/Scigraph/dwim/export"
490     ;; The Scigraph part
491     "Apps/Scigraph/scigraph/package"
492     "Apps/Scigraph/scigraph/copy"
493     "Apps/Scigraph/scigraph/dump"
494     "Apps/Scigraph/scigraph/duplicate"
495     "Apps/Scigraph/scigraph/random"
496     "Apps/Scigraph/scigraph/menu-tools"
497     "Apps/Scigraph/scigraph/basic-classes"
498     "Apps/Scigraph/scigraph/draw"
499     "Apps/Scigraph/scigraph/mouse"
500     "Apps/Scigraph/scigraph/color"
501     "Apps/Scigraph/scigraph/basic-graph"
502     "Apps/Scigraph/scigraph/graph-mixins"
503     "Apps/Scigraph/scigraph/axis"
504     "Apps/Scigraph/scigraph/moving-object"
505     "Apps/Scigraph/scigraph/symbol"
506     "Apps/Scigraph/scigraph/graph-data"
507     "Apps/Scigraph/scigraph/legend"
508     "Apps/Scigraph/scigraph/graph-classes"
509     "Apps/Scigraph/scigraph/present"
510     "Apps/Scigraph/scigraph/annotations"
511     "Apps/Scigraph/scigraph/annotated-graph"
512     "Apps/Scigraph/scigraph/contour"
513     "Apps/Scigraph/scigraph/equation"
514     "Apps/Scigraph/scigraph/popup-accept"
515     "Apps/Scigraph/scigraph/popup-accept-methods"
516     "Apps/Scigraph/scigraph/duplicate-methods"
517     "Apps/Scigraph/scigraph/frame"
518     "Apps/Scigraph/scigraph/export"
519     "Apps/Scigraph/scigraph/demo-frame")
520    
521     (defsystem :clim-listener
522 ahefner 1.22 :depends-on (:mcclim #+sbcl :sb-posix)
523 afuchs 1.1 :components
524     ((:file "Experimental/xpm"
525     :pathname #.(make-pathname :directory '(:relative "Experimental") :name "xpm" :type "lisp"))
526     (:module "Apps/Listener"
527     :pathname #.(make-pathname :directory '(:relative "Apps" "Listener"))
528     :depends-on ("Experimental/xpm")
529     :components
530     ((:file "package")
531     (:file "util" :depends-on ("package"))
532     (:file "icons" :depends-on ("package" "util"))
533     (:file "file-types" :depends-on ("package" "icons" "util"))
534     (:file "dev-commands" :depends-on ("package" "icons" "file-types" "util"))
535     (:file "listener" :depends-on ("package" "file-types" "icons" "dev-commands" "util"))
536     #+CMU (:file "cmu-hacks" :depends-on ("package"))))))
537    
538 ahefner 1.22 (defsystem :clouseau
539     :depends-on (:mcclim)
540     :serial t
541     :components
542 afuchs 1.24 ((:module "Apps/Inspector"
543     :pathname #.(make-pathname :directory '(:relative "Apps" "Inspector"))
544     :components
545     ((:file "package")
546 thenriksen 1.40 (:file "disassembly" :depends-on ("package"))
547     (:file "inspector" :depends-on ("disassembly"))))))
548 afuchs 1.7
549 tmoore 1.8 (defmethod perform :after ((op load-op) (c (eql (find-system :clim))))
550     (pushnew :clim *features*)
551     (pushnew :mcclim *features*))
552    
553 afuchs 1.7 (defmethod perform :after ((op load-op) (c (eql (find-system :mcclim))))
554     (pushnew :clim *features*)
555 tmoore 1.8 (pushnew :mcclim *features*))
556 thenriksen 1.33
557     ;; XXX This is very ugly, but ESA and Drei need to know whether they
558     ;; are being compiled as part of McCLIM, or in another CLIM
559     ;; implementation.
560     (defmethod perform :around (op c)
561     (if (and (or (eql (component-system c) (find-system :esa-mcclim))
562     (eql (component-system c) (find-system :drei-mcclim)))
563     (not (find :building-mcclim *features*)))
564     (unwind-protect (progn (push :building-mcclim *features*)
565     (call-next-method))
566     (setf *features* (delete :building-mcclim *features*)))
567     (call-next-method)))

  ViewVC Help
Powered by ViewVC 1.1.5