Index: mcclim.asd =================================================================== RCS file: /project/mcclim/cvsroot/mcclim/mcclim.asd,v retrieving revision 1.39 diff -u -u -r1.39 mcclim.asd --- mcclim.asd 10 Dec 2006 19:33:28 -0000 1.39 +++ mcclim.asd 17 Dec 2006 12:26:07 -0000 @@ -53,7 +53,7 @@ (extensions:without-package-locks (load "gray-streams:gray-streams-library")) (load "gray-streams:gray-streams-library"))) - #-(or clx gtkairo) + #-(or clx gtkairo graphic-forms) (require :clx) #+mp (when (eq mp::*initial-process* mp::*current-process*) (format t "~%~%You need to run (mp::startup-idle-and-top-level-loops) to start up the multiprocessing support.~%~%"))) @@ -391,6 +391,20 @@ (:file "frame-manager") (:file "gadgets"))))) +(defsystem :clim-graphic-forms + :depends-on (:clim :graphic-forms-uitoolkit) + :components + ((:module "Backends/Graphic-Forms" + :pathname #.(make-pathname :directory '(:relative "Backends" "Graphic-Forms")) + :components + ((:file "package") + (:file "utils" :depends-on ("package")) + (:file "graft" :depends-on ("package")) + (:file "port" :depends-on ("utils" "graft")) + (:file "medium" :depends-on ("port")) + (:file "frame-manager" :depends-on ("medium")) + (:file "gadgets" :depends-on ("port")))))) + ;;; TODO/asf: I don't have the required libs to get :clim-opengl to load. tough. (clim-defsystem (:clim-opengl :depends-on (:clim)) "Backends/OpenGL/opengl-x-frame-manager" @@ -407,8 +421,10 @@ :depends-on (:clim :clim-postscript ;; If we're on an implementation that ships CLX, use ;; it. Same if the user has loaded CLX already. - #+(and (or sbcl scl openmcl ecl clx allegro) (not gtkairo)) + #+(and (or sbcl scl openmcl ecl clx allegro) + (not (or gtkairo graphic-forms))) :clim-clx + #+graphic-forms :clim-graphic-forms #+gl :clim-opengl ;; OpenMCL and MCL support the beagle backend (native ;; OS X look&feel on OS X). @@ -422,7 +438,7 @@ ;; null backend :clim-null ) - :components (#-gtkairo + :components (#-(or gtkairo graphic-forms) (:file "Looks/pixie" :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp")))) Index: ports.lisp =================================================================== RCS file: /project/mcclim/cvsroot/mcclim/ports.lisp,v retrieving revision 1.53 diff -u -u -r1.53 ports.lisp --- ports.lisp 1 Jul 2006 21:31:41 -0000 1.53 +++ ports.lisp 17 Dec 2006 12:26:07 -0000 @@ -25,7 +25,18 @@ (defvar *default-server-path* nil) -(defvar *server-path-search-order* '(:genera :ms-windows :gtkairo :clx :x11 :opengl :beagle :null)) +;; - CLX is the de-facto reference backend. +;; - Prefer Graphic-Forms and Gtkairo over CLX, since they get installed only +;; on explicit user request anyway. +;; - If both are present, use Graphics-Forms in favour of Gtkairo, since +;; it is the native Windows backend. +;; - Beagle should be treated like Graphic-Forms in the long term, but is +;; currently lacking a maintainer, so let's leave it near the end. +;; - OpenGL and Null are in this list mostly to document their existence, +;; and neither is currently a complete backend we would want to make +;; a default. Put them after CLX, so that they won't actually be reached. +(defvar *server-path-search-order* + '(:graphic-forms :gtkairo :clx :opengl :beagle :null)) (defun find-default-server-path () (loop for port in *server-path-search-order*