/[cmucl]/src/tools/clmcom.lisp
ViewVC logotype

Contents of /src/tools/clmcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (show annotations)
Fri Oct 28 22:30:29 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.14: +7 -6 lines
hack, hack.
1 ;;; -*- Package: USER -*-
2 ;;;
3 ;;; **********************************************************************
4 ;;; This code was written as part of the CMU Common Lisp project at
5 ;;; Carnegie Mellon University, and has been placed in the public domain.
6 ;;; If you want to use this code or any part of CMU Common Lisp, please contact
7 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
8 ;;;
9 (ext:file-comment
10 "$Header: /tiger/var/lib/cvsroots/cmucl/src/tools/clmcom.lisp,v 1.15 1994/10/28 22:30:29 ram Exp $")
11 ;;;
12 ;;; **********************************************************************
13 ;;;
14 ;;; File for compiling the Motif toolkit and related interface
15 ;;; stuff.
16 ;;;
17 (in-package "USER")
18
19
20 ;;; If CLX and PCL have not been loaded, then load them.
21 ;;;
22 #-clx(load "target:clx/clx-library")
23 #-pcl(load "target:pcl/pclload")
24
25 (pushnew :motif *features*)
26
27 (defparameter tk-internals-files
28 '("target:motif/lisp/initial"
29 "target:motif/lisp/internals"
30 "target:motif/lisp/transport"
31 "target:motif/lisp/events"
32 "target:motif/lisp/conversion"))
33
34 (defparameter tk-files
35 '("target:motif/lisp/interface-glue"
36 "target:motif/lisp/xt-types"
37 "target:motif/lisp/string-base"
38 "target:motif/lisp/prototypes"
39 "target:motif/lisp/interface-build"
40 "target:motif/lisp/callbacks"
41 "target:motif/lisp/widgets"
42 "target:motif/lisp/timer-support"
43 "target:motif/lisp/main"))
44
45 (defparameter interface-files
46 '("target:interface/initial"
47 "target:interface/interface"
48 "target:interface/inspect"
49 "target:interface/debug"
50 "target:interface/precom"))
51
52
53 ;;; Make sure we don't try to debug a possibly broken new version with the
54 ;;; windowing debugger.
55 ;;;
56 (unless (find-package "INTERFACE")
57 (make-package "INTERFACE"))
58 (eval `(defparameter ,(intern "*INTERFACE-STYLE*" "INTERFACE") :tty))
59
60 ;;; Load any existing toolkit files:
61 ;;;
62 #-motif
63 (dolist (f (append tk-internals-files tk-files))
64 (flet ((try (type) (probe-file (make-pathname :defaults f :type type))))
65 (let ((pn (or (try (c:backend-fasl-file-type c:*backend*))
66 (try (c:backend-byte-fasl-file-type c:*backend*)))))
67 (when pn (load pn)))))
68
69 (with-compiler-log-file
70 ("target:compile-motif.log")
71
72 (with-compilation-unit
73 (:optimize '(optimize (speed 3) (ext:inhibit-warnings 3)
74 #+small (safety 0)
75 #+small (debug .5)))
76
77 (dolist (f tk-internals-files)
78 (comf f :load t)))
79
80 (with-compilation-unit
81 (:optimize
82 '(optimize (debug #-small 2 #+small .5)
83 (speed 2) (inhibit-warnings 2)
84 (safety #-small 1 #+small 0))
85 :optimize-interface
86 '(optimize-interface (debug .5))
87 :context-declarations
88 '(((:and :external :global)
89 (declare (optimize-interface (safety 2) (debug 1))))
90 ((:and :external :macro)
91 (declare (optimize (safety 2))))
92 (:macro (declare (optimize (speed 0))))))
93
94 (dolist (f tk-files)
95 (comf f :load t))
96
97 (let ((btki (intern "BUILD-TOOLKIT-INTERFACE" "XT")))
98 (unless (fboundp btki)
99 (mapc #'load tk-internals-files)
100 (mapc #'load tk-files))
101
102 (funcall (fdefinition btki)))
103
104 (dolist (f interface-files)
105 (comf f :load t #+small :byte-compile #+small t))))
106
107 (apply #'cat-if-anything-changed
108 "target:interface/clm-library"
109 (remove "target:motif/lisp/interface-build"
110 (append tk-internals-files tk-files interface-files)
111 :test #'string=))

  ViewVC Help
Powered by ViewVC 1.1.5