X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql.asd;h=2e7efe9659f29145707c95e228405ff79fedfe89;hp=3d29edca90114eba89dc12540f5315e115d0928d;hb=2961f4f122593e9d4875e88e6af159de28c8dd47;hpb=1776004eedb08c52fe909be73a9d34900808e172 diff --git a/clsql.asd b/clsql.asd index 3d29edc..2e7efe9 100644 --- a/clsql.asd +++ b/clsql.asd @@ -2,49 +2,84 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: clsql.system -;;;; Purpose: Defsystem-3/4 for CLSQL -;;;; Programmer: Kevin M. Rosenberg -;;;; Date Started: Feb 2002 +;;;; Name: clsql.asd +;;;; Purpose: System definition for CLSQL-CLASSIC +;;;; Authors: Marcus Pearce and Kevin M. Rosenberg +;;;; Created: March 2004 ;;;; -;;;; $Id: clsql.asd,v 1.1 2002/08/18 02:57:50 kevin Exp $ -;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; $Id$ ;;;; ;;;; CLSQL 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 :make) - -;; For use with non-Debian installations -(let ((helper-pathname (make-pathname :name "set-cl-library" :type "cl" - :defaults *load-truename*))) - (when (probe-file helper-pathname) - (load helper-pathname))) - -(in-package :asdf) +(in-package #:cl-user) +(defpackage #:clsql-system (:use #:asdf #:cl)) +(in-package #:clsql-system) -;;; System definitions +(defsystem clsql + :name "CLSQL" + :author "Kevin Rosenberg " + :maintainer "Kevin M. Rosenberg " + :licence "Lessor Lisp General Public License" + :description "Common Lisp SQL Interface library" + :long-description "A Common Lisp interface to SQL RDBMS based on +the Xanalys CommonSQL interface for Lispworks. It depends on the +low-level database interfaces as well as a functional and an object +oriented interface." + :components + ((:module sql + :components + ((:module base + :pathname "" + :components + ((:file "cmucl-compat") + (:file "package") + (:file "kmr-mop" :depends-on ("package")) + (:file "base-classes" :depends-on ("package")) + (:file "conditions" :depends-on ("base-classes")) + (:file "db-interface" :depends-on ("conditions")) + (:file "time" :depends-on ("package" "conditions")) + (:file "utils" :depends-on ("package" "db-interface")) + (:file "generics" :depends-on ("package")))) + (:module database + :pathname "" + :components + ((:file "initialize") + (:file "database" :depends-on ("initialize")) + (:file "recording" :depends-on ("database")) + (:file "pool")) + :depends-on (base)) + (:module syntax + :pathname "" + :components ((:file "expressions") + (:file "operations" + :depends-on ("expressions")) + (:file "syntax" :depends-on ("operations"))) + :depends-on (database)) + (:module functional + :pathname "" + :components ((:file "fdml") + (:file "transaction" :depends-on ("fdml")) + (:file "loop-extension" + :depends-on ("fdml")) + (:file "fddl" :depends-on ("fdml"))) + :depends-on (syntax)) + (:module object + :pathname "" + :components ((:file "metaclasses") + (:file "ooddl" :depends-on ("metaclasses")) + (:file "oodml" :depends-on ("ooddl"))) + :depends-on (functional)) + (:module generic + :pathname "" + :components ((:file "generic-postgresql") + (:file "generic-odbc") + (:file "sequences")) + :depends-on (functional)))))) -(unless (find-class 'clsql-cl-source-file) - (defclass clsql-cl-source-file (cl-source-file) ()) - (defmethod source-file-type ((c clsql-cl-source-file) (s module)) - "cl")) -(defsystem clsql - :default-component-class clsql-cl-source-file - :pathname "cl-library:clsql;" - :perform (load-op :after (op clsql) - (pushnew :clsql cl:*features*)) - :components ((:file "package") - (:file "pool" :depends-on ("package")) - (:file "loop-extension") - (:file "sql" :depends-on ("pool")) - (:file "transactions" :depends-on ("sql")) - (:file "functional" :depends-on ("sql")) - (:file "usql" :depends-on ("sql"))) - :depends-on (:clsql-base) - ) +(defmethod perform ((o test-op) (c (eql (find-system 'clsql)))) + (operate 'load-op 'clsql-tests) + (operate 'test-op 'clsql-tests :force t))