;;;;
;;;; Name: uffi.asd
;;;; Purpose: ASDF system definition file for UFFI package
-;;;; Programmer: Kevin M. Rosenberg
+;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: uffi.asd,v 1.9 2002/09/06 11:01:53 kevin Exp $
+;;;; This file, part of UFFI, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
;;;;
-;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
-;;;;
-;;;; UFFI users are granted the rights to distribute and use this software
-;;;; as governed by the terms of the Lisp Lesser GNU Public License
-;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
;;;; *************************************************************************
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :asdf)
-
-;; For use with non-Common Lisp Controller installations
-#-common-lisp-controller
-(let ((path (make-pathname :name "set-logical" :type "cl"
- :defaults *load-truename*)))
- (when (probe-file path)
- (load path)
- (set-logical-host-for-pathname
- "uffi"
- (make-pathname :host (pathname-host *load-truename*)
- :device (pathname-device *load-truename*)
- :directory (pathname-directory *load-truename*)))))
-
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (defconstant +uffi-logical-host+
- #+common-lisp-controller "cl-library"
- #-common-lisp-controller "uffi"
- "Logical hostname for loading system"))
+(defpackage #:uffi-system (:use #:asdf #:cl))
+(in-package #:uffi-system)
+#+(or allegro lispworks cmu openmcl digitool cormanlisp sbcl scl)
(defsystem uffi
- :name "cl-uffi"
- :author "Kevin M. Rosenberg <kmr@debian.org"
- :version "0.6.1"
- :maintainer "Kevin M. Rosenberg <kmr@debian.org"
+ :name "uffi"
+ :author "Kevin Rosenberg <kevin@rosenberg.net>"
+ :version "1.7.2"
+ :maintainer "Kevin M. Rosenberg <kmr@debian.org>"
:licence "Lessor Lisp General Public License"
:description "Universal Foreign Function Library for Common Lisp"
:long-description "UFFI provides a universal foreign function interface (FFI) for Common Lisp. UFFI supports CMUCL, Lispworks, and AllegroCL."
-
- :pathname
- #-mcl #.(format nil "~A:uffi;" +uffi-logical-host+)
- #+mcl #.(format nil "~A:uffi;mcl;" +uffi-logical-host+)
- :perform (load-op :after (op uffi)
- (pushnew :uffi cl:*features*))
- :components
- ((:file "package")
- (:file "primitives" :depends-on ("package"))
- (:file "strings" :depends-on ("primitives"))
- (:file "objects" :depends-on ("primitives"))
- (:file "aggregates" :depends-on ("primitives"))
- (:file "functions" :depends-on ("primitives"))
- (:file "libraries" :depends-on ("package")))
- )
+ :components
+ ((:module :src
+ :components
+ ((:file "package")
+ (:file "i18n" :depends-on ("package"))
+ (:file "primitives" :depends-on ("i18n"))
+ #+(or openmcl digitool) (:file "readmacros-mcl" :depends-on ("package"))
+ (:file "objects" :depends-on ("primitives"))
+ (:file "aggregates" :depends-on ("primitives"))
+ (:file "strings" :depends-on ("primitives" "functions" "aggregates" "objects"
+ #+(or openmcl digitool) "readmacros-mcl"))
+ (:file "functions" :depends-on ("primitives"))
+ (:file "libraries" :depends-on ("package"))
+ (:file "os" :depends-on ("package"))))
+ ))
+
+#+(or allegro lispworks cmu openmcl digitool cormanlisp sbcl scl)
+(defmethod perform ((o test-op) (c (eql (find-system 'uffi))))
+ (oos 'load-op 'uffi-tests)
+ (oos 'test-op 'uffi-tests :force t))
-(defmethod source-file-type ((c cl-source-file) (s (eql (find-system 'uffi))))
- "cl")