File: sysdef.lisp

package info (click to toggle)
gcl 2.6.7%2Bdfsga-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 84,796 kB
  • sloc: ansic: 452,686; lisp: 156,133; asm: 111,405; sh: 29,299; cpp: 18,599; perl: 5,602; makefile: 5,201; tcl: 3,181; sed: 469; yacc: 378; lex: 174; fortran: 48; awk: 30; csh: 23
file content (75 lines) | stat: -rw-r--r-- 2,212 bytes parent folder | download | duplicates (9)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
; Copyright (c) 1994 William F. Schelter

; See the files gnu.license and dec.copyright .

; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 1, or (at your option)
; any later version.

; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

; Some of the files that interface to the Xlib are adapted from DEC/MIT files.
; See the file dec.copyright for details.

(make-package :XLIB)
(in-package :XLIB)
(sys::use-package '(:lisp :system :sys))

(defvar *files* '( "gcl_Xlib"
      "gcl_Xutil"
      "gcl_X"
      "gcl_XAtom"
      "gcl_defentry_events"
      "gcl_Xstruct"
      "gcl_XStruct_l_3"
      "gcl_general"
      "gcl_keysymdef"
      "gcl_X10"
      "gcl_Xinit"
      "gcl_dwtrans"
      "gcl_tohtml"
      "gcl_index"
;      "gcl_sysinit"
      ))


(defun compile-xgcl()
  (mapc (lambda (x) 
	  (let ((x (concatenate 'string compiler::*cc* " -I../h " (namestring x))))
	    (unless (zerop (system x))
	      (error "compile failure: ~s~%" x))))
	(directory "*.c"))
  (mapc (lambda (x)
	  (compile-file (format nil "~a.lsp" x) :system-p t)) *files*))


(defun load-xgcl()
  (mapcar (lambda (x) (load (format nil "~a.o" x))) *files*))

(defun load-xgcl-interp()
  (mapcar (lambda (x) (load (format nil "~a.lsp" x))) *files*))

(defun save-xgcl (pn)
  (let* ((x (mapcar (lambda (x) (probe-file (concatenate 'string x ".o"))) *files*))
	 (y (directory "*.o"))
	 (z (set-difference y x :test 'equal)))
    (compiler::link x (namestring pn) (format nil "(load ~s)(mapc 'load '~s)" "sysdef.lisp" x) 
		    (reduce (lambda (&rest xy) (when xy (concatenate 'string (namestring (car xy)) " " (cadr xy)))) z
			    :initial-value " -lXmu -lXt -lXext -lXaw -lX11" :from-end t) nil)))