1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
6 ;;;; Purpose: ASDF system definition file for UFFI package
7 ;;;; Programmer: Kevin M. Rosenberg
8 ;;;; Date Started: Aug 2002
10 ;;;; $Id: uffi.asd,v 1.4 2002/08/23 19:21:54 kevin Exp $
12 ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
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 ;;;; *************************************************************************
19 (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
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)
28 (set-logical-host-for-pathname
30 (make-pathname :host (pathname-host *load-truename*)
31 :device (pathname-device *load-truename*)
32 :directory (pathname-directory *load-truename*)))))
34 (defconstant +clsql-logical-host+
35 #+common-lisp-controller "cl-library"
36 #-common-lisp-controller "clsql"
37 "Logical hostname for loading system")
41 (defclass uffi-cl-source-file (cl-source-file) ())
42 (defmethod source-file-type ((c uffi-cl-source-file) (s module))
47 :author "Kevin M. Rosenberg <kmr@debian.org"
49 :maintainer "Kevin M. Rosenberg <kmr@debian.org"
50 :licence "Lessor Lisp General Public License"
51 :description "Universal Foreign Function Library for Common Lisp"
52 :long-description "UFFI provides a universal foreign function interface (FFI) for Common Lisp. UFFI supports CMUCL, Lispworks, and AllegroCL."
54 :default-component-class uffi-cl-source-file
56 #-mcl #.(format nil "~A:uffi;" cl-user:+clsql-logical-host+)
57 #+mcl #.(format nil "~A:uffi;mcl;" cl-user:+clsql-logical-host+)
58 :perform (load-op :after (op uffi)
59 (pushnew :uffi cl:*features*))
62 (:file "primitives" :depends-on ("package"))
63 (:file "strings" :depends-on ("primitives"))
64 (:file "objects" :depends-on ("primitives"))
65 (:file "aggregates" :depends-on ("primitives"))
66 (:file "functions" :depends-on ("primitives"))
67 (:file "libraries" :depends-on ("package")))