r4870: *** empty log message ***
[umlisp.git] / umlisp.asd
index ee78240cff03987c173238e2ec07b5a052c62e76..2d81e582de48d8b919ab989feae2ac18def35d47 100644 (file)
@@ -4,10 +4,10 @@
 ;;;;
 ;;;; Name:          umlisp.asd
 ;;;; Purpose:       ASDF system definition file for UMLisp
-;;;; Programmer:    Kevin M. Rosenberg
+;;;; Author:        Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: umlisp.asd,v 1.6 2002/10/14 09:25:20 kevin Exp $
+;;;; $Id: umlisp.asd,v 1.17 2003/05/07 21:57:06 kevin Exp $
 ;;;;
 ;;;; This file, part of UMLisp, is
 ;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
 ;;;; as governed by the terms of the GNU General Public License.
 ;;;; *************************************************************************
 
-(in-package :asdf)
+(defpackage #:umlisp-system (:use #:asdf #:cl))
+(in-package #:umlisp-system)
 
-#+(or allegro lispworks cmu sbcl)
-(defsystem :umlisp
-  :perform (load-op :after (op umlisp)
-                   (pushnew :umlisp cl:*features*))
-  
+#+(or allegro lispworks cmu sbcl openmcl scl)
+(defsystem umlisp
     :components 
-     ((:file "package")
-      (:file "data-structures" :depends-on ("package"))
-      (:file "sql" :depends-on ("data-structures"))
-      (:file "utils" :depends-on ("data-structures"))
-      (:file "parse-macros"  :depends-on ("sql"))
-      (:file "parse-2002"  :depends-on ("parse-macros"))
-      (:file "parse-common"  :depends-on ("parse-2002"))
-      (:file "classes" :depends-on ("utils"))
-      (:file "sql-classes" :depends-on ("classes" "sql"))
-      (:file "composite" :depends-on ("sql-classes")))
-     :depends-on (:clsql-mysql
-                 :clsql-postgresql
-                 :clsql
-                 :kmrcl))
+  ((:file "package")
+   (:file "data-structures" :depends-on ("package"))
+   (:file "sql" :depends-on ("data-structures"))
+   (:file "utils" :depends-on ("data-structures"))
+   (:file "parse-macros"  :depends-on ("sql"))
+   (:file "parse-2002"  :depends-on ("parse-macros"))
+   (:file "parse-common"  :depends-on ("parse-2002"))
+   (:file "create-sql" :depends-on ("parse-common"))
+   (:file "classes" :depends-on ("utils"))
+   (:file "class-support" :depends-on ("classes"))
+   (:file "sql-classes" :depends-on ("class-support" "sql"))
+   (:file "composite" :depends-on ("sql-classes")))
+  :depends-on (:clsql :clsql-mysql :kmrcl :hyperobject))
 
-#+(or allegro lispworks cmu sbcl)
-(when (ignore-errors (find-class 'load-compiled-op))
-  (defmethod perform :after ((op load-compiled-op) (c (eql (find-system :umlisp))))
-    (pushnew :umlisp cl:*features*)))
+#+(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))
+
+#+(or allegro lispworks cmu sbcl openmcl scl)
+(defsystem umlisp-tests
+    :depends-on (rt umlisp)
+    :components ((:file "tests")))
+
+#+(or allegro lispworks cmu sbcl openmcl scl)
+(defmethod perform ((o test-op) (c (eql (find-system :umlisp-tests))))
+  (or (funcall (intern (symbol-name '#:do-tests) (find-package '#:rtest)))
+      (error "test-op failed")))