-
Notifications
You must be signed in to change notification settings - Fork 1
/
makeclx.cl
29 lines (27 loc) · 1.01 KB
/
makeclx.cl
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
(in-package :user)
(pushnew :clx-ansi-common-lisp *features*)
(load "defsystem")
(load "package")
(setq xlib::*def-clx-class-use-defclass* t)
(let ((*compile-verbose* t)
(*compile-print* nil))
(compile-system :clx)
(compile-system :clx-debug))
;; how to concatenate the fasls?
(let ((fasls '("package" "excldep" "depdefs" "clx" "dependent"
"exclcmac" "buffer" "display" "gcontext"
"requests" "input" "fonts" "graphics" "text"
"attributes" "translate" "keysyms" "manager"
"image" "resource")))
(with-open-file (bigfasl "clxwin.fasl"
:element-type '(unsigned-byte 8)
:direction :output
:if-exists :error :if-does-not-exist :create)
(let ((buf (make-array 2048 :element-type '(unsigned-byte 8))))
(dolist (file-to-cat fasls)
(let ((faslname (concatenate 'string file-to-cat ".fasl")))
(with-open-file (in faslname :element-type '(unsigned-byte 8))
(loop as x = (read-sequence buf in)
until (= x 0)
do (write-sequence buf bigfasl :end x))))))
bigfasl))