1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
;;; -*- Mode: LISP; Syntax: Common-Lisp; Package: User; Base: 10 -*-
(in-package :User)
#+pcl
(progn
(pushnew 'compile pcl::*defclass-times*)
(pushnew 'compile pcl::*defgeneric-times*))
;; Ensure VALUES is a legal declaration
#-cmu17
(proclaim '(declaration values))
#+cmu17 ;; Don't warn about botched values decls
(setf c:*suppress-values-declaration* t)
#+pcl ;; This is now in current sources
(pushnew 'values pcl::*non-variable-declarations*)
;; Ensure *features* knows about CLOS and PCL
(when (find-package 'pcl)
(pushnew :pcl *features*)
(pushnew :clos *features*)
(unless (find-package :clos)
(rename-package :pcl :pcl '(:clos))))
;; Ensure *features* knows about the Common Lisp Error Handler
(when (find-package 'conditions)
(pushnew :cleh *features*))
;;; handle PCL's precompile "feature"
(defun hack-precom (path op &optional (pathname "precom"))
(declare (type (member :compile :load :ignore) op))
(let* ((src (merge-pathnames (make-pathname :name pathname :type "lisp")
path))
(obj (compile-file-pathname src)))
;;(format t "~& ~a ~a ~a ~a~%" path op pathname src)
(case op
(:compile
(when (probe-file src)
(unless (probe-file obj)
(compile-file src))))
(:load
(when (probe-file obj)
(load obj))))))
(mk:defsystem clue
:source-pathname "cl-library:clue;"
:depends-on (:cmucl-clx)
:components
((:file "clue") ; Define packages
(:module clue-precom-load
:load-form (hack-precom "cl-library:clue;" :load)
:compile-form t)
(:file "defgeneric") ; pw adds
(:file "event-parse") ; Utilities for event translation
(:file "defcontact") ; CLOS for resources and type conversion
(:file "intrinsics") ; The "guts"
(:file "caches") ; Support for gcontext, pixmap, cursor cacheing
(:file "resource") ; Resource and type conversion
(:file "gray") ; Gray stipple patterns
(:file "cursor") ; Standard cursor names
(:file "events") ; Event handling
(:file "virtual") ; Support for windowless contacts
(:file "shells") ; Support for top-level window/session mgr.
(:file "root-gmgmt") ; Geometry management methods for root contacts
(:file "package") ; External cluei symbols exported from clue
(:module clue-precom-com
:load-form t
:compile-only t
:compile-form (hack-precom "cl-library:clue;" :compile))))
|