X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=uffi.system;h=5ccaba482bfdad0eea7e62040279ac3be9f82d76;hb=8bc3c5c67e678d004331fa393f13171949c2b74c;hp=312f9befeed19dce7a6ad4c42f22640e37bd48b8;hpb=c7b9e795a73b25b3c81ecb1c8c69b8f0f944a064;p=uffi.git diff --git a/uffi.system b/uffi.system index 312f9be..5ccaba4 100644 --- a/uffi.system +++ b/uffi.system @@ -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,41 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; Copyright (c) 2002 Kevin M. Rosenberg +;;;; $Id: uffi.system,v 1.14 2002/04/09 20:06:18 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*)))) +(load (make-pathname :name "set-logical" :type "cl" + :defaults *load-truename*)) + +(set-logical-host-for-pathname "UFFI" *load-truename*) +(set-logical-host-for-pathname "UFFI-SRC" + (merge-pathnames + (make-pathname + :directory + #+(or cmu allegro lispworks) + '(:relative "src") + #+mcl + '(:relative "src" "mcl") + #+cormanlisp + '(:relative "src" "corman") + ) + *load-truename*)) ;;; UFFI system definition (mk:defsystem :uffi - :source-pathname "UFFI:src;" + :source-pathname "UFFI-SRC:" :source-extension "cl" - :binary-pathname "UFFI:src;bin;" + :binary-pathname "UFFI-SRC:bin;" :components ((:file "package") (:file "primitives" :depends-on ("package")) @@ -83,11 +49,7 @@ (: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*))