File: clue.system

package info (click to toggle)
cl-clue 20050302
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 5,964 kB
  • ctags: 2,647
  • sloc: lisp: 32,019; makefile: 63; sh: 38
file content (49 lines) | stat: -rw-r--r-- 2,081 bytes parent folder | download
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
;;; -*- 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))))))

(mk:defsystem clue
    :source-pathname 
    #+common-lisp-controller "cl-library:clue;"
    #-common-lisp-controller (translate-logical-pathname "clocc:src;gui;clue;clue;")
    :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 "cl-library:clue;" :compile))))