Here's a patch that causes Allegro (or at least my beloved,
increasingly aged ACL 6.2), to load CLX while loading MCCLIM.
Per Christophe's instructions on #lisp, consider this to be an
official whine to have the patch applied! :-)
I don't believe that there's any way this could muck things up for
anyone not using ACL, but I am not infallible...
R
--- mcclim.asd 1 Mar 2005 15:46:13 -0000 1.4
+++ mcclim.asd 18 Apr 2005 17:19:18 -0000
@@ -80,6 +80,25 @@ (defsystem :clim-lisp
#+clisp "fix-clisp")))
(:file "package" :depends-on ("Lisp-Dep"))))
+;;; possibly this should be further refined to funciton properly for
+;;; Allegro on Windows platforms. [2005/04/18:rpg]
+#+allegro
+(defclass requireable-system (asdf:system)
+ ()
+ )
+
+#+allegro
+(defmethod asdf:perform ((op asdf:load-op) (system requireable-system))
+ (require (intern (slot-value system 'asdf::name) "KEYWORD")))
+
+#+allegro
+(defmethod asdf::traverse ((op asdf:load-op) (system requireable-system))
+ (list (cons op system)))
+
+#+allegro
+(defsystem :clx
+ :class requireable-system)
+
(defsystem :clim-core
:depends-on (:clim-lisp)
:components ((:file "decls")
@@ -216,7 +235,7 @@ (defsystem :clim
))
(defsystem :clim-clx
- :depends-on (:clim #+(or sbcl openmcl ecl) :clx)
+ :depends-on (:clim #+(or sbcl openmcl ecl allegro) :clx)
:components
((:module "Backends/CLX"
:pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
@@ -276,7 +295,7 @@ (defsystem :clim-looks
:depends-on (:clim
;; If we're on an implementation that ships CLX, use
;; it. Same if the user has loaded CLX already.
- #+(or sbcl openmcl ecl clx) :clim-clx
+ #+(or sbcl openmcl ecl clx allegro) :clim-clx
#+gl :clim-opengl
;; OpenMCL and MCL support the beagle backend (native
;; OS X look&feel on OS X).