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

Contents of /mcclim/mcclim.asd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Mon Feb 21 16:36:30 2005 UTC (9 years, 1 month ago) by afuchs
Branch: MAIN
Changes since 1.1: +3 -3 lines
Backends/CLX/image.lisp depends on .../package.lisp.

Spotted by Christophe Rhodes.
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     ;;; Legacy CMUCL support stuff
36     #+cmu
37     (progn
38     (unless (fboundp 'ext:stream-read-char)
39     (unless (ignore-errors (ext:search-list "gray-streams:"))
40     (setf (ext:search-list "gray-streams:")
41     '("target:pcl/" "library:subsystems/")))
42     (if (fboundp 'without-package-locks)
43     (without-package-locks
44     (load "gray-streams:gray-streams-library"))
45     (load "gray-streams:gray-streams-library")))
46     #-clx
47     (require :clx)
48     #+mp (when (eq mp::*initial-process* mp::*current-process*)
49     (format t "~%~%You need to run (mp::startup-idle-and-top-level-loops) to start up the multiprocessing support.~%~%")))
50    
51     (pushnew :clim *features*)
52     (pushnew :mcclim *features*)
53    
54     (defmacro clim-defsystem ((module &key depends-on) &rest components)
55     `(progn
56     (asdf:defsystem ,module
57     ,@(and depends-on
58     `(:depends-on ,depends-on))
59     :serial t
60     :components
61     (,@(loop for c in components
62     for p = (merge-pathnames
63     (parse-namestring c)
64     (make-pathname :type "lisp"
65     :defaults *clim-directory*))
66     collect `(:file ,(pathname-name p) :pathname ,p))))))
67    
68     (defsystem :clim-lisp
69     :components
70     (;; First possible patches
71     (:file "patch")
72     (:module "Lisp-Dep"
73     :depends-on ("patch")
74     :components
75     ((:file #+cmu "fix-cmu"
76     #+excl "fix-acl"
77     #+sbcl "fix-sbcl"
78     #+openmcl "fix-openmcl"
79     #+lispworks "fix-lispworks"
80     #+clisp "fix-clisp")))
81     (:file "package" :depends-on ("Lisp-Dep"))))
82    
83     (defsystem :clim-core
84     :depends-on (:clim-lisp)
85     :components ((:file "decls")
86     (:module "Lisp-Dep"
87     :depends-on ("decls")
88     :components
89     ((:file #.(or
90     #+(and :cmu :mp (not :pthread)) "mp-cmu"
91     #+sb-thread "mp-sbcl"
92     #+excl "mp-acl"
93     #+openmcl "mp-openmcl"
94     #+lispworks "mp-lw"
95     #| fall back |# "mp-nil"))))
96     (:file "utils" :depends-on ("decls" "Lisp-Dep"))
97     (:file "design" :depends-on ("decls" "Lisp-Dep" "utils"))
98     (:file "X11-colors" :depends-on ("decls" "Lisp-Dep"))
99     (:file "coordinates" :depends-on ("decls" "Lisp-Dep"))
100     (:file "setf-star" :depends-on ("decls" "Lisp-Dep"))
101     (:file "transforms" :depends-on ("decls" "Lisp-Dep" "coordinates" "utils"))
102     (:file "regions" :depends-on ("decls" "Lisp-Dep" "coordinates" "utils" "transforms" "setf-star"))
103     (:file "sheets" :depends-on ("decls" "Lisp-Dep" "utils" "transforms" "regions"))
104     (:file "pixmap" :depends-on ("decls" "Lisp-Dep" "sheets" "transforms" "regions"))
105     (:file "events" :depends-on ("decls" "Lisp-Dep" "transforms" "sheets" "utils"))
106     (:file "ports" :depends-on ("decls" "Lisp-Dep" "events" "sheets" "pixmap" "utils"))
107     (:file "grafts" :depends-on ("decls" "Lisp-Dep" "sheets" "ports" "transforms" "regions"))
108     (:file "medium" :depends-on ("decls" "Lisp-Dep" "ports" "X11-colors" "utils" "pixmap" "regions"
109     "transforms" "design"))
110     (:file "output" :depends-on ("decls" "Lisp-Dep" "medium"))
111     (:file "input" :depends-on ("decls" "Lisp-Dep" "events" "regions" "sheets"))
112     (:file "repaint" :depends-on ("decls" "Lisp-Dep" "sheets" "events"))
113     (:file "graphics" :depends-on ("decls" "Lisp-Dep" "output" "utils" "medium" "sheets" "pixmap"
114     "regions" "design" "transforms"))
115     (:file "views" :depends-on ("utils"))
116     (:file "stream-output" :depends-on ("decls" "Lisp-Dep" "design" "utils" "X11-colors" "views"
117     "output" "sheets" "regions" "graphics"
118     "medium" "setf-star"))
119     (:file "recording" :depends-on ("decls" "Lisp-Dep" "output" "coordinates" "graphics" "design"
120     "medium" "transforms" "regions" "sheets"
121     "utils" "stream-output"))
122     (:file "encapsulate" :depends-on ("decls" "Lisp-Dep" "sheets" "graphics" "utils" "medium" "input"
123     "stream-output" "recording"))
124     (:file "stream-input" :depends-on ("decls" "Lisp-Dep" "input" "ports" "sheets" "events"
125     "encapsulate" "transforms" "utils"))
126     (:file "text-selection" :depends-on ("decls" "Lisp-Dep" "X11-colors" "medium" "output"
127     "transforms" "sheets" "stream-output"
128     "ports" "recording" "regions"
129     "events"))))
130    
131     (defsystem :goatee-core
132     :depends-on (:clim-core)
133     :components
134     ((:module "Goatee"
135     :components
136     ((:file "conditions")
137     (:file "dbl-list")
138     (:file "flexivector" :depends-on ("conditions" "dbl-list"))
139     (:file "buffer" :depends-on ("conditions" "flexivector" "dbl-list"))
140     (:file "editable-buffer" :depends-on ("dbl-list" "flexivector" "buffer"))
141     (:file "editable-area" :depends-on ("flexivector" "editable-buffer" "dbl-list"
142     "buffer"))
143     (:file "clim-area" :depends-on ("flexivector" "dbl-list" "buffer"
144     "editable-area" "editable-buffer"))
145     (:file "kill-ring" :depends-on ("editable-buffer" "dbl-list" "flexivector"
146     "buffer"))
147     (:file "goatee-command" :depends-on ("conditions" "clim-area" "dbl-list"
148     "editable-buffer" "kill-ring"
149     "editable-area" "buffer" "flexivector"))
150     (:file "editing-stream" :depends-on ("goatee-command" "kill-ring" "dbl-list"
151     "conditions" "editable-buffer"
152     "flexivector" "clim-area" "buffer"))
153     (:file "presentation-history" :depends-on ("editing-stream" "buffer"
154     "flexivector" "editable-buffer"
155     "goatee-command"))))))
156    
157     ;;; CLIM-PostScript is not a backend in the normal sense.
158     ;;; It is an extension (Chap. 35.1 of the spec) and is an
159     ;;; "included" part of McCLIM. Hence the defsystem is here.
160     (defsystem :clim-postscript
161     :depends-on (:clim-core)
162     :components
163     ((:module "Backends/PostScript"
164     :pathname #.(make-pathname :directory '(:relative "Backends" "PostScript"))
165     :components
166     ((:file "package")
167     (:file "encoding" :depends-on ("package"))
168     (:file "paper" :depends-on ("package"))
169     (:file "class" :depends-on ("paper" "package"))
170     (:file "font" :depends-on ("encoding" "class" "paper" "package"))
171     (:file "graphics" :depends-on ("encoding" "paper" "class" "font" "package"))
172     (:file "sheet" :depends-on ("paper" "class" "graphics" "package"))
173     (:file "afm" :depends-on ("class" "paper" "font" "package"))
174     (:file "standard-metrics" :depends-on ("font" "package"))))))
175    
176     (defsystem :clim
177     :depends-on (:clim-core :goatee-core :clim-postscript)
178     :components
179     ((:file "text-formatting")
180     (:file "input-editing")
181     (:file "presentations")
182     (:file "presentation-defs" :depends-on ("input-editing" "presentations"))
183     (:file "pointer-tracking" :depends-on ("input-editing"))
184     (:file "commands" :depends-on ("input-editing" "presentations" "presentation-defs"))
185     (:file "frames" :depends-on ("commands" "presentations" "presentation-defs"
186     "pointer-tracking"))
187     (:file "incremental-redisplay" :depends-on ("presentation-defs" "frames"))
188     (:file "panes" :depends-on ("incremental-redisplay" "presentations"
189     "presentation-defs" "input-editing" "frames"))
190     (:file "gadgets" :depends-on ("commands" "pointer-tracking" "input-editing"
191     "frames" "incremental-redisplay" "panes"))
192     (:file "menu" :depends-on ("panes" "commands" "gadgets"
193     "presentations" "frames"))
194     (:file "table-formatting" :depends-on ("presentation-defs" "panes"
195     "presentations" "input-editing"))
196     (:file "graph-formatting")
197     (:file "bordered-output" :depends-on ("input-editing" "incremental-redisplay"
198     "presentation-defs" "panes"))
199     (:file "dialog-views" :depends-on ("presentations" "incremental-redisplay"
200     "bordered-output" "presentation-defs"))
201     (:file "dialog" :depends-on ("panes" "frames" "incremental-redisplay"
202     "table-formatting" "presentations"
203     "bordered-output" "presentation-defs"
204     "dialog-views" "input-editing"
205     "commands"))
206     (:file "builtin-commands" :depends-on ("table-formatting" "commands" "presentations"
207     "presentation-defs" "input-editing"))
208     (:file "describe" :depends-on ("presentations" "presentation-defs" "table-formatting"))
209     (:file "Experimental/menu-choose" :depends-on ("commands" "table-formatting" "presentation-defs"
210     "panes" "frames" "pointer-tracking"
211     "presentations")
212     :pathname #.(make-pathname :directory '(:relative "Experimental") :name "menu-choose" :type "lisp"))
213     (:file "Goatee/presentation-history" :depends-on ("presentation-defs") ; XXX: this is loaded as part of the Goatee system. huh?
214     :pathname #.(make-pathname :directory '(:relative "Goatee") :name "presentation-history" :type "lisp"))
215     ))
216    
217     (defsystem :clim-clx
218     :depends-on (:clim #+(or sbcl openmcl ecl) :clx)
219     :components
220     ((:module "Backends/CLX"
221     :pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
222     :components
223     ((:file "package")
224 afuchs 1.2 (:file "image" :depends-on ("package"))
225 afuchs 1.1 (:file "keysyms-common" :depends-on ("package"))
226     (:file "keysyms" :depends-on ("keysyms-common" "package"))
227     (:file "keysymdef" :depends-on ("keysyms-common" "package"))
228     (:file "port" :depends-on ("keysyms-common" "keysyms" "package"))
229     (:file "medium" :depends-on ("port" "keysyms" "package"))
230     (:file "graft" :depends-on ("port" "package"))
231     (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
232    
233     ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough.
234     (clim-defsystem (:clim-opengl :depends-on (:clim))
235     "Backends/OpenGL/opengl-x-frame-manager"
236     "Backends/OpenGL/opengl-frame-manager"
237     "Backends/OpenGL/opengl-x-port-before"
238     "Backends/OpenGL/opengl-port"
239     "Backends/OpenGL/opengl-x-port-after"
240     "Backends/OpenGL/opengl-medium"
241     "Backends/OpenGL/opengl-x-graft")
242    
243     ;;; TODO/asf: I don't have the required macintosh to get :clim-beagle to load.
244    
245     (defsystem :clim-objc-support)
246     (defmethod perform ((op load-op) (c (eql (find-system :clim-objc-support))))
247     (require "OBJC-SUPPORT"))
248    
249     (clim-defsystem (:clim-beagle :depends-on (:clim :clim-objc-support))
250     "Backends/beagle/package"
251     "Backends/beagle/lisp-window"
252     "Backends/beagle/lisp-window-delegate"
253     "Backends/beagle/lisp-view"
254     "Backends/beagle/lisp-view-additional"
255     "Backends/beagle/lisp-image"
256     "Backends/beagle/lisp-unmanaged-view"
257     "Backends/beagle/cocoa-util"
258     "Backends/beagle/port"
259     "Backends/beagle/frame-manager"
260     "Backends/beagle/medium"
261     "Backends/beagle/mirror"
262     "Backends/beagle/events"
263     "Backends/beagle/graft"
264     "Backends/beagle/fonts"
265     "Backends/beagle/image"
266     "Backends/beagle/keysymdef")
267    
268     ;;; legacy system that loads :clim-beagle
269     (defsystem :beagle
270     :depends-on (:clim-beagle))
271    
272     ;;; A system that loads the appropriate backend for the current
273     ;;; platform.
274     (defsystem :clim-looks
275     :depends-on (:clim
276     ;; If we're on an implementation that ships CLX, use
277     ;; it. Same if the user has loaded CLX already.
278     #+(or sbcl openmcl ecl clx) :clim-clx
279     #+gl :clim-opengl
280     ;; OpenMCL and MCL support the beagle backend (native
281     ;; OS X look&feel on OS X).
282    
283     ;; But until it's ready, it's no use forcing users to
284     ;; cope with possible bugs.
285     ;; #+(or openmcl mcl) :clim-beagle
286     )
287     :components ((:file "Looks/pixie"
288     :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))
289    
290     ;;; name of :clim-clx-user chosen by mikemac for no good reason
291     (defsystem :clim-clx-user
292     :depends-on (:clim :clim-clx))
293    
294     ;;; CLIM-Examples depends on having at least one backend loaded.
295     (defsystem :clim-examples
296     :depends-on (:clim :clim-looks)
297     :components
298     ((:module "Examples"
299     :components
300     ((:file "calculator")
301     (:file "colorslider")
302     (:file "address-book")
303     (:file "traffic-lights")
304     (:file "clim-fig")
305     (:file "postscript-test")
306     (:file "stream-test")
307     (:file "presentation-test")
308     #+clx (:file "gadget-test")
309     (:file "accepting-values")
310     (:file "method-browser")))))
311    
312     ;;; This won't load in SBCL, either. I have really crappy code to
313     ;;; extract dependency information from :serial t ASDF systems, but
314     ;;; this comment is too narrow to contain it.
315     (clim-defsystem (:scigraph :depends-on (:clim :clim-looks))
316     ;; The DWIM part of SCIGRAPH
317     "Apps/Scigraph/dwim/package"
318     "Apps/Scigraph/dwim/feature-case"
319     "Apps/Scigraph/dwim/macros"
320     "Apps/Scigraph/dwim/tv"
321     "Apps/Scigraph/dwim/draw"
322     "Apps/Scigraph/dwim/present"
323     "Apps/Scigraph/dwim/extensions"
324     "Apps/Scigraph/dwim/wholine"
325     "Apps/Scigraph/dwim/export"
326     ;; The Scigraph part
327     "Apps/Scigraph/scigraph/package"
328     "Apps/Scigraph/scigraph/copy"
329     "Apps/Scigraph/scigraph/dump"
330     "Apps/Scigraph/scigraph/duplicate"
331     "Apps/Scigraph/scigraph/random"
332     "Apps/Scigraph/scigraph/menu-tools"
333     "Apps/Scigraph/scigraph/basic-classes"
334     "Apps/Scigraph/scigraph/draw"
335     "Apps/Scigraph/scigraph/mouse"
336     "Apps/Scigraph/scigraph/color"
337     "Apps/Scigraph/scigraph/basic-graph"
338     "Apps/Scigraph/scigraph/graph-mixins"
339     "Apps/Scigraph/scigraph/axis"
340     "Apps/Scigraph/scigraph/moving-object"
341     "Apps/Scigraph/scigraph/symbol"
342     "Apps/Scigraph/scigraph/graph-data"
343     "Apps/Scigraph/scigraph/legend"
344     "Apps/Scigraph/scigraph/graph-classes"
345     "Apps/Scigraph/scigraph/present"
346     "Apps/Scigraph/scigraph/annotations"
347     "Apps/Scigraph/scigraph/annotated-graph"
348     "Apps/Scigraph/scigraph/contour"
349     "Apps/Scigraph/scigraph/equation"
350     "Apps/Scigraph/scigraph/popup-accept"
351     "Apps/Scigraph/scigraph/popup-accept-methods"
352     "Apps/Scigraph/scigraph/duplicate-methods"
353     "Apps/Scigraph/scigraph/frame"
354     "Apps/Scigraph/scigraph/export"
355     "Apps/Scigraph/scigraph/demo-frame")
356    
357     (defsystem :clim-listener
358     :depends-on (:clim :clim-looks #+sbcl :sb-posix)
359     :components
360     ((:file "Experimental/xpm"
361     :pathname #.(make-pathname :directory '(:relative "Experimental") :name "xpm" :type "lisp"))
362     (:module "Apps/Listener"
363     :pathname #.(make-pathname :directory '(:relative "Apps" "Listener"))
364     :depends-on ("Experimental/xpm")
365     :components
366     ((:file "package")
367     (:file "util" :depends-on ("package"))
368     (:file "icons" :depends-on ("package" "util"))
369     (:file "file-types" :depends-on ("package" "icons" "util"))
370     (:file "dev-commands" :depends-on ("package" "icons" "file-types" "util"))
371     (:file "listener" :depends-on ("package" "file-types" "icons" "dev-commands" "util"))
372     #+CMU (:file "cmu-hacks" :depends-on ("package"))))))
373    
374    
375     ;;; The actual McCLIM system that people should to use in their ASDF
376     ;;; package dependency lists.
377     (defsystem :mcclim
378 afuchs 1.2 :depends-on (:clim-looks))

  ViewVC Help
Powered by ViewVC 1.1.5