[mcclim-cvs] CVS mcclim

CVS User rgoldman rgoldman at common-lisp.net
Wed Feb 27 21:53:36 UTC 2013


Update of /project/mcclim/cvsroot/mcclim
In directory tiger.common-lisp.net:/tmp/cvs-serv27271

Modified Files:
	mcclim.asd 
Added Files:
	require-clx.lisp 
Log Message:
Modify building for ACL and clisp for both ASDF2 and ASDF3

--- /project/mcclim/cvsroot/mcclim/mcclim.asd	2008/05/16 14:05:07	1.84
+++ /project/mcclim/cvsroot/mcclim/mcclim.asd	2013/02/27 21:53:36	1.85
@@ -4,7 +4,7 @@
 ;;;  (c) copyright 2000 by 
 ;;;           Robert Strandh (strandh at labri.u-bordeaux.fr)
 ;;;  (c) copyright 2005 by
-;;;	      Andreas Fuchs (asf at boinkor.net)
+;;;           Andreas Fuchs (asf at boinkor.net)
 ;;;
 ;;; This library is free software; you can redistribute it and/or
 ;;; modify it under the terms of the GNU Library General Public
@@ -36,8 +36,8 @@
   (defun find-swank-package ()
     (find-package :swank))
   (defun find-swank-system ()
-    (handler-case (asdf:find-system :swank)
-      (asdf:missing-component ())))
+    (handler-case (find-system :swank)
+      (missing-component ())))
   (defun find-swank ()
     (or (find-swank-package)
         (find-swank-system)))
