forked from sharplispers/clx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
provide.lisp
51 lines (41 loc) · 1.45 KB
/
provide.lisp
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
;;; -*- Mode: LISP; Syntax: Common-lisp; Base: 10; Lowercase: Yes; Package: USER; -*-
;;;; Module definition for CLX
;;; This file is a Common Lisp Module description, but you will have to edit
;;; it to meet the needs of your site.
;;; Ideally, this file (or a file that loads this file) should be
;;; located in the system directory that REQUIRE searches. Thus a user
;;; would say
;;; (require :clx)
;;; to load CLX. If there is no such registry, then the user must
;;; put in a site specific
;;; (require :clx <pathname-of-this-file>)
;;;
(in-package :common-lisp-user)
(provide :clx)
(defvar *clx-source-pathname*
(pathname "/src/local/clx/*.l"))
(defvar *clx-binary-pathname*
(let ((lisp
(or #+lucid "lucid"
#+akcl "akcl"
#+kcl "kcl"
#+ibcl "ibcl"
(error "Can't provide CLX for this lisp.")))
(architecture
(or #+(or sun3 (and sun (or mc68000 mc68020))) "sun3"
#+(or sun4 sparc) "sparc"
#+(and hp (or mc68000 mc68020)) "hp9000s300"
#+vax "vax"
#+prime "prime"
#+sunrise "sunrise"
#+ibm-rt-pc "ibm-rt-pc"
#+mips "mips"
#+prism "prism"
(error "Can't provide CLX for this architecture."))))
(pathname (format nil "/src/local/clx/~A.~A/" lisp architecture))))
(defvar *compile-clx*
nil)
(load (merge-pathnames "defsystem" *clx-source-pathname*))
(if *compile-clx*
(compile-clx *clx-source-pathname* *clx-binary-pathname*)
(load-clx *clx-binary-pathname*))