Build clfswm image in load.lisp. Let bind-on-slot on other child than current child
[clfswm.git] / load.lisp
blobca9d1d05bc0bf917916d4810cfbb696bcb24612f
1 ;;; --------------------------------------------------------------------------
2 ;;; CLFSWM - FullScreen Window Manager
3 ;;;
4 ;;; --------------------------------------------------------------------------
5 ;;; Documentation: System loading functions
6 ;;; --------------------------------------------------------------------------
7 ;;;
8 ;;; (C) 2005 Philippe Brochard <hocwp@free.fr>
9 ;;;
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.
14 ;;;
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.
19 ;;;
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.
23 ;;;
24 ;;; --------------------------------------------------------------------------
26 ;;;------------------
27 ;;; Customization part
28 ;;;------------------
29 (pushnew :clfswm-build *features*)
30 (pushnew :clfswm-dump *features*)
31 (pushnew :clfswm-start *features*)
32 (pushnew :clfswm-install *features*)
34 ;;;;;; Uncomment lines above to build the default documentation.
35 ;;(pushnew :clfswm-build-doc *features*)
37 ;;;;; Uncomment the line below if you want to see all ignored X errors
38 ;;(pushnew :xlib-debug *features*)
40 ;;;;; Uncomment the line below if you want to see all event debug messages
41 ;;(pushnew :event-debug *features*)
44 (defparameter *base-dir* (directory-namestring *load-truename*))
45 (export '*base-dir*)
48 #+:CMU
49 (setf ext:*gc-verbose* nil)
51 ;;;------------------
52 ;;; ASDF part
53 ;;;------------------
54 ;;;; Loading ASDF
55 #+(or :SBCL :ECL)
56 (require :asdf)
59 #-:ASDF
60 (load (make-pathname :host (pathname-host *base-dir*)
61 :device (pathname-device *base-dir*)
62 :directory (append (pathname-directory *base-dir*) (list "contrib"))
63 :name "asdf" :type "lisp"))
65 (push *base-dir* asdf:*central-registry*)
67 ;;(setf asdf:*verbose-out* t)
70 ;;;------------------
71 ;;; XLib part
72 ;;;------------------
73 #+(or :CMU :ECL)
74 (require :clx)
77 ;;; This part needs clisp >= 2.50
78 ;;#+(AND CLISP (not CLX))
79 ;;(when (fboundp 'require)
80 ;; (require "clx.lisp"))
82 ;;;------------------
83 ;;; CLFSWM loading
84 ;;;------------------
85 #+:clfswm-build
86 (asdf:oos 'asdf:load-op :clfswm)
89 ;;;-------------------------
90 ;;; Starting clfswm
91 ;;;-------------------------
92 (in-package :clfswm)
94 #+:clfswm-start
95 (ignore-errors
96 (main :read-conf-file-p #-:clfswm-build-doc t #+:clfswm-build-doc nil))
100 ;;;-------------------------
101 ;;; Building documentation
102 ;;;-------------------------
103 #+:clfswm-build-doc
104 (produce-all-docs)
106 ;;;-----------------------
107 ;;; Building image part
108 ;;;-----------------------
109 #+:clfswm-build
110 (build-lisp-image "clfswm")