;;;; 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.5 2002/08/23 19:29:06 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)))
+ (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*)))))
-(in-package :asdf)
+(defconstant +uffi-logical-host+
+ #+common-lisp-controller "cl-library"
+ #-common-lisp-controller "uffi"
+ "Logical hostname for loading system")
(defclass uffi-cl-source-file (cl-source-file) ())
(defmethod source-file-type ((c uffi-cl-source-file) (s module))
"cl")
(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."
+
+ :default-component-class uffi-cl-source-file
+ :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")))
+ )