r2605: *** empty log message ***
[uffi.git] / uffi.system
index 312f9befeed19dce7a6ad4c42f22640e37bd48b8..df0cd1e4f31cbc568d99d6d3110ec02912063155 100644 (file)
@@ -1,4 +1,4 @@
-;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
@@ -7,75 +7,40 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; Copyright (c) 2002 Kevin M. Rosenberg
+;;;; $Id: uffi.system,v 1.19 2002/08/23 19:46:16 kevin Exp $
 ;;;;
-;;;; $Id: uffi.system,v 1.3 2002/03/10 21:48:50 kevin Exp $
+;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
-;;;; This file is part of UFFI. 
-;;;;
-;;;; UFFI is free software; you can redistribute it and/or modify
-;;;; it under the terms of the GNU General Public License (version 2) as
-;;;; published by the Free Software Foundation.
-;;;;
-;;;; UFFI is distributed in the hope that it will be useful,
-;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;;; GNU General Public License for more details.
-;;;;
-;;;; You should have received a copy of the GNU General Public License
-;;;; along with UFFI; if not, write to the Free Software Foundation, Inc.,
-;;;; 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+;;;; 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 :cl-user)
-
-;;; Setup logical pathname translaton with separate binary directories
-;;; for each implementation
-
-;; push allegro case sensitivity on *features*
-#+allegro
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (if (or (eq excl:*current-case-mode* :case-sensitive-lower)
-         (eq excl:*current-case-mode* :case-sensitive-upper))
-      (pushnew :case-sensitive cl:*features*)
-    (pushnew :case-insensitive cl:*features*)))
-
-(defconstant +uffi-compiler-name+
-    #+(and allegro ics case-sensitive) "acl-modern"
-    #+(and allegro (not ics) case-sensitive) "acl-modern8"
-    #+(and allegro ics (not case-sensitive)) "acl-ansi"
-    #+(and allegro (not ics) (not case-sensitive)) "acl-ansi8"
-    #+lispworks "lispworks"
-    #+clisp "clisp"
-    #+cmu "cmucl"
-    #+sbcl "sbcl"
-    #+corman "corman"
-    #+mcl "mcl"
-    #-(or allegro lispworks clisp cmu sbcl corman mcl) "unknown")
-
-(setf (logical-pathname-translations "UFFI")
-  `(("**;bin;*.*.*" ,(merge-pathnames
-                     (make-pathname 
-                      :name :wild
-                      :type :wild
-                      :directory 
-                      (append '(:relative :wild-inferiors
-                                ".bin" #.+uffi-compiler-name+)))
-                     *load-truename*))
-    ("**;*.*.*" ,(merge-pathnames
-                 (make-pathname
-                  :name :wild
-                  :type :wild
-                  :directory '(:relative :wild-inferiors))
-                 *load-truename*))))
-
-;;; UFFI system definition
-
-(mk:defsystem :uffi
-    :source-pathname "UFFI:src;"
+(in-package :make)
+
+;; 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*)))))
+
+(defconstant +uffi-logical-host+
+  #+common-lisp-controller "cl-library"
+  #-common-lisp-controller "uffi"
+  "Logical hostname for loading system")
+
+(make:defsystem :uffi
+    :source-pathname 
+    #-mcl #.(format nil "~A:uffi;" +uffi-logical-host+)
+    #+mcl  #.(format nil "~A:uffi;mcl;" +uffi-logical-host+)
     :source-extension "cl"
-    :binary-pathname "UFFI:src;bin;"
     :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*))