r2842: *** empty log message ***
[uffi.git] / uffi.asd
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          uffi.asd
6 ;;;; Purpose:       ASDF system definition file for UFFI package
7 ;;;; Programmer:    Kevin M. Rosenberg
8 ;;;; Date Started:  Aug 2002
9 ;;;;
10 ;;;; $Id: uffi.asd,v 1.15 2002/09/25 12:44:59 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 :asdf)
21
22 #+(or allegro lispworks cmu openmcl mcl)
23 (defsystem uffi
24   :name "cl-uffi"
25   :author "Kevin M. Rosenberg <kmr@debian.org>"
26   :version "0.7.2"
27   :maintainer "Kevin M. Rosenberg <kmr@debian.org>"
28   :licence "Lessor Lisp General Public License"
29   :description "Universal Foreign Function Library for Common Lisp"
30   :long-description "UFFI provides a universal foreign function interface (FFI) for Common Lisp. UFFI supports CMUCL, Lispworks, and AllegroCL."
31   
32   :perform (load-op :after (op uffi)
33     (pushnew :uffi cl:*features*))
34
35   :components
36   (
37    #+(or cmu sbcl allegro lispworks)
38      (:module :src-main
39               :components
40               ((:file "package")
41                (:file "primitives" :depends-on ("package"))
42                (:file "strings" :depends-on ("primitives"))
43                (:file "objects" :depends-on ("primitives"))
44                (:file "aggregates" :depends-on ("primitives"))
45                (:file "functions" :depends-on ("primitives"))
46                (:file "libraries" :depends-on ("package"))))
47      #+mcl
48      (:module :src-mcl
49               :components
50               ((:file "package")
51                (:file "primitives" :depends-on ("package"))
52                (:file "strings" :depends-on ("primitives"))
53                (:file "objects" :depends-on ("primitives"))
54                (:file "aggregates" :depends-on ("primitives"))
55                (:file "functions" :depends-on ("primitives"))
56                (:file "libraries" :depends-on ("package"))))
57      #+cormanlisp
58      (:module :src-corman
59               :components
60               ((:file "uffi-corman")))
61      ))
62
63
64 #+(or allegro lispworks cmu openmcl mcl)
65 (defmethod source-file-type ((c cl-source-file) (s (eql (find-system :uffi)))) 
66    "cl")
67
68 #+(or allegro lispworks cmu openmcl mcl)
69 (when (ignore-errors (find-class 'load-compiled-op))
70   (defmethod perform :after ((op load-compiled-op) (c (eql (find-system :uffi))))
71     (pushnew :uffi cl:*features*)))