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(a)labri.u-bordeaux.fr)
;;; (c) copyright 2005 by
-;;; Andreas Fuchs (asf(a)boinkor.net)
+;;; Andreas Fuchs (asf(a)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]