12483e078fda82f20b6b7fc8c08972e1049e48ee
[uffi.git] / uffi.system
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          uffi.system
6 ;;;; Purpose:       Defsystem-3/4 system definition file for UFFI package
7 ;;;; Programmer:    Kevin M. Rosenberg
8 ;;;; Date Started:  Feb 2002
9 ;;;;
10 ;;;; $Id: uffi.system,v 1.16 2002/08/23 15:29:06 kevin Exp $
11 ;;;;
12 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
13 ;;;;
14 ;;;; UFFI users are granted the rights to distribute and use this software
15 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
16 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
17 ;;;; *************************************************************************
18
19 (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
20 (in-package :make)
21
22 ;;; UFFI system definition (for Common Lisp Controller systems)
23
24 #+common-lisp-controller
25 (make:defsystem :uffi
26     :source-pathname #-mcl "cl-library:uffi;"
27                      #+mcl "cl-library:uffi;mcl;"
28     :source-extension "cl"
29     :components 
30     ((:file "package")
31      (:file "primitives" :depends-on ("package"))
32      (:file "strings" :depends-on ("primitives"))
33      (:file "objects" :depends-on ("primitives"))
34      (:file "aggregates" :depends-on ("primitives"))
35      (:file "functions" :depends-on ("primitives"))
36      (:file "libraries" :depends-on ("package")))
37     :finally-do
38     (pushnew :uffi cl:*features*))
39
40 ;; For use with non-Common Lisp Controller installations
41
42 #-common-lisp-controller
43 (let ((helper-pathname (make-pathname :name "set-cl-library" :type "cl"
44                                       :defaults *load-truename*)))
45   (when (probe-file helper-pathname)
46       (load helper-pathname)))
47
48 #-common-lisp-controller
49 (make:defsystem :uffi
50     :source-pathname #-mcl "cl-library:uffi;src;"
51                      #+mcl "cl-library:uffi;src;mcl;"
52     :source-extension "cl"
53     :components 
54     ((:file "package")
55      (:file "primitives" :depends-on ("package"))
56      (:file "strings" :depends-on ("primitives"))
57      (:file "objects" :depends-on ("primitives"))
58      (:file "aggregates" :depends-on ("primitives"))
59      (:file "functions" :depends-on ("primitives"))
60      (:file "libraries" :depends-on ("package")))
61     :finally-do
62     (pushnew :uffi cl:*features*))
63