X-Git-Url: http://git.kpe.io/?p=umlisp.git;a=blobdiff_plain;f=umlisp.asd;h=44aa906dffbc12ad96fe5e3370f4aafe496aa289;hp=86d6b2c4ff40ad3b7ee0e4806b4b12d3930df9a6;hb=f4ea91e2cf0eb22db02498e54d1f75ef5dcd4239;hpb=c1293bd68aa6ab9ef67bb486b2edda24aea98fee diff --git a/umlisp.asd b/umlisp.asd index 86d6b2c..44aa906 100644 --- a/umlisp.asd +++ b/umlisp.asd @@ -4,43 +4,56 @@ ;;;; ;;;; 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.8 2002/10/18 03:57:39 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. ;;;; ************************************************************************* -(in-package :asdf) +(defpackage #:umlisp-system (:use #:asdf #:cl)) +(in-package #:umlisp-system) -#+(or allegro lispworks cmu sbcl openmcl) -(defsystem :umlisp - :perform (load-op :after (op umlisp) - (pushnew :umlisp cl:*features*)) - +;; 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 "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 "sql-create" :depends-on ("parse-common")) - (: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 "utils" :depends-on ("data-structures")) + (:file "sql" :depends-on ("utils")) + (:file "parse-macros" :depends-on ("sql")) + (: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)) + +(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) -(when (ignore-errors (find-class 'load-compiled-op)) - (defmethod perform :after ((op load-compiled-op) (c (eql (find-system :umlisp)))) - (pushnew :umlisp cl:*features*)))