;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: uffi.system,v 1.10 2002/04/03 00:31:32 kevin Exp $
+;;;; $Id: uffi.system,v 1.16 2002/08/23 15: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 :make)
-(load (make-pathname :name "set-logical" :type "cl"
- :defaults *load-truename*))
+;;; UFFI system definition (for Common Lisp Controller systems)
-(set-logical-host-for-pathname "UFFI" *load-truename*)
-
-(defconstant +uffi-src-dir+
- (format nil "UFFI:src;~A;"
- #+allegro "allegro"
- #+lispworks "lispworks"
- #+cmu "cmucl"
- #+mcl "mcl"
- #+clisp "clisp"
- #+corman "corman")
- "Logical pathname for source")
-
-(defconstant +uffi-bin-dir+ (concatenate 'string +uffi-src-dir+ "bin;")
- "Logical pathname for binaries")
-
-;;; UFFI system definition
-
-#+(or cmu allegro lispworks)
-(mk:defsystem :uffi
- :source-pathname "UFFI:src;"
+#+common-lisp-controller
+(make:defsystem :uffi
+ :source-pathname #-mcl "cl-library:uffi;"
+ #+mcl "cl-library:uffi;mcl;"
:source-extension "cl"
- :binary-pathname "UFFI:src;bin;"
:components
((:file "package")
(:file "primitives" :depends-on ("package"))
:finally-do
(pushnew :uffi cl:*features*))
-#-(or cmu allegro lispworks)
-(mk:defsystem :uffi
- :source-pathname #.+uffi-src-dir+
+;; For use with non-Common Lisp Controller installations
+
+#-common-lisp-controller
+(let ((helper-pathname (make-pathname :name "set-cl-library" :type "cl"
+ :defaults *load-truename*)))
+ (when (probe-file helper-pathname)
+ (load helper-pathname)))
+
+#-common-lisp-controller
+(make:defsystem :uffi
+ :source-pathname #-mcl "cl-library:uffi;src;"
+ #+mcl "cl-library:uffi;src;mcl;"
:source-extension "cl"
- :binary-pathname #.+uffi-bin-dir+
:components
((:file "package")
(:file "primitives" :depends-on ("package"))
(:file "objects" :depends-on ("primitives"))
(:file "aggregates" :depends-on ("primitives"))
(:file "functions" :depends-on ("primitives"))
- (:file "libraries" :depends-on ("package"))))
-
-
-
-
-
-
+ (:file "libraries" :depends-on ("package")))
+ :finally-do
+ (pushnew :uffi cl:*features*))