X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql.asd;h=d469b95de3baa112122893ddc28e82080d75e93c;hp=366859a88bf108d44d3df9a78dbeb1accf520734;hb=906d7a71b35ee1cd6d281623694bc90ced22c339;hpb=c4da3cfcbb955395d8a556e1f89aadad696302b7 diff --git a/clsql.asd b/clsql.asd index 366859a..d469b95 100644 --- a/clsql.asd +++ b/clsql.asd @@ -3,12 +3,10 @@ ;;;; FILE IDENTIFICATION ;;;; ;;;; Name: clsql.asd -;;;; Purpose: System definition for CLSQL-CLASSIC +;;;; Purpose: ASDF System definition for CLSQL ;;;; Authors: Marcus Pearce and Kevin M. Rosenberg ;;;; Created: March 2004 ;;;; -;;;; $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. @@ -18,43 +16,96 @@ (defpackage #:clsql-system (:use #:asdf #:cl)) (in-package #:clsql-system) -(defsystem #:clsql +#+(and clisp (not :clsql-cffi)) +(asdf:operate 'asdf:load-op 'clsql-cffi) + +;; need to load uffi for below perform :after method +(eval-when (:compile-toplevel :load-toplevel :execute) + #+:clsql-cffi + (unless (find-package 'cffi-uffi-compat) + (asdf:operate 'asdf:load-op 'cffi-uffi-compat)) + #-:clsql-cffi + (unless (find-package 'uffi) + (asdf:operate 'asdf:load-op 'uffi))) + +(defsystem clsql :name "CLSQL" - :author "" - :maintainer "" - :version "" - :licence "" - :description "A high level Common Lisp interface to SQL RDBMS." - :long-description "A high level Common Lisp interface to SQL RDBMS -based on the Xanalys CommonSQL interface for Lispworks. It depends on -the low-level database interfaces provided by CLSQL and includes both -a functional and an object oriented interface." - :depends-on (clsql-base) + :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 provides low-level +database interfaces as well as a functional and an object +oriented interface." + :version "6.4" :components ((:module sql :components - ((:module :package + ((: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 "utils" :depends-on ("package" "db-interface")) + (:file "time" :depends-on ("package" "conditions" "utils")) + (: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 ("database"))) + :depends-on (base)) + (:module syntax :pathname "" - :components ((:file "package") - (:file "kmr-mop" :depends-on ("package")))) - (:module :core + :components ((:file "expressions") + (:file "operations" + :depends-on ("expressions")) + (:file "syntax" :depends-on ("operations"))) + :depends-on (database)) + (:module functional :pathname "" - :components ((:file "classes") - (:file "operations" :depends-on ("classes")) - (:file "syntax")) - :depends-on (:package)) - (:module :functional + :components ((:file "fdml") + (:file "transaction" :depends-on ("fdml")) + #+clisp (:file "ansi-loop") + (:file "loop-extension" + :depends-on ("fdml" #+clisp "ansi-loop")) + (:file "fddl" :depends-on ("fdml"))) + :depends-on (syntax)) + (:module object :pathname "" - :components ((:file "sql") - (:file "table")) - :depends-on (:core)) - (:module :object + :components ((:file "metaclasses") + (:file "ooddl" :depends-on ("metaclasses")) + (:file "oodml" :depends-on ("ooddl"))) + :depends-on (functional)) + (:module generic :pathname "" - :components ((:file "metaclasses") - (:file "objects" :depends-on ("metaclasses"))) - :depends-on (:functional)))))) - + :components ((:file "generic-postgresql") + (:file "generic-odbc") + (:file "sequences") + (:file "command-object")) + :depends-on (functional)))))) + (defmethod perform ((o test-op) (c (eql (find-system 'clsql)))) (operate 'load-op 'clsql-tests) (operate 'test-op 'clsql-tests :force t)) + +(defmethod perform :after ((o load-op) (c (eql (find-system 'clsql)))) + (let* ((init-var (uffi:getenv "CLSQLINIT")) + (init-file (or (when init-var (probe-file init-var)) + (probe-file + (concatenate 'string + (namestring (user-homedir-pathname)) + ".clsql-init.lisp")) + (probe-file "/etc/clsql-init.lisp") + #+(or mswin windows win32 win64 mswindows) + (probe-file "c:\\etc\\clsql-init.lisp")))) + (when init-file (load init-file)))) +