r11156: fix trans extension for sbcl, fix index for mrrel
[umlisp.git] / umlisp.asd
index ff601c4dedbf35af7757b58b4f10fba0e17a4be9..44aa906dffbc12ad96fe5e3370f4aafe496aa289 100644 (file)
@@ -7,10 +7,10 @@
 ;;;; Author:        Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: umlisp.asd,v 1.19 2003/05/08 01:28:30 kevin Exp $
+;;;; $Id$
 ;;;;
 ;;;; This file, part of UMLisp, is
-;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;;    Copyright (c) 2000-2006 by Kevin M. Rosenberg, M.D.
 ;;;;
 ;;;; UMLisp users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the GNU General Public License.
 (defpackage #:umlisp-system (:use #:asdf #:cl))
 (in-package #:umlisp-system)
 
-#+(or allegro lispworks cmu sbcl openmcl scl)
+;; need to load uffi for below perform :after method
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (unless (find-package 'uffi)
+    (asdf:operate 'asdf:load-op 'uffi)))
+
 (defsystem umlisp
     :components 
   ((:file "package")
    (:file "utils" :depends-on ("data-structures"))
    (:file "sql" :depends-on ("utils"))
    (:file "parse-macros"  :depends-on ("sql"))
-   (:file "parse-2002"  :depends-on ("parse-macros"))
-   (:file "parse-common"  :depends-on ("parse-2002"))
+   (:file "parse-rrf"  :depends-on ("parse-macros"))
+   (:file "parse-common"  :depends-on ("parse-rrf"))
    (:file "create-sql" :depends-on ("parse-common"))
    (:file "sql-classes" :depends-on ("sql"))
    (:file "classes" :depends-on ("sql-classes"))
    (:file "class-support" :depends-on ("classes"))
    (:file "composite" :depends-on ("sql-classes")))
-  :depends-on (:clsql :clsql-mysql :kmrcl :hyperobject))
+  :depends-on (clsql clsql-mysql kmrcl hyperobject))
+
+(defmethod perform ((o test-op) (c (eql (find-system 'umlisp))))
+  (operate 'load-op 'umlisp-tests)
+  (operate 'test-op 'umlisp-tests :force t))
+
+(defmethod perform :after ((o load-op) (c (eql (find-system 'umlisp))))
+  (let* ((init-var (uffi:getenv "UMLISPRC"))
+         (init-file (or (when init-var (probe-file init-var))
+                        (probe-file 
+                         (merge-pathnames
+                          (make-pathname :name ".umlisprc")
+                          (user-homedir-pathname)))
+                        #+(or mswin windows win32)
+                        (probe-file "c:\\etc\\umlisp-init.lisp"))))
+    (when init-file
+      (format t "loading umlisp init file ~A~%" init-file)
+      (load init-file))))
 
-#+(or allegro lispworks cmu sbcl openmcl scl)
-(defmethod perform ((o test-op) (c (eql (find-system :umlisp))))
-  (oos 'load-op 'umlisp-tests)
-  (oos 'test-op 'umlisp-tests))