r2573: Auto commit for Debian build
[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.9 2002/09/06 11:01:53 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 ;; For use with non-Common Lisp Controller installations
23 #-common-lisp-controller
24 (let ((path (make-pathname :name "set-logical" :type "cl"
25                                       :defaults *load-truename*)))
26   (when (probe-file path)
27     (load path)
28     (set-logical-host-for-pathname 
29      "uffi" 
30      (make-pathname :host (pathname-host *load-truename*)
31                     :device (pathname-device *load-truename*)
32                     :directory (pathname-directory *load-truename*)))))
33
34 (eval-when (:compile-toplevel :load-toplevel :execute)
35   (defconstant +uffi-logical-host+
36     #+common-lisp-controller "cl-library"
37     #-common-lisp-controller "uffi"
38     "Logical hostname for loading system"))
39
40 (defsystem uffi
41   :name "cl-uffi"
42   :author "Kevin M. Rosenberg <kmr@debian.org"
43   :version "0.6.1"
44   :maintainer "Kevin M. Rosenberg <kmr@debian.org"
45   :licence "Lessor Lisp General Public License"
46   :description "Universal Foreign Function Library for Common Lisp"
47   :long-description "UFFI provides a universal foreign function interface (FFI) for Common Lisp. UFFI supports CMUCL, Lispworks, and AllegroCL."
48   
49   :pathname 
50   #-mcl #.(format nil "~A:uffi;" +uffi-logical-host+)
51   #+mcl #.(format nil "~A:uffi;mcl;" +uffi-logical-host+)
52   :perform (load-op :after (op uffi)
53                     (pushnew :uffi cl:*features*))
54   :components 
55   ((:file "package")
56    (:file "primitives" :depends-on ("package"))
57    (:file "strings" :depends-on ("primitives"))
58    (:file "objects" :depends-on ("primitives"))
59    (:file "aggregates" :depends-on ("primitives"))
60    (:file "functions" :depends-on ("primitives"))
61    (:file "libraries" :depends-on ("package")))
62   )
63
64
65 (defmethod source-file-type  ((c cl-source-file) (s (eql (find-system 'uffi)))) 
66    "cl")
67