r11156: fix trans extension for sbcl, fix index for mrrel
[umlisp.git] / umlisp.asd
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          umlisp.asd
6 ;;;; Purpose:       ASDF system definition file for UMLisp
7 ;;;; Author:        Kevin M. Rosenberg
8 ;;;; Date Started:  Apr 2000
9 ;;;;
10 ;;;; $Id$
11 ;;;;
12 ;;;; This file, part of UMLisp, is
13 ;;;;    Copyright (c) 2000-2006 by Kevin M. Rosenberg, M.D.
14 ;;;;
15 ;;;; UMLisp users are granted the rights to distribute and use this software
16 ;;;; as governed by the terms of the GNU General Public License.
17 ;;;; *************************************************************************
18
19 (defpackage #:umlisp-system (:use #:asdf #:cl))
20 (in-package #:umlisp-system)
21
22 ;; need to load uffi for below perform :after method
23 (eval-when (:compile-toplevel :load-toplevel :execute)
24   (unless (find-package 'uffi)
25     (asdf:operate 'asdf:load-op 'uffi)))
26
27 (defsystem umlisp
28     :components 
29   ((:file "package")
30    (:file "data-structures" :depends-on ("package"))
31    (:file "utils" :depends-on ("data-structures"))
32    (:file "sql" :depends-on ("utils"))
33    (:file "parse-macros"  :depends-on ("sql"))
34    (:file "parse-rrf"  :depends-on ("parse-macros"))
35    (:file "parse-common"  :depends-on ("parse-rrf"))
36    (:file "create-sql" :depends-on ("parse-common"))
37    (:file "sql-classes" :depends-on ("sql"))
38    (:file "classes" :depends-on ("sql-classes"))
39    (:file "class-support" :depends-on ("classes"))
40    (:file "composite" :depends-on ("sql-classes")))
41   :depends-on (clsql clsql-mysql kmrcl hyperobject))
42
43 (defmethod perform ((o test-op) (c (eql (find-system 'umlisp))))
44   (operate 'load-op 'umlisp-tests)
45   (operate 'test-op 'umlisp-tests :force t))
46
47 (defmethod perform :after ((o load-op) (c (eql (find-system 'umlisp))))
48   (let* ((init-var (uffi:getenv "UMLISPRC"))
49          (init-file (or (when init-var (probe-file init-var))
50                         (probe-file 
51                          (merge-pathnames
52                           (make-pathname :name ".umlisprc")
53                           (user-homedir-pathname)))
54                         #+(or mswin windows win32)
55                         (probe-file "c:\\etc\\umlisp-init.lisp"))))
56     (when init-file
57       (format t "loading umlisp init file ~A~%" init-file)
58       (load init-file))))
59