[mcclim-devel] mcclim.asd patch for Allegro CL

rpgoldman at real-time.com rpgoldman at real-time.com
Mon Apr 18 17:24:43 UTC 2005


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).



More information about the mcclim-devel mailing list