;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: uffi.asd,v 1.1 2002/08/18 00:51:54 kevin Exp $
+;;;; $Id: uffi.asd,v 1.9 2002/09/06 11:01:53 kevin Exp $
;;;;
;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;; *************************************************************************
(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :cl-user)
+(in-package :asdf)
-;; For use with non-Debian installations
-(let ((helper-pathname (make-pathname :name "set-cl-library" :type "cl"
+;; 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 helper-pathname)
- (load helper-pathname)))
-
-(in-package :asdf)
+ (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*)))))
-(defclass uffi-cl-source-file (cl-source-file) ())
-(defmethod source-file-type ((c uffi-cl-source-file) (s module))
- "cl")
+(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"))
(defsystem uffi
- :default-component-class uffi-cl-source-file
- :pathname #-mcl "cl-library:uffi;"
- #+mcl "cl-library:uffi;mcl;"
- :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")))
-)
+ :name "cl-uffi"
+ :author "Kevin M. Rosenberg <kmr@debian.org"
+ :version "0.6.1"
+ :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")))
+ )
+
+
+(defmethod source-file-type ((c cl-source-file) (s (eql (find-system 'uffi))))
+ "cl")