@@ -57,49 +57,28 @@
   (unless (fboundp 'ext:stream-read-char)
     (unless (ignore-errors (ext:search-list "gray-streams:"))
       (setf (ext:search-list "gray-streams:")
-	'("target:pcl/" "library:subsystems/")))
+        '("target:pcl/" "library:subsystems/")))
     (if (fboundp 'extensions:without-package-locks)
-	(extensions:without-package-locks
-	 (load "gray-streams:gray-streams-library"))
+        (extensions:without-package-locks
+         (load "gray-streams:gray-streams-library"))
       (load "gray-streams:gray-streams-library")))
   #-(or clx clim-gtkairo clim-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.~%~%")))
+         (format t "~%~%You need to run (mp::startup-idle-and-top-level-loops) to start up the multiprocessing support.~%~%")))
 
 ;;; Make CLX asdf-loadable on Allegro 6.2
-;;; possibly this should be further refined to funciton properly for
+;;; possibly this should be further refined to function properly for
 ;;; Allegro on Windows platforms. [2005/04/18:rpg]
 
 #+allegro
-(progn
-  (defclass requireable-system (asdf:system)
-    ())
-  (defmethod asdf:perform ((op asdf:load-op) (system requireable-system))
-    (require (intern (slot-value system 'asdf::name) :keyword)))
-  (defmethod asdf::traverse ((op asdf:load-op) (system requireable-system))
-    (list (cons op system)))  
-  (defsystem :clx
-    :class requireable-system))
+(defsystem :clx
+  :components ((:file "require-clx")))
 
 ;;; Clozure CL native GUI stuff
 #+clim-beagle
 (require :cocoa)
 
-(defmacro clim-defsystem ((module &key depends-on) &rest components)
-  `(progn
-     (asdf:defsystem ,module
-	 ,@(and depends-on
-		`(:depends-on ,depends-on))
-	 :serial t
-	 :components
-	 (,@(loop for c in components
-		  for p = (merge-pathnames
-			   (parse-namestring c)
-			   (make-pathname :type "lisp"
-					  :defaults *clim-directory*))
-		  collect `(:file ,(namestring p) :pathname ,p))))))
-
 (defsystem :clim-lisp
     :components
   (;; First possible patches
@@ -108,7 +87,7 @@
             :depends-on ("patch")
             :components
             ((:file   #+cmu       "fix-cmu"
-		      #+scl       "fix-scl"
+                      #+scl       "fix-scl"
                       #+excl      "fix-acl"
                       #+sbcl      "fix-sbcl"
                       #+openmcl   "fix-openmcl"
@@ -119,7 +98,7 @@
 (defsystem :clim-basic
     :depends-on (:clim-lisp :spatial-trees (:version "flexichain" "1.5.1"))
     :components ((:file "decls")
-		 (:file "protocol-classes" :depends-on ("decls"))
+                 (:file "protocol-classes" :depends-on ("decls"))
                  (:module "Lisp-Dep"
                           :depends-on ("decls")
                           :components
@@ -167,7 +146,7 @@
                                                                    "transforms" "sheets" "stream-output"
                                                                    "ports" "recording" "regions"
                                                                    "events"))
-		 (:file "bezier" :depends-on ("recording"))))
+                 (:file "bezier" :depends-on ("recording"))))
 
 (defsystem :goatee-core
     :depends-on (:clim-basic)
@@ -201,7 +180,6 @@
   :depends-on (:clim-basic)
   :components
   ((:module "Backends/PostScript"
-            :pathname #.(make-pathname :directory '(:relative "Backends" "PostScript"))
             :components
             ((:file "package")
              (:file "encoding" :depends-on ("package"))
@@ -268,31 +246,29 @@
 (defsystem :drei-mcclim
   :depends-on ((:version "flexichain" "1.5.1") :esa-mcclim :clim-core #+#.(mcclim.system::dep-on-swank) :swank)
   :components
-  ((:module "cl-automaton"
-            :pathname #.(make-pathname :directory '(:relative "Drei" "cl-automaton"))
-	    :components ((:file "automaton-package")
-			 (:file "eqv-hash" :depends-on ("automaton-package"))
-			 (:file "state-and-transition" :depends-on ("eqv-hash"))
-			 (:file "automaton" :depends-on ("state-and-transition" "eqv-hash"))
-			 (:file "regexp" :depends-on ("automaton"))))
-   (:module "Persistent"
-            :pathname #.(make-pathname :directory '(:relative "Drei" "Persistent"))
+  ((:module "Drei/cl-automaton"
+            :components ((:file "automaton-package")
+                         (:file "eqv-hash" :depends-on ("automaton-package"))
+                         (:file "state-and-transition" :depends-on ("eqv-hash"))
+                         (:file "automaton" :depends-on ("state-and-transition" "eqv-hash"))
+                         (:file "regexp" :depends-on ("automaton"))))
+   (:module "Drei/Persistent"
             :components ((:file "binseq-package")
                          (:file "binseq" :depends-on ("binseq-package"))
                          (:file "obinseq" :depends-on ("binseq-package" "binseq"))
                          (:file "binseq2" :depends-on ("binseq-package" "obinseq" "binseq"))))
-   (:module "Drei" :depends-on ("cl-automaton" "Persistent")
+   (:module "Drei" :depends-on ("Drei/cl-automaton" "Drei/Persistent")
             :components ((:file "packages")
                          (:file "buffer" :depends-on ("packages"))
                          (:file "delegating-buffer" :depends-on ("packages" "buffer"))
                          (:file "motion" :depends-on ("packages" "buffer" "syntax"))
                          (:file "editing" :depends-on ("packages" "buffer" "syntax" "motion" "kill-ring"))
-                         (:file "base" :depends-on ("packages" "buffer" "persistent-buffer" "kill-ring"
+                         (:file "base" :depends-on ("packages" "buffer" "Persistent/persistent-buffer" "kill-ring"
                                                                "delegating-buffer"))
                          (:file "syntax" :depends-on ("packages" "buffer" "base"))
                          (:file "modes" :depends-on ("packages" "syntax"))
-                         (:file "views" :depends-on ("packages" "buffer" "base" "syntax" "persistent-undo"
-                                                                "persistent-buffer" "undo" "abbrev"
+                         (:file "views" :depends-on ("packages" "buffer" "base" "syntax" "Persistent/persistent-undo"
+                                                                "Persistent/persistent-buffer" "undo" "abbrev"
                                                                 "delegating-buffer" "modes"))
                          (:file "drei" :depends-on ("packages" "views" "motion" "editing"))
                          (:file "drei-clim" :depends-on ("drei"))
@@ -309,14 +285,9 @@
                          (:file "rectangle" :depends-on ("core"))
                          (:file "targets" :depends-on ("core"))
                          (:file "core-commands" :depends-on ("core" "rectangle" "drei-clim"))
-                         (:file "persistent-buffer"
-                                :pathname #.(make-pathname :directory '(:relative "Persistent")
-                                                           :name "persistent-buffer"
-                                                           :type "lisp")
-                                :depends-on ("packages"))
-                         (:file "persistent-undo"
-                                :pathname #p"Persistent/persistent-undo.lisp"
-                                :depends-on ("packages" "buffer" "persistent-buffer" "undo"))
+                         (:file "Persistent/persistent-buffer" :depends-on ("packages"))
+                         (:file "Persistent/persistent-undo"
+                                :depends-on ("packages" "buffer" "Persistent/persistent-buffer" "undo"))
                          (:file "misc-commands" :depends-on ("basic-commands"))
                          (:file "search-commands" :depends-on ("core" "targets" "drei-clim"))
                          (:file "lr-syntax" :depends-on ("fundamental-syntax" "core" "drawing-options"))
@@ -328,8 +299,7 @@
 (defsystem :drei-tests
   :depends-on (:drei-mcclim :fiveam)
   :components
-  ((:module "Tests"
-            :pathname #.(make-pathname :directory '(:relative "Drei" "Tests"))
+  ((:module "Drei/Tests"
             :components 
             ((:module
               "cl-automaton"
@@ -356,43 +326,36 @@
 (defsystem :clim
   :depends-on (:clim-core :goatee-core :clim-postscript :drei-mcclim)
   :components
-  ((:file "Goatee/presentation-history" ; XXX: this is loaded as part of the Goatee system. huh?
-          :pathname #.(make-pathname :directory '(:relative "Goatee") :name "presentation-history" :type "lisp"))
+  (;;(:file "Goatee/presentation-history") ; XXX: this is loaded as part of the Goatee system. huh?
    (:file "input-editing-goatee")
    (:file "input-editing-drei")
    (:file "text-editor-gadget")
-   (:file "Extensions/tab-layout"
-	  :pathname #.(make-pathname :directory '(:relative "Extensions")
-				     :name "tab-layout"))))
+   (:file "Extensions/tab-layout")))
+
+#+clisp
+(when (and (find-package :xlib)
+           ;; Just some random symbol I know is unexported in CLISP's CLX.
+           (not (eq (nth-value 1 (find-symbol "SET-SELECTION-OWNER" :xlib)) :external)))
+  (warn "~@<CLISP provided you a CLX that is not capable of running the McCLIM CLX backend.
+Deleting it, that it may be replaced with a working one.~@:>")
+  (ext:without-package-lock ("XLIB")
+    (delete-package :xlib)))
+
 
 (defsystem :clim-clx
-    :depends-on (:clim #+(or sbcl openmcl ecl allegro) :clx)
+  :depends-on (:clim #+(or sbcl openmcl ecl clisp allegro) :clx)
+  :components
+  ((:module "Backends/CLX"
     :components
-    ((:module "Backends/CLX"
-              :pathname #.(make-pathname :directory '(:relative "Backends" "CLX"))
-              :components
-              ((:file "package")
-               (:file "image" :depends-on ("package"))
-               (:file "keysyms-common" :depends-on ("package"))
-               (:file "keysyms" :depends-on ("keysyms-common" "package"))
-               (:file "keysymdef" :depends-on ("keysyms-common" "package"))
-               (:file "port" :depends-on ("keysyms-common" "keysyms" "package"))
-               (:file "medium" :depends-on ("port" "keysyms" "package"))
-               (:file "graft" :depends-on ("port" "package"))
-               (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
-#+clisp
-(defmethod asdf::traverse :around ((op compile-op) (c (eql (find-system :clim-clx))))
-  ;; Just some random symbol I know is unexported in CLISP's CLX.
-  (if (eq (nth-value 1 (find-symbol "SET-SELECTION-OWNER" :xlib))
-       :external)
-      (call-next-method)
-      (restart-case (error "Your CLX is not capable of running the McCLIM CLX backend")
-        (load-clx-via-asdf ()
-         :report "Try replacing your CLX with a CLX loaded through ASDF, hopefully this will be Telent CLX."
-         (ext:without-package-lock ("XLIB")
-           (delete-package :xlib)
-           (asdf:oos 'asdf:load-op :clx))
-         (call-next-method)))))
+    ((:file "package")
+     (:file "image" :depends-on ("package"))
+     (:file "keysyms-common" :depends-on ("package"))
+     (:file "keysyms" :depends-on ("keysyms-common" "package"))
+     (:file "keysymdef" :depends-on ("keysyms-common" "package"))
+     (:file "port" :depends-on ("keysyms-common" "keysyms" "package"))
+     (:file "medium" :depends-on ("port" "keysyms" "package"))
+     (:file "graft" :depends-on ("port" "package"))
+     (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
 
 (defsystem :clim-beagle
   :depends-on (clim)
@@ -456,69 +419,69 @@
                 :components ((:file "profile")))
                (:module "tests"
                 :components ((:file "drawing-tests")
-                             (:file "graft-tests"))))))))
-)
+                             (:file "graft-tests")))))))))
+
 
 (defsystem :clim-null
     :depends-on (:clim)
     :components
     ((:module "Backends/Null"
-	      :pathname #.(make-pathname :directory '(:relative "Backends" "Null"))
-	      :components
-	      ((:file "package")
-	       (:file "port" :depends-on ("package"))
-	       (:file "medium" :depends-on ("port" "package"))
-	       (:file "graft" :depends-on ("port" "package"))
-	       (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
+              :components
+              ((:file "package")
+               (:file "port" :depends-on ("package"))
+               (:file "medium" :depends-on ("port" "package"))
+               (:file "graft" :depends-on ("port" "package"))
+               (:file "frame-manager" :depends-on ("medium" "port" "package"))))))
 
 (defsystem :clim-gtkairo
     :depends-on (:clim :cffi)
     :components
     ((:module "Backends/gtkairo"
-	      :pathname #.(make-pathname :directory '(:relative "Backends" "gtkairo"))
-	      :serial t			;asf wird's ja richten
-	      :components
-	      ((:file "clim-fix")
-	       (:file "package")
-	       (:file "gtk-ffi")
-	       (:file "cairo-ffi")
-	       (:file "ffi")
-	       (:file "graft")
-	       (:file "port")
-	       (:file "event")
-	       (:file "keys")
-	       (:file "medium")
-	       (:file "pango")
-	       (:file "cairo")
-	       (:file "gdk")
-	       (:file "pixmap")
-	       (:file "frame-manager")
-	       (:file "gadgets")))))
+              :serial t                 ;asf wird's ja richten
+              :components
+              ((:file "clim-fix")
+               (:file "package")
+               (:file "gtk-ffi")
+               (:file "cairo-ffi")
+               (:file "ffi")
+               (:file "graft")
+               (:file "port")
+               (:file "event")
+               (:file "keys")
+               (:file "medium")
+               (:file "pango")
+               (:file "cairo")
+               (:file "gdk")
+               (:file "pixmap")
+               (: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")
+              :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 "graft" :depends-on ("package"))
+               (:file "port" :depends-on ("utils" "graft"))
+               (:file "medium" :depends-on ("port"))
          (:file "pixmap" :depends-on ("medium"))
-	       (:file "frame-manager" :depends-on ("medium"))
+               (: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"
-   "Backends/OpenGL/opengl-frame-manager"
-   "Backends/OpenGL/opengl-x-port-before"
-   "Backends/OpenGL/opengl-port"
-   "Backends/OpenGL/opengl-x-port-after"
-   "Backends/OpenGL/opengl-medium"
-   "Backends/OpenGL/opengl-x-graft")
+(defsystem :clim-opengl
+  :depends-on (:clim)
+  :serial t
+  :components
+  ((:file "Backends/OpenGL/opengl-x-frame-manager")
+   (:file "Backends/OpenGL/opengl-frame-manager")
+   (:file "Backends/OpenGL/opengl-x-port-before")
+   (:file "Backends/OpenGL/opengl-port")
+   (:file "Backends/OpenGL/opengl-x-port-after")
+   (:file "Backends/OpenGL/opengl-medium")
+   (:file "Backends/OpenGL/opengl-x-graft")))
 
 ;;; A system that loads the appropriate backend for the current
 ;;; platform.
@@ -527,45 +490,33 @@
                  ;; 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 (or clim-gtkairo clim-graphic-forms clim-beagle)))
-		 :clim-clx
-                 #+clim-graphic-forms             :clim-graphic-forms
+                        (not (or clim-gtkairo clim-graphic-forms clim-beagle)))
+                 :clim-clx                 #+clim-graphic-forms             :clim-graphic-forms
                  #+clim-gl                        :clim-opengl
                  ;; OpenMCL and MCL support the beagle backend (native
                  ;; OS X look&feel on OS X).
                  #+clim-beagle :clim-beagle
 
-		 #+clim-gtkairo :clim-gtkairo
+                 #+clim-gtkairo :clim-gtkairo
 
-		 ;; null backend
-		 :clim-null
+                 ;; null backend
+                 :clim-null
                  )
     :components (#-(or clim-gtkairo clim-graphic-forms clim-beagle)
-		 (:file "Looks/pixie"
-                        :pathname #.(make-pathname :directory '(:relative "Looks") :name "pixie" :type "lisp"))))
+                 (:file "Looks/pixie")))
 
 ;;; The actual McCLIM system that people should to use in their ASDF
 ;;; package dependency lists.
 (defsystem :mcclim
-    :version "0.9.7-dev"
-    :depends-on (:clim-looks))
-
-(defmethod perform :after ((op load-op) (c (eql (find-system :clim))))

[27 lines skipped]

--- /project/mcclim/cvsroot/mcclim/require-clx.lisp	2013/02/27 21:53:36	NONE
+++ /project/mcclim/cvsroot/mcclim/require-clx.lisp	2013/02/27 21:53:36	1.1

[29 lines skipped]




More information about the Mcclim-cvs mailing list