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

Contents of /src/tools/clmcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations)
Tue Aug 24 13:39:48 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.7: +73 -55 lines
Changed various compilation policies, including reducing safety and debug-info
under :small.  Also, byte-compile the INTERFACE: files.
Fixed stuff so that incrementally compiling in a core w/o the toolkit loaded
will possibly work (we load the toolkit if not loaded before compiling.)
1 wlott 1.2 ;;; -*- 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 ram 1.8 "$Header: /tiger/var/lib/cvsroots/cmucl/src/tools/clmcom.lisp,v 1.8 1993/08/24 13:39:48 ram Exp $")
11 wlott 1.2 ;;;
12     ;;; **********************************************************************
13     ;;;
14 garland 1.1 ;;; File for compiling the Motif toolkit and related interface
15     ;;; stuff.
16     ;;;
17     (in-package "USER")
18 ram 1.5
19 ram 1.7
20     ;;; If CLX and PCL have not been loaded, then load them.
21 ram 1.5 ;;;
22 ram 1.7 #-clx(load "target:clx/clx-library")
23     #-pcl(load "target:pcl/pclload")
24 garland 1.1
25 ram 1.7 (pushnew :motif *features*)
26 garland 1.1
27 ram 1.8 (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 garland 1.1
34 ram 1.8 (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/main"))
43 garland 1.1
44 ram 1.8 (defparameter interface-files
45     '("target:interface/initial"
46     "target:interface/interface"
47     "target:interface/inspect"
48     "target:interface/debug"))
49 garland 1.1
50    
51 ram 1.8 ;;; Make sure we don't try to debug a possibly broken new version with the
52     ;;; windowing debugger.
53     ;;;
54     (unless (find-package "INTERFACE")
55     (make-package "INTERFACE"))
56     (eval `(defparameter ,(intern "*INTERFACE-STYLE*" "INTERFACE") :tty))
57 garland 1.1
58 ram 1.8 ;;; Load any existing toolkit files:
59     ;;;
60     #-motif
61     (dolist (f (append tk-internals-files tk-files))
62     (flet ((try (type) (probe-file (make-pathname :defaults f :type type))))
63     (let ((pn (or (try (c:backend-fasl-file-type c:*backend*))
64     (try (c:backend-byte-fasl-file-type c:*backend*)))))
65     (when pn (load pn)))))
66    
67 wlott 1.2 (with-compiler-log-file
68 ram 1.8 ("target:compile-motif.log"
69     :optimize '(optimize (speed 3) (ext:inhibit-warnings 3)
70     #+small (safety 0)
71     #+small (debug-info .5)))
72    
73     (dolist (f tk-internals-files)
74     (comf f :load t)))
75 garland 1.3
76     (with-compiler-log-file
77 ram 1.8 ("target:compile-motif.log"
78     :optimize
79     '(optimize (debug #-small 2 #+small .5)
80     (speed 2) (inhibit-warnings 2)
81     (safety #-small 1 #+small 0))
82     :optimize-interface
83     '(optimize-interface (debug .5))
84     :context-declarations
85     '(((:and :external :global)
86     (declare (optimize-interface (safety 2) (debug 1))))
87     ((:and :external :macro)
88     (declare (optimize (safety 2))))
89     (:macro (declare (optimize (speed 0))))))
90 garland 1.3
91 ram 1.8 (dolist (f tk-files)
92     (comf f :load t))
93 ram 1.6
94 ram 1.8 (unless (fboundp 'xt::build-toolkit-interface)
95     (mapc #'load tk-internals-files)
96     (mapc #'load tk-files)
97     (xt::build-toolkit-interface))
98    
99     (with-compilation-unit (:optimize '(optimize #+small (speed 0)
100     #+small (debug .5)))
101     (dolist (f interface-files)
102     (comf f :load t))))
103    
104     (apply #'cat-if-anything-changed
105     "target:interface/clm-library"
106     (remove "target:motif/lisp/interface-build"
107     (append tk-internals-files tk-files interface-files)
108     :test #'string=))

  ViewVC Help
Powered by ViewVC 1.1.5