X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql.asd;h=d469b95de3baa112122893ddc28e82080d75e93c;hp=74f837680515f33c9e562eb22dfbd50e1ff5e937;hb=906d7a71b35ee1cd6d281623694bc90ced22c339;hpb=18e34efea688a6758b6e997401fbc3f241da98f3 diff --git a/clsql.asd b/clsql.asd index 74f8376..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,6 +16,18 @@ (defpackage #:clsql-system (:use #:asdf #:cl)) (in-package #:clsql-system) +#+(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 "Kevin Rosenberg " @@ -25,9 +35,10 @@ :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 +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 @@ -40,8 +51,8 @@ oriented interface." (: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 "time" :depends-on ("package" "conditions" "utils")) (:file "generics" :depends-on ("package")))) (:module database :pathname "" @@ -49,7 +60,7 @@ oriented interface." ((:file "initialize") (:file "database" :depends-on ("initialize")) (:file "recording" :depends-on ("database")) - (:file "pool")) + (:file "pool" :depends-on ("database"))) :depends-on (base)) (:module syntax :pathname "" @@ -62,8 +73,9 @@ oriented interface." :pathname "" :components ((:file "fdml") (:file "transaction" :depends-on ("fdml")) + #+clisp (:file "ansi-loop") (:file "loop-extension" - :depends-on ("fdml")) + :depends-on ("fdml" #+clisp "ansi-loop")) (:file "fddl" :depends-on ("fdml"))) :depends-on (syntax)) (:module object @@ -76,7 +88,8 @@ oriented interface." :pathname "" :components ((:file "generic-postgresql") (:file "generic-odbc") - (:file "sequences")) + (:file "sequences") + (:file "command-object")) :depends-on (functional)))))) @@ -85,6 +98,14 @@ oriented interface." (operate 'test-op 'clsql-tests :force t)) (defmethod perform :after ((o load-op) (c (eql (find-system 'clsql)))) - (when (probe-file "/etc/clsql-init.lisp") - (load "/etc/clsql-init.lisp"))) + (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))))