1 ;;; --------------------------------------------------------------------------
2 ;;; CLFSWM - FullScreen Window Manager
4 ;;; --------------------------------------------------------------------------
5 ;;; Documentation: System loading functions
6 ;;; --------------------------------------------------------------------------
8 ;;; (C) 2005 Philippe Brochard <hocwp@free.fr>
10 ;;; This program is free software; you can redistribute it and/or modify
11 ;;; it under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or
13 ;;; (at your option) any later version.
15 ;;; This program is distributed in the hope that it will be useful,
16 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with this program; if not, write to the Free Software
22 ;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 ;;; --------------------------------------------------------------------------
26 ;;; Edit this file (or its copy) and load it with your lisp implementation.
27 ;;; If you want, it can download ASDF and CLX for you. You'll need wget and
30 ;;; Here are command line reference:
32 ;;; clisp -E iso-8859-1 load.lisp
33 ;;; sbcl --load load.lisp
34 ;;; cmucl -load load.lisp
36 ;;; ecl -load load.lisp
38 ;;; --------------------------------------------------------------------------
41 ;;; Customization part
43 (defparameter *interactive
* t
)
45 ;;; Comment or uncomment the lines above to fit your needs.
46 (pushnew :clfswm-compile
*features
*)
47 ;;(pushnew :clfswm-run *features*)
48 (pushnew :clfswm-build-image
*features
*)
49 ;;(pushnew :clfswm-install *features*)
50 ;;(pushnew :clfswm-build-doc *features*)
52 (defparameter *binary-name
* "clfswm")
54 ;;;;; Uncomment the line below if you want to see all ignored X errors
55 ;;(pushnew :xlib-debug *features*)
57 ;;;;; Uncomment the line below if you want to see all event debug messages
58 ;;(pushnew :event-debug *features*)
62 #+:CMU
(setf ext
:*gc-verbose
* nil
)
67 (load (compile-file "src/tools.lisp"))
69 (defun load-info (formatter &rest args
)
70 (format t
"~& ==> ~A~%" (apply #'format nil formatter args
))
73 (defun interactive-ask (formatter &rest args
)
75 (y-or-n-p (apply #'format nil formatter args
))))
88 (load-info "Requiring ASDF")
90 #+(or :SBCL
:CMUCL
:CCL
:ECL
)
94 (when (probe-file "asdf.lisp")
98 (let ((asdf-url "http://common-lisp.net/project/asdf/asdf.lisp"))
99 (when (interactive-ask "ASDF not found. Do you want to download it from ~A ?" asdf-url
)
100 (tools:do-shell-output
"wget ~A" asdf-url
)
103 (format t
"ASDF version: ~A~%" (asdf:asdf-version
))
105 ;;;------------------
107 ;;;------------------
108 (load-info "Requiring CLX")
110 ;;; Loading clisp dynamic module. This part needs clisp >= 2.50
111 ;;#+(AND CLISP (not CLX))
112 ;;(when (fboundp 'require)
113 ;; (require "clx.lisp"))
116 (when (probe-file "clx/clx.asd")
118 (asdf:oos
'asdf
:load-op
:clx
)))
122 (let ((clx-url "git://github.com/sharplispers/clx.git"))
123 (when (interactive-ask "CLX not found. Do you want to download it from ~A ?" clx-url
)
124 (unless (probe-file "clx/clx.asd")
125 (tools:do-shell-output
"git clone ~A" clx-url
))
127 (asdf:oos
'asdf
:load-op
:clx
))))
129 ;;;------------------
131 ;;;------------------
134 (load-info "Compiling CLFSWM")
135 (asdf:oos
'asdf
:load-op
:clfswm
))
138 ;;;-------------------------
140 ;;;-------------------------
141 #+(or :clfswm-run
:clfswm-build-doc
:clfswm-build-image
)
146 (cl-user::load-info
"Running CLFSWM")
148 (main :read-conf-file-p t
)))
151 ;;;-------------------------
152 ;;; Building documentation
153 ;;;-------------------------
156 (cl-user::load-info
"Building documentation")
159 ;;;-----------------------
160 ;;; Building image part
161 ;;;-----------------------
162 #+:clfswm-build-image
164 (cl-user::load-info
"Building CLFSWM executable image")
165 (build-lisp-image "clfswm"))