;;; -*- Mode: LISP; Syntax: Common-Lisp; Package: User; Base: 10 -*- (in-package :User) ;;; 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)))))) (defparameter *source-pathname* #+common-lisp-controller "cl-library:clue;" #-common-lisp-controller (translate-logical-pathname "clocc:src;gui;clue;clue;")) (mk:defsystem clue :source-pathname *source-pathname* :depends-on ( #+cmu :cmucl-clx #-cmu :clx) :source-extension "lisp" :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 *source-pathname* :compile))))