X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=uffi.asd;h=58d028981bb8bf34f11675146d69df28d62a186c;hb=7523905053e1fd44e5cbef67332a3fb00d35e848;hp=71d1c68957407a8d4daa79e986154edc9b1b2bf3;hpb=50ddc38a182350b9b832ed0616b82dad6c316ab0;p=uffi.git diff --git a/uffi.asd b/uffi.asd index 71d1c68..58d0289 100644 --- a/uffi.asd +++ b/uffi.asd @@ -7,7 +7,7 @@ ;;;; 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.14 2002/09/20 05:38:01 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -17,33 +17,52 @@ ;;;; ************************************************************************* (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" - :defaults *load-truename*))) - (when (probe-file helper-pathname) - (load helper-pathname))) +(defsystem uffi + :name "cl-uffi" + :author "Kevin M. Rosenberg " + :version "0.7.2" + :maintainer "Kevin M. Rosenberg " + :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." + + :perform (load-op :after (op uffi) + (pushnew :uffi cl:*features*)) -(in-package :asdf) + :components + ( + #+(or cmu sbcl allegro lispworks) + (:module :src-main + :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")))) + #+mcl + (:module :src-mcl + :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")))) + #+cormanlisp + (:module :src-corman + :components + ((:file "uffi-corman"))) + )) -(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"))) -) +(defmethod source-file-type ((c cl-source-file) (s (eql (find-system :uffi)))) + "cl") +(when (ignore-errors (find-class 'load-compiled-op)) + (defmethod perform :after ((op load-compiled-op) (c (eql (find-system :uffi)))) + (pushnew :uffi cl:*features*)